Pricing
from $1.99 / 1,000 enriched results
Eluta.ca Scraper
Scrape Canadian jobs from Eluta.ca with full job descriptions, direct employer apply URLs (Workday, Greenhouse, Rippling, ...), structured salary, employment type, remote/hybrid signal, and 90-day repost dedup for cron jobs.
Pricing
from $1.99 / 1,000 enriched results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
5
Total users
1
Monthly active users
2 months ago
Last modified
Categories
Share
Scrapes Canadian job listings from Eluta.ca and returns clean, structured records ready for ATS automation, AI scoring, resume matching, or a personal job feed.
For each posting you get the full job description (markdown / HTML / text), the direct employer apply URL (Workday, Greenhouse, Rippling, Deloitte's portal, etc.), and structured fields including salary when published, employment type, remote/hybrid/onsite signal, employer URL, and city/province/country. Built-in 90-day repost memory means cron jobs only pay for genuinely new postings.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | required | Job-title keywords. One paginated fetch per query. |
location | string | "" | City (e.g. "Toronto"). |
province | enum | "" | Two-letter province code (ON, BC, QC โฆ). |
daysOld | integer | none | Only return jobs posted within N days. |
maxResultsPerQuery | integer | 100 | Stop after N results per query. |
fetchFullDescription | bool | true | Visit each detail page to extract the full ~5k-char description and structured fields. Turn off for cheaper listing-only mode. |
resolveApplyUrl | bool | true | Resolve Eluta's redirect to the real employer ATS URL. |
skipReposts | bool | false | Skip jobs returned by any run in the last 90 days. Use for daily/weekly cron jobs. |
useApifyProxy | bool | false | Route through Apify Proxy. Requires proxy access on your plan. |
maxConcurrency | integer | 3 | Maximum parallel HTTP requests. |
Output
Each dataset record:
{"id":"a8f19b4597790c697c01a2b86c751eda","title":"Lead Backend Developer","company":"Royal Bank of Canada","location":"Toronto, ON","city":"Toronto","province":"ON","country":"Canada","url":"https://www.eluta.ca/spl/lead-backend-developer-โฆ","applyUrl":"https://rbc.wd3.myworkdayjobs.com/en-US/RBCGLOBAL1/job/โฆ","applyUrlSource":"resolved","descriptionText":"What is the opportunity?\nWe are seeking a Lead Backend Developer โฆ","descriptionHtml":"<p>What is the opportunity?</p>โฆ","descriptionMarkdown":"What is the opportunity?\n\nWe are seeking โฆ","descriptionSnippet":"Royal Bank of Canada (Toronto, ON): What is the opportunity? โฆ","salary":{"min":95000,"max":125000,"currency":"CAD","unit":"ANNUAL"},"employmentType":"FULL_TIME","industry":"Computing - Software & Web Development","remoteType":"HYBRID","companyUrl":"http://www.rbc.com/","validThrough":"2026-06-17T00:00:00","publishDate":"2026-05-13","publishDateISO":"2026-05-13T22:55:28.000Z","postedAtRaw":"Wed, 13 May 2026 22:55:28 GMT","isRepost":false,"originalFirstSeen":null,"contentHash":"b99af4ba832dec6d","source":"eluta.ca","countryCode":"CA","scrapedAt":"2026-05-14T00:02:31.725Z"}
Use id (Eluta's stable guid) for primary deduplication and contentHash to detect when an employer edits a posting.
salary, validThrough, companyUrl, and industry are populated when the employer provides them on Eluta (typically via schema.org JSON-LD); otherwise null. remoteType is ONSITE / HYBRID / REMOTE / UNKNOWN based on a conservative heuristic over the description text.
Examples
Daily cron feed of new software roles in Toronto:
{"searchQueries":["Software Developer","Full-stack Developer"],"location":"Toronto","province":"ON","daysOld":1,"maxResultsPerQuery":50,"skipReposts":true}
One-shot bulk scrape with full details:
{"searchQueries":["Data Scientist"],"province":"ON","maxResultsPerQuery":500,"fetchFullDescription":true,"resolveApplyUrl":true}
Cheap listings-only sweep (no detail-page fetches):
{"searchQueries":["Marketing Manager"],"location":"Vancouver","maxResultsPerQuery":200,"fetchFullDescription":false}
Pricing
Pay-per-event:
| Event | Price | Notes |
|---|---|---|
actor-start | $0.00005 | Once per run. |
result-listing | $0.00099 | Per listing when fetchFullDescription: false. |
result-full | $0.00199 | Per enriched record (full description + applyUrl + structured fields). |
Indicative cost: $1.99 per 1,000 enriched jobs, $0.99 per 1,000 listings-only.
Notes
- One LIST page = 10 listings (Eluta's pagination is fixed).
- Pagination stops at
maxResultsPerQueryor when a result older thandaysOldis found. descriptionSnippetis the ~500-char Eluta RSS snippet;descriptionTextis the full extracted description (typical ~5,000 chars).- For research and personal job-search use. Respect Eluta's terms of service.
