Eluta.ca Scraper avatar

Eluta.ca Scraper

Pricing

from $1.99 / 1,000 enriched results

Go to Apify Store
Eluta.ca Scraper

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

Majid Seifi Kashani

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

8 days ago

Last modified

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

FieldTypeDefaultDescription
searchQueriesstring[]requiredJob-title keywords. One paginated fetch per query.
locationstring""City (e.g. "Toronto").
provinceenum""Two-letter province code (ON, BC, QC …).
daysOldintegernoneOnly return jobs posted within N days.
maxResultsPerQueryinteger100Stop after N results per query.
fetchFullDescriptionbooltrueVisit each detail page to extract the full ~5k-char description and structured fields. Turn off for cheaper listing-only mode.
resolveApplyUrlbooltrueResolve Eluta's redirect to the real employer ATS URL.
skipRepostsboolfalseSkip jobs returned by any run in the last 90 days. Use for daily/weekly cron jobs.
useApifyProxyboolfalseRoute through Apify Proxy. Requires proxy access on your plan.
maxConcurrencyinteger3Maximum 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:

EventPriceNotes
actor-start$0.00005Once per run.
result-listing$0.00099Per listing when fetchFullDescription: false.
result-full$0.00199Per 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 maxResultsPerQuery or when a result older than daysOld is found.
  • descriptionSnippet is the ~500-char Eluta RSS snippet; descriptionText is the full extracted description (typical ~5,000 chars).
  • For research and personal job-search use. Respect Eluta's terms of service.