Eluta.ca Scraper
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
Majid Seifi Kashani
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
8 days 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.