Job Bank Scraper - Canada Jobs, Salary & NOC Codes
Pricing
from $0.60 / 1,000 results
Job Bank Scraper - Canada Jobs, Salary & NOC Codes
Scrape Canadian job postings from Job Bank, the Government of Canada's official job board. Search by keyword plus city, province or postal code, and get salary, employer, location, NOC code, work hours and posting dates as clean structured fields.
Pricing
from $0.60 / 1,000 results
Rating
0.0
(0)
Developer
Akhil rajesh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Extract structured Canadian job postings from Job Bank Canada (jobbank.gc.ca), the Government of Canada's official job board — with salaries, locations, NOC codes and posting dates already parsed into clean fields.
Just enter a job keyword and a location (e.g. software developer / Toronto, ON) to get a ready-to-use table of openings. Or search all of Canada by leaving the location empty.
What you get
| Field | Example |
|---|---|
title | building maintenance worker |
employer | Access Property Development |
city / province | Hamilton / ON |
salaryMin / salaryMax | 30.38 / 38.00 |
salaryPeriod | HOUR |
salaryText | $ 30.38 HOUR hourly |
workHours | 42.5 hours per week |
employmentType | Permanent employment Full time |
education | No degree, certificate or diploma |
experience | Experience an asset |
workArrangement | On site |
nocCode | 73201 |
benefits | ["Health benefits", "Dental plan"] |
datePosted / validThrough | 2026-09-10 / 2026-10-09 |
postedOn | Job Bank |
url | https://www.jobbank.gc.ca/jobsearch/jobposting/50262992 |
Two kinds of posting. Job Bank shows postings that employers publish on Job Bank itself, and postings it republishes from partner job boards such as Talent.com. Only the first kind has the education, experience, language, work-hours and benefits sections, so partner postings come back with title, employer, location, pay and dates only. postedOn says which is which (Job Bank or the partner's name). Partner postings can be the majority: on a software developer search in Toronto in September 2026, 48 of 50 came from Talent.com. Filter on postedOn: "Job Bank" when you need the full requirements.
Two ways to use it
1. Keyword search (easiest)
Job keyword: software developerLocation: Toronto, ON
That's the whole input. Results come back one row per posting with salary and location pre-parsed.
2. Direct posting URLs (Advanced)
Paste specific Job Bank posting URLs (or just the numeric job IDs) when you want exact records.
Use cases
- Job market research — measure hiring volume and pay by city, industry or role
- Salary benchmarking — compare advertised pay ranges across provinces
- Recruiting lead generation — find employers actively hiring in a niche
- Labour market analysis — track demand by NOC occupation code
- Job alerts & monitoring — schedule a daily run and diff the results
- AI/LLM datasets — clean Canadian labour data for training or analysis
Why this Job Bank scraper works
- Reads Job Bank's structured posting data directly, so salary, hours, education and experience come back as separate fields rather than one blob of text (on postings employers publish on Job Bank; see
postedOn) - Handles pagination automatically across search result pages
- Stops cleanly at your result cap and at any per-run spending limit
- Skips postings that matched only an employer's name — Job Bank also searches employer names, so a bare
developerwould otherwise return property managers and plumbers at … Developments Ltd.; those are dropped before their pages are fetched - One bad posting never fails the run — it returns an error row instead
- No login, no API key: Job Bank is public Government of Canada data
How much does it cost to scrape Job Bank?
This Actor uses pay-per-event pricing, and platform usage is included, so there's nothing else to pay. You pay for each row in the results (a posting that can't be loaded returns one row explaining why), plus $0.00005 each time a run starts (charged per GB of memory; the default is 1 GB). The price per posting depends on your Store discount tier, which comes with your Apify plan:
| Discount tier | Per 1,000 postings | Example run (50 postings) |
|---|---|---|
| Free | $1.00 | $0.050 |
| Bronze | $0.80 | $0.040 |
| Silver | $0.70 | $0.035 |
| Gold and above | $0.60 | $0.030 |
To cap spending, set a maximum cost per run in the run options; the Actor stops cleanly when it reaches the limit.
Input
| Field | Type | Description |
|---|---|---|
searchQuery | string | Job keyword — e.g. software developer, registered nurse. Specific job titles work best |
location | string | City + province (Toronto, ON), bare city, province (Alberta), or postal code. Empty = all of Canada |
maxResults | int | Stop after this many postings (default 50) |
maxPages | int | Search pages to walk (default 5, ~25 postings/page) |
sort | string | D = newest first, B = best match |
distanceKm | int | Radius around the city/postal code, 10–500 km (default 40). Widening it finds many more jobs |
widenSearch | bool | Widen a thin search step by step (bigger radius, the province, all of Canada) until Max results is reached; widened rows carry searchScope (default on) |
postingUrls | array | Advanced: exact posting URLs / IDs (takes priority) |
proxy | proxy | Advanced: optional — usually unnecessary |
debug | bool | Advanced: verbose logging for troubleshooting (default off) |
Sample output
{"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/47123456","jobId": "47123456","title": "technical sales specialist","employer": "Connectability IT Support","city": "North York","province": "ON","postalCode": "M2N 0B6","salaryMin": "41.76","salaryCurrency": "CAD","salaryPeriod": "HOUR","salaryText": "$ 41.76 HOUR hourly / 35 hours per week","workHours": "35 hours per week","employmentType": "Permanent employment Full time","education": "College/CEGEP","experience": "2 years to less than 3 years","language": "English","shift": "Day","nocCode": "62100","workArrangement": "Hybrid","datePosted": "2026-07-17","validThrough": "2026-09-24","postedOn": "Job Bank","benefits": ["Bonus", "Dental plan", "Health care plan", "Vision care benefits"],"searchQuery": "support","searchLocation": "Toronto, ON","source": "jobbank.gc.ca","fetchEngine": "standard","scrapedAt": "2026-09-11T17:15:01.400Z"}
Annual-salary postings show salaryPeriod: "YEAR" with the same fields, e.g. "salaryMin": "70000", "salaryText": "$ 70,000 to $ 80,000 YEAR annually".
Results are never thin or empty
Job Bank's matching is literal — It support is read as the phrase "information technology support", and only a handful of such postings may exist in the whole country. A narrow keyword plus a small radius can therefore return very few jobs.
The Actor widens the search automatically to fill your Max results, instead of handing back a short or empty list — exactly like job boards that say "no matches nearby, showing results in Ontario". The widening ladder (default ON):
within 40 km → within 100 km → within 250 km → entire province → all of Canada
It stops as soon as Max results is reached, so results stay as local as possible. Each widened row carries a searchScope field telling you how far we had to reach, e.g. within 100 km of Toronto, ON or across Canada. Rows matching your location exactly leave it empty.
Turn this off with Widen search in the input if you need strict location matching.
Getting even more results
| Do | Why |
|---|---|
Use a broader keyword (support or help desk instead of It support) | Biggest lever — Job Bank matches phrases literally |
| Raise Distance radius | Starts the ladder further out |
| Leave Location empty | Searches all of Canada from the start |
| Raise Max results / Max search pages | Ladder keeps climbing until this is met |
Example:
support+ Toronto returned 20/20 postings.It supporttopped out at 4 — that is every such posting Job Bank has in Canada.
Troubleshooting
| Symptom | Fix |
|---|---|
| Fewer results than expected | Job Bank caps search pagination — raise Max search pages, or narrow the keyword |
salaryMin is null | That employer chose not to publish pay (common in some sectors). salaryText may still hold wording |
A row has an error field | That posting was removed or temporarily unavailable — the run continues |
| No results at all | Check the keyword spelling or widen the location |
| Status says postings matched only an employer's name | Use a specific job title, e.g. software developer rather than developer |
Other Actors by this developer
- Indeed Jobs Scraper - Canada, US, UK, Australia & More: job listings from Indeed in Canada, the US and six more countries, with full descriptions, pay and the employer's apply link
- Wellfound (AngelList) Jobs Scraper - Salary & Equity: startup jobs from Wellfound (formerly AngelList Talent) with salary and equity ranges, company size and an exact Y Combinator flag
- SEEK, JobStreet & JobsDB Jobs Scraper: jobs from SEEK, JobStreet and JobsDB in Australia, New Zealand and six Asian markets, with pay as numbers, applicant counts and change tracking
Data source
All data comes from Job Bank (jobbank.gc.ca), published by the Government of Canada. This Actor reads publicly available postings. Please respect the site's terms of use and rate limits; the Actor already throttles its requests.
Disclaimer: This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by the Government of Canada or Job Bank. All product and company names are the property of their respective owners.
Limitations
- Covers Job Bank only — postings that appear exclusively on other boards are not included
- Salary is only present when the employer published it
- Postings Job Bank republishes from partner boards (
postedOnother thanJob Bank) have no education, experience, language or work-hours details - Some postings list multiple locations; the primary location is returned