Job Bank Canada Scraper — jobbank.gc.ca Jobs & Salaries
Pricing
from $0.00075 / job
Job Bank Canada Scraper — jobbank.gc.ca Jobs & Salaries
Scrape Canada's Job Bank (jobbank.gc.ca): job title, employer, city, province, salary range, employment type, vacancies, NOC code, median wage, posting and expiry dates, full description and apply link. Filter by keyword, province and city.
Pricing
from $0.00075 / job
Rating
0.0
(0)
Developer
hiper soft
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Job Bank Canada Scraper: jobbank.gc.ca Jobs, Salaries & NOC Codes
Job Bank Canada Scraper extracts job postings from Job Bank (jobbank.gc.ca), the Government of Canada's national job board. For every job you get the title, employer, city, province, salary range, employment type, number of vacancies, NOC occupation code, regional median wage, posting and expiry dates, full description and apply link. You can search by keyword, province and city, then export to CSV, Excel or JSON.
What does Job Bank Canada Scraper do?
Job Bank lists jobs from employers across Canada, together with postings from partner job sites such as Talent.com and Jobillico. Many of these employers hire foreign workers through the LMIA program. This scraper turns the job board into a structured dataset:
- 🇨🇦 All of Canada or one province/territory (Ontario, BC, Alberta, Quebec…), with an optional city filter.
- 🔎 Any keyword: nurse, truck driver, cook, welder, software developer, early childhood educator…
- 💵 Salary: the text as shown plus parsed salaryMin, salaryMax and unit (hour, year…).
- 🧾 NOC code and median wage for the occupation and region, a unique Job Bank data point.
- 👥 Vacancies, employment type and work location (on site, hybrid, remote).
- 📝 Full job description and apply link to the original posting.
What data can you scrape from Job Bank?
| Field | Description |
|---|---|
| Job ID and link | Job Bank posting ID and URL |
| Title and original title | Job Bank title and the employer's original title |
| Company | Employer |
| City and province | Job location |
| Salary | Salary text, min, max and unit |
| Employment type | e.g. Permanent employment, Full time |
| Work location | On site, hybrid or remote |
| Vacancies | Number of open positions |
| NOC code and occupation | National Occupational Classification |
| Median wage and region | Regional median wage for the occupation |
| Posted and expiry dates | Posting date and "advertised until" |
| Source | Job Bank or partner site, with its job number |
| Description | Full job description |
| Apply link | Link to the original posting |
Use cases for Canadian job data
- Immigration consultants and LMIA research: find employers hiring in specific occupations and provinces.
- Recruiting and staffing: build lists of Canadian employers hiring nurses, drivers, trades and more.
- Labour market analysis: compare posted salaries with median wages by NOC code and region.
- Job boards and newsletters: feed fresh Canadian jobs into your site or community.
- Sales prospecting: hiring employers are growing businesses, so they make good B2B leads.
- Academic and policy research: track vacancies by occupation, province and time.
How to scrape Job Bank Canada
- Click Try for free to open Job Bank Canada Scraper in Apify Console.
- Enter job titles or keywords, then pick a province and optionally a city.
- Keep Include job details on for salary, NOC code, vacancies and description.
- Set Max jobs and click Start.
- Download the jobs as CSV, Excel or JSON.
Input
Example input
{"keywords": ["nurse", "truck driver"],"province": "ON","cityContains": "Toronto","sortBy": "date","includeDetails": true,"maxItems": 300}
| Field | Description |
|---|---|
| Job titles or keywords | One search per keyword. Leave empty for all jobs. |
| Province or territory | Limit to one province or territory. |
| City contains | Only jobs whose city contains this text. |
| Sort by | Newest first or best match. |
| Include job details | Adds salary range, NOC, vacancies, median wage, expiry, description and apply link. |
| Max jobs | Stop after this many jobs (0 = no limit). |
Get new Job Bank postings every day
Keep Sort by on "Newest first", set a small Max jobs, and create an Apify schedule. Compare runs by jobId to find new postings.
Output
Job example
{"jobId": "50419517","title": "emergency nurse","originalTitle": "Travel Emergency Registered Nurse – BC Assignment","company": "HealthOPM","city": "Toronto","province": "ON","salary": "$50.00 to $55.00 hourly","salaryMin": 50,"salaryMax": 55,"salaryUnit": "HOUR","employmentType": "Full time","workLocation": "On site","vacancies": 1,"nocCode": "31301","occupation": "emergency nurse","medianWage": "40.59 $/hour","region": "Toronto Region","postedDate": "2026-10-03","validThrough": "2026-10-11","source": "Talent.com","url": "https://www.jobbank.gc.ca/jobsearch/jobposting/50419517","description": "Travel + Housing: Provided …"}
Output schema
| Field | Type | Description |
|---|---|---|
jobId | string | Job Bank posting ID. |
url | string (URL) | Job Bank posting. |
title | string | Job title. |
originalTitle | string | Employer's original title (partner postings). |
company | string | Employer. |
city | string | City. |
province | string | Province or territory code. |
salary | string | Salary as shown. |
salaryMin, salaryMax | number | Parsed salary range. |
salaryUnit | string | HOUR, YEAR, etc. |
employmentType | string | Employment terms. |
workLocation | string | On site, hybrid or remote. |
vacancies | integer | Number of vacancies. |
nocCode | string | NOC occupation code. |
occupation | string | Occupation name. |
medianWage | string | Regional median wage. |
region | string | Economic region. |
postedDate | string | Posting date (YYYY-MM-DD). |
validThrough | string | Advertised until. |
source | string | Job Bank or partner site. |
sourceJobNumber | string | Job number on the source site. |
flags | array | Labels such as New. |
description | string | Full job description. |
applyUrl | string (URL) | Link to the original posting. |
searchTerm | string | Keyword that found the job. |
scrapedAt | string (ISO date) | When the row was collected. |
How much does it cost to scrape Job Bank?
Job Bank Canada Scraper uses pay-per-job pricing: a small fixed price per job, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.
More job data
- Indeed Scraper: jobs from Indeed.
- LinkedIn Jobs Scraper: jobs from LinkedIn.
- Company Jobs Scraper: jobs straight from company career pages.
- Remote Jobs Aggregator: remote jobs from many boards.
FAQ
How many jobs are on Job Bank? Usually tens of thousands of open jobs across Canada. Use keywords and the province filter to narrow it down.
Does it include salaries? Yes. Most Job Bank postings show a salary, and you get both the text and parsed min/max values with the unit.
What is the NOC code?
The National Occupational Classification code Canada uses for occupations (e.g. 31301 for registered nurses). It's useful for immigration and labour market research.
Can I scrape jobs in French? Job Bank is bilingual. Search with English or French keywords, and postings appear as published.
How fresh is the data? Every run reads the live job board. Sort by newest to get the latest postings first.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate Job Bank Canada Scraper with other apps? Job Bank Canada Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape Job Bank? The scraper only collects publicly posted job offers. You are responsible for using the data in line with Job Bank's terms and Canadian privacy law.
Related Actors
Notes
Original clean-room implementation. Returns only public data; you are responsible for compliance with Job Bank's terms. Not affiliated with the Government of Canada.