Canada Job Bank Postings (Open Data)
Pricing
from $1.00 / 1,000 job posting returneds
Canada Job Bank Postings (Open Data)
Filter and compare the Government of Canada's monthly Job Bank job postings open data by NOC, NAICS sector, province, city, wage and keyword. Uses the official open data files, no website scraping.
Pricing
from $1.00 / 1,000 job posting returneds
Rating
0.0
(0)
Developer
Chris O'Byrne
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Share
Filter and compare the Government of Canada's monthly Job Bank job postings. This Actor reads the official open data files published on open.canada.ca, not the Job Bank website. It returns clean, normalized records, and it can compare two months to show how posting counts and wages moved.
Contains information licensed under the Open Government Licence – Canada.
What does it do?
Employment and Social Development Canada publishes a file every month with the job postings advertised on Canada's National Job Bank website: Job Postings Advertised on Canada's National Job Bank Website. The files are large (about 46 MB each, UTF-16 text with 65 columns). This Actor finds the right file for you, reads it as a stream, applies your filters and returns tidy JSON.
It has two modes:
- Postings: one record per job posting, with the title, NOC occupation, NAICS sector, location, wage (as posted and as an hourly estimate), hours, start date, vacancy count and first posting date.
- Month over month: compares two monthly files and returns an overview, posting counts and median wage by NOC occupation and by province, and the NOC codes that appeared or disappeared.
You can filter by NOC code (2021 or 2016), NAICS sector, province or territory, city, wage range, keyword, employment type, posting source and posting date. English and French files are supported.
Who is it for?
Labour market analysts, workforce boards, recruiters, economic development offices, journalists, researchers and anyone who tracks demand for an occupation in a region without parsing the raw files themselves.
What is and is not in the data
In the files:
- One row per posting location, with the job title, original job title, NOC 2021 and NOC 2016 code and name, NAICS sector name, province or territory, city, economic region, first three characters of the postal code, vacancy count, employment type and term, wage as posted with its pay period, minimum and maximum, hours, start and end dates, and the first posting date.
- Only postings first advertised in the file's month. Month over month compares two sets of new postings, not the stock of open jobs.
Not in the files, and therefore not returned by this Actor:
- No employer names, so no employer filter and no "new employers" report.
- No temporary foreign worker flag.
- No contact names, phone numbers or email addresses.
- No link to the posting on the Job Bank website, and no posting end or expiry date.
- No live data: files are published monthly, and each covers one month.
Added by this Actor, and estimates only: hourly wage figures (yearly pay divided by 2,080 hours, monthly by 173.33, weekly by 40, bi-weekly by 80, daily by 8; values under $5 or over $1,000 an hour are dropped as probable data entry errors), and the 2 digit NAICS sector code.
Why use open data instead of a scraper?
The Job Bank Terms of Use for job seekers say Job Bank prohibits "the use of any script, robot, spider, Web crawler, screen scraper, automated query program" to access its services. This Actor never requests a jobbank.gc.ca page. It downloads only the government's own published files, under a licence that allows commercial reuse with attribution. The trade-off is that you get what the file contains (see the section above): monthly data, no employer names and no live postings.
Input
| Field | What it does |
|---|---|
| Mode | Postings, or Month over month |
| Month | latest or YYYY-MM. Each file holds postings first advertised in that month |
| NOC codes | 5 digit NOC 2021 (for example 21231), 4 digit NOC 2016, or a prefix such as 2123* |
| Provinces, Cities | Names or codes (ON, BC, QC), accents and case ignored |
| NAICS sector | 2 digit sector codes (72, 62) or words from the sector name (health, laundry) |
| Keywords | Any word in the job title, original title or NOC occupation name |
| Minimum / maximum hourly wage | Compared with the posting's wage range, converted to an hourly estimate |
| Employment type, Posting source, Placement agencies, Posted from / to | Further filters |
| Order of results, Maximum postings | file-order stops reading as soon as enough postings are found |
| Compare with month, Maximum rows, Minimum postings, NOC by province rows | Month over month options |
The prefilled input returns 25 postings for NOC 21231 (Software engineers and designers) in Ontario from the latest file.
Output
Each posting looks like this (shortened):
{"recordType": "posting","postingId": "15846549","title": "cloud administrator","nocCode": "21231","nocTitle": "Software engineers and designers","naicsSector": null,"listingSource": "external job board","province": "Ontario","city": "Richmond Hill","vacancies": 1,"employmentTerm": "Term or contract","wageText": "$18.00 to $22.00 hourly","wagePer": "Hour","wageMin": 18,"wageMax": 22,"hourlyWageMin": 18,"hourlyWageMax": 22,"firstPostingDate": "2026-09-03","sourceMonth": "2026-09","sourceUrl": "https://open.canada.ca/data/dataset/ea639e28-.../download/job-bank-open-data-all-job-postings-en-sept2026.csv","attribution": "Contains information licensed under the Open Government Licence – Canada."}
postingId is the file's "WIC Job Location Snapshot ID". It is not documented as a Job Bank posting number, so the Actor does not turn it into a link to jobbank.gc.ca. sourceUrl points to the open data file the record came from.
Month over month mode returns a monthly-summary row (totals, change, median hourly wage, new and dropped NOC codes), then noc-change rows (largest changes first), province-change rows and, if requested, noc-province-change rows. Every run also stores a RUN_SUMMARY record with the files used, the filters, the licence and the attribution statement.
Pricing
Pay per event. You pay only for results.
| Event | Price | When it is charged |
|---|---|---|
posting-record | $0.001 | Once per posting returned in Postings mode |
monthly-summary | $0.02 | Once per month over month summary (one overview plus its breakdown rows) |
Nothing is charged for a run that finds no matching postings, and a summary is not charged if either month has no matching postings. Set a maximum cost per run in the run options and the Actor stops when the limit is reached. Platform usage is covered by these prices.
Data source and licence
Source: Job Postings Advertised on Canada's National Job Bank Website, Employment and Social Development Canada, on open.canada.ca, released under the Open Government Licence – Canada. The licence's attribution statement, which this Actor adds to every record, is: "Contains information licensed under the Open Government Licence – Canada." If you republish the data, keep that statement and link to the licence. The licence does not cover personal information, and the Actor returns no contact names, phone numbers or email addresses. Job titles and wage text that contain an email address or phone number are returned as null, and only the first three characters of a postal code are kept.
This Actor is not affiliated with or endorsed by the Government of Canada, Employment and Social Development Canada or Job Bank.
FAQ
Is this live data? No. The files are published once a month, a few days after month end. The September 2026 file was posted on 2026-10-02.
What does one monthly file contain? The postings first advertised in that month. In the August and September 2026 files no posting appears in both, and every first posting date falls in the file's month. Month over month mode therefore compares two sets of newly advertised postings, not the stock of open jobs.
Why is NAICS often empty? Postings from partner job boards ("external job board") do not carry a NAICS sector, education or experience. In the September 2026 file that is 30,108 of 52,368 postings. Filtering by NAICS keeps only postings placed directly on Job Bank.
Are the hourly wages exact? No. They are estimates: yearly pay divided by 2,080 hours, monthly by 173.33, weekly by 40, bi-weekly by 80, daily by 8. Hourly values below $5 or above $1,000 are treated as data entry errors and returned as null (the posted wageMin and wageMax are still returned).
Can I filter by employer or temporary foreign worker? No. The monthly files do not contain employer names or a temporary foreign worker flag, so the Actor cannot provide them.
How long does a run take? The prefilled run (25 postings) finished in about 4 seconds on the platform. A month over month summary reads two files and took about 6 seconds in testing. Runs that must read a whole file take longer, mostly for the download.
Which months are available? Every month listed in the dataset with a download link. The Actor reads the list from the open.canada.ca catalog at run time, so new months appear without an update.
Limitations
- Monthly files only, with no live or expired posting status.
- No employer name, contact details, posting URL or temporary foreign worker flag in the source.
- One posting row is one job location snapshot. A posting with several vacancies is one row with a vacancy count.
- Values of "NA" and "*No data" in the file become null.
- The file gives a NAICS sector name, not a code. This Actor adds a 2 digit code for names that are NAICS Canada 2017 sectors (checked against the Statistics Canada sector list). A few names in the file are subsectors (for example Employment services, Repair and maintenance, Private households); these are returned by name only, with
naicsCodesnull, and can be filtered by words but not by code. - French file values are mapped to the English values for categories. Job titles stay in French.
Support
Open the Issues tab of this Actor for questions, bugs or feature requests. Contact: chris@jetlaunch.net.