JobBank Scraper - Canada Jobs, Salaries & Employers
Pricing
from $0.99 / 1,000 results
JobBank Scraper - Canada Jobs, Salaries & Employers
Scrape jobs from Canada's Job Bank (jobbank.gc.ca), the federal government job board. Get job title, employer, location, salary (min/max/unit), employment type, posting date and full description. Search by keyword + location, or paste job URLs. No proxy setup needed. JSON or CSV, pay per result.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
JobBank Scraper — Canada Jobs, Salaries, Employers & LMIA Leads
Scrape Canada's federal Job Bank (jobbank.gc.ca) by keyword and location, or from pasted job/search URLs. Get structured job title, employer, location, salary (min/max/unit), employment type, posting dates and full description — plus two things the raw site never gives you in one place: an LMIA filter for immigration and foreign-worker leads, and optional employer contact-email discovery.
Built for recruiters, immigration consultants, RCICs, lead-generation teams and labour-market analysts who need Job Bank data as clean rows instead of paging through the government site by hand.
Why use this scraper
- LMIA filter that the search UI buries. Keep only jobs tied to a Labour Market Impact Assessment — the strongest public signal that an employer will sponsor a temporary foreign worker. Filter to LMIA requested or Approved LMIA with one dropdown.
- Real salary structure, not a string. Salaries come back parsed into
min,max,currencyandunit(hourly / yearly), so you can sort and filter numerically. - Optional employer contact emails. Turn on enrichment and each row gains a best-effort
contactEmail,contactWebsiteand a social-profile block, discovered from the employer's own web presence. - Keyword + location or direct URLs. Search
nurseinToronto, or paste any Job Bank search or/jobposting/{id}URL — both are auto-routed. - Fast and clean. Job Bank is a low-friction government site; the actor streams pages concurrently and returns tidy, deduplicated rows.
Overview
Job Bank is the Government of Canada's official job board. This actor reads its public search results and job postings, parses the structured (RDFa) job data on each posting, and returns one row per job. It handles pagination, direct URL input, sorting, the LMIA immigration facet, and opt-in contact-email enrichment.
Supported inputs
| Input | What it does |
|---|---|
searchTerms | Keywords to search, e.g. developer, nurse, truck driver. |
location | City, province or region, e.g. Toronto, British Columbia. Empty = all of Canada. |
startUrls | Paste Job Bank search-result or /jobposting/{id} URLs — each is auto-routed. |
sort | Result order: most recent, distance, or salary. |
lmia | Immigration facet: Any, LMIA requested, or Approved LMIA. |
enrichEmails | Opt-in employer contact-email discovery (billed only when an email is found). |
maxItems | Hard cap on jobs collected and billed. |
maxConcurrency | Parallel requests (Job Bank is fast; this can be high). |
proxy | Optional proxy override. The actor already routes through residential proxy at no extra cost. |
Use cases
- Immigration & foreign-worker sourcing. Filter to LMIA-tied postings to build a list of employers actively hiring — and likely to sponsor — temporary foreign workers.
- Recruitment & staffing. Pull live vacancies by trade, region and salary band for candidate matching and market mapping.
- Lead generation. Enable email enrichment to turn LMIA and hiring signals into contactable employer leads.
- Labour-market research. Track posting volumes, salary ranges and employment types across provinces over time.
How it works
- Each keyword + location becomes a Job Bank search URL (with your sort and LMIA facet applied server-side); pasted URLs are classified as search or job pages.
- Search pages are streamed and their job links fanned out concurrently.
- Each job posting is fetched and parsed from its on-page structured data into a normalized row.
- If enrichment is on, the employer name and location are used to discover a website and contact email, which are attached to the row.
- Rows are pushed to the dataset, deduplicated by job.
Output sample
{"type": "job","source": "jobbank.gc.ca","jobId": "40123456","url": "https://www.jobbank.gc.ca/jobsearch/jobposting/40123456","title": "Registered Nurse (R.N.)","employer": "Wolfville Nursing Homes Ltd.","location": "Wolfville, NS","locality": "Wolfville","region": "NS","postalCode": "B4P","salary": { "value": "$38.00 hourly", "min": 38, "max": 42, "currency": "CAD", "unit": "hour", "raw": "$38.00 to $42.00 hourly" },"employmentType": ["Permanent", "Full time"],"datePosted": "2026-09-05","description": "…","contactEmail": "hr@example.com","contactWebsite": "https://example.com","scrapedAt": "2026-09-07T09:36:00.000Z"}
contactEmail, contactWebsite and the emailEnrichment block are present only when enrichEmails is enabled and a match is found.
Key output fields
title, employer, location / locality / region / postalCode, salary (min / max / currency / unit), employmentType, datePosted, description, url, jobId, scrapedAt, and — with enrichment — contactEmail, contactWebsite, emailEnrichment.
Pricing
Pay-per-event:
- $0.99 per 1,000 results (one event per job returned).
- $0.05 per contact email found — charged only on rows where enrichment actually returns an email; costs nothing when
enrichEmailsis off. - A small per-run start fee based on memory, as standard on Apify.
FAQ
Do I need a proxy? No. The actor routes through residential proxy by default at no extra cost. You can supply your own under the proxy input if you prefer.
How current is the data? It reads Job Bank live at run time, so results reflect what is on the site when the run starts.
What is the LMIA filter for? LMIA-tied postings signal employers open to hiring temporary foreign workers — the highest-value segment for immigration and cross-border recruitment work.
Will every row have a contact email? No. Email discovery is best-effort and only succeeds for employers with a findable web presence. You are billed only when an email is found.
For AI agents & LLM apps
Every row is flat, typed JSON with numeric salary fields and a stable schema, ready to feed a retrieval pipeline, an agent tool call, or a spreadsheet without post-processing. Point an MCP-enabled agent at this actor to pull live Canadian labour-market data on demand.
Disclaimer
This actor collects only publicly available information from jobbank.gc.ca. Use the data in compliance with applicable laws and the source site's terms. It is your responsibility to ensure your use of scraped data, including any personal data such as contact emails, complies with GDPR, PIPEDA and other applicable regulations.
SEO keywords
Canada Job Bank scraper, jobbank.gc.ca scraper, Canadian jobs API, LMIA jobs scraper, LMIA employer list, foreign worker jobs Canada, Canada job postings data, employer contact emails Canada, Canadian salary data, immigration job leads, Job Bank Canada export, recruitment data Canada.