Canada Job Bank data: job postings, NOC codes and salaries in code
Employment and Social Development Canada (ESDC) publishes the job postings advertised on Canada's national Job Bank as monthly open-data files on open.canada.ca, under the Open Government Licence – Canada. Each row is one posting, with its NOC occupation codes, location, vacancies, posting date and, for most rows, a posted salary range. No key is needed.
This guide is independent and is not an official Job Bank or Government of Canada resource.
List the monthly files in Python
The open.canada.ca catalogue has a public API. This lists the newest files in the Job Bank dataset:
import json, urllib.request
url = "https://open.canada.ca/data/api/action/package_show?id=ea639e28-c0fc-48bf-b5dd-b8899bd43072"
with urllib.request.urlopen(url, timeout=60) as r:
pkg = json.load(r)["result"]
print(pkg["title"])
for res in pkg["resources"][:4]:
print(res["name"], res["language"], res["url"])
print(len(pkg["resources"]), "files")
On 31 October 2026 it printed the September 2026 English and French files first, then August, and 90 files in all.
Things that trip people up
- The files change format. Most months are UTF-16, tab-separated, even though the file ends in
.csv. Some 2024 months are UTF-8 and comma-separated, and columns have been added over time. Read by column name, not by position. - Each month comes in English and French. The French files have French column names and values, so pick one language.
- Months arrive late. A month's file appears a few weeks after the month ends. Files go back to January 2023.
- Rows describe the job, not the employer. The open data has no employer names, contact details or apply links, and the postal area is the first three characters of the postcode.
- Two kinds of posting. More than half the postings in recent files are shared to Job Bank from external job boards. In September 2026 nearly all of those had a salary range, but few had hours and none had education or experience. Postings made on Job Bank by employers have all of these.
- Be gentle with the server. open.canada.ca asks for 20 seconds between requests, and a full month is roughly 50,000 to 110,000 postings.
We built this
Disclosure: Your Evenings built and sells this. It's independent and isn't operated, sponsored, approved or endorsed by Employment and Social Development Canada, Job Bank or the Government of Canada. The Canada Job Bank Data Actor on Apify Store reads the same monthly files and gives every month the same row shape. You can filter by month, job title, NOC 2021 code (or its first digits), province or territory, city, employment type, who posted it and minimum pay for a salary period. In monitor mode, scheduled monthly, it returns each new month once. It reads the English files.
It costs $0.002 per posting returned, plus $0.01 for a monitor run that finds a new month (base Apify prices; higher plans pay less). Status rows, such as no matches, are free.
FAQ
Does Job Bank open data need a key? No. The monthly files on open.canada.ca are public and need no key. They are published under the Open Government Licence – Canada.
How far back does the data go? The monthly files start in January 2023. Each month's file appears a few weeks after the month ends.
How do I get salaries by NOC code? Filter on the NOC 2021 code and read the posted salary range and salary period on each row. The Actor takes NOC codes or their first digits in nocCodes.
Are employer names included? No. The open data has no employer names, contact details or apply links.
Product names and logos belong to their owners. Your Evenings is not affiliated with or endorsed by them. Canada job postings from the Job Bank open data on open.canada.ca, under the Open Government Licence – Canada. Your Evenings is not affiliated with or endorsed by Employment and Social Development Canada, Job Bank or the Government of Canada.
