Canadian JobBank Scraper avatar

Canadian JobBank Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Canadian JobBank Scraper

Canadian JobBank Scraper

This scraper collects job postings from JobBank.ca search URLs. It paginates automatically, visits detail pages, and outputs a structured dataset.

Pricing

from $5.00 / 1,000 results

Rating

5.0

(1)

Developer

Ilia

Ilia

Maintained by Community

Actor stats

2

Bookmarked

4

Total users

2

Monthly active users

a month ago

Last modified

Share

JobBank.ca Job Scraper

This scraper collects job postings from JobBank.ca search URLs. It paginates automatically, visits detail pages, and outputs a structured dataset.

What it does

  • Accepts a list of JobBank.ca search URLs
  • Collects postings from all result pages
  • Fetches details (including descriptions)
  • Outputs one dataset item per job

Input

urls (required)

List of JobBank.ca search URLs. In Apify Console this is an array of objects with the url key.

maxPositionsPerUrl (optional)

Limit the number of positions per URL (0 = no limit).

proxyConfiguration (optional)

Standard Apify proxy configuration. Example: { "useApifyProxy": true }.

Example input

{
"urls": [
{ "url": "https://www.jobbank.gc.ca/jobsearch/jobsearch?searchstring=software&locationstring=&locationparam=" }
],
"maxPositionsPerUrl": 100,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

One dataset item per job with the following fields:

  • searchUrl — source search URL
  • url — job posting URL
  • title — job title
  • company — company name
  • location — normalized location
  • provinceCode — province code (e.g., AB)
  • salary — salary text (without hours section)
  • hoursValue — numeric hours value (e.g., 80)
  • hoursPeriod — period (week, bi-weekly, month, year, day, or null)
  • hoursPerWeek — computed hours per week (if possible), otherwise null
  • datePostedText — as shown on the site (e.g., January 26, 2026)
  • datePostedYYYY-MM-DD
  • i — position of the job in the search results for this URL (starts at 1)
  • id — postingId
  • jobNumber — job number
  • noc — NOC code
  • directApply — direct apply flag
  • remote — remote flag
  • onsite — onsite flag
  • newNew flag
  • flags — array of flags from the listing card
  • externalJobLink — external link (if directApply = false)
  • descriptionHtml — description in HTML
  • descriptionText — description as text
  • scrapedAt — ISO timestamp

Example item

{
"searchUrl": "https://www.jobbank.gc.ca/jobsearch/jobsearch?sort=M&fprov=AB",
"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/48382499",
"title": "chef",
"company": "The Belgravia Hub Inc.",
"location": "Edmonton, AB",
"provinceCode": "AB",
"salary": "$36.50 hourly",
"hoursValue": null,
"hoursPeriod": null,
"hoursPerWeek": null,
"datePostedText": "January 21, 2026",
"datePosted": "2026-01-21",
"id": "48382499",
"jobNumber": "3491105",
"noc": "63200",
"directApply": true,
"remote": false,
"onsite": true,
"new": true,
"flags": ["New", "On site", "Direct Apply"],
"externalJobLink": null,
"descriptionHtml": "...",
"descriptionText": "...",
"scrapedAt": "2026-01-30T10:30:45.123Z"
}

Notes

  • Start URLs must be search result pages on JobBank, not individual job postings.
  • Dataset order is not guaranteed (requests run in parallel). Use i for the listing position.
  • When proxy is enabled, requests go through Apify Proxy.