Quickstart
The Jobs API serves active job postings in Canada and the United States, collected from employers' career sites and applicant tracking systems. Every response is JSON over HTTPS. New here? Read how the API works.
1. Get an API key
Create an account; your organization starts a free 7-day trial with 500 jobs and 50 requests. Then create a key on the API keys page. Keys look like tja_live_… and are shown once.
2. Make a request
Search active Canadian jobs with keywords and a province (add country=US and state= for the United States):
export THEJOBSAPI_KEY="tja_live_..."
curl "https://api.thejobsapi.com/v1/jobs?q=registered%20nurse&province=ON&limit=10" \
-H "Authorization: Bearer $THEJOBSAPI_KEY"const response = await fetch("https://api.thejobsapi.com/v1/jobs?q=registered%20nurse&province=ON&limit=10", {
headers: { Authorization: `Bearer ${process.env.THEJOBSAPI_KEY}` },
});
if (!response.ok) throw new Error((await response.json()).error);
const { jobs, next_cursor } = await response.json();import os, requests
response = requests.get(
"https://api.thejobsapi.com/v1/jobs",
params={"q": "registered nurse", "province": "ON", "limit": 10},
headers={"Authorization": f"Bearer {os.environ['THEJOBSAPI_KEY']}"},
timeout=30,
)
response.raise_for_status()
jobs = response.json()["jobs"]3. Page through results
Each page returns next_cursor. Pass it back as cursor to get the next page; it is null on the last page. See Search jobs.
4. Keep your copy in sync
To mirror jobs into your own database, poll the feeds: new jobs every hour, expired jobs to delete and modified jobs once a day. They take Google-style search and full-name locations across both countries (your first feed call, recommended strategy). Or read the changes feed from since=0, store next_since and poll again later: it reports new, updated, expired and excluded jobs in order, seconds behind collection.
What you get
- Job title, employer, original posting and apply URLs, the source system and board.
- Every location with province or state, city and coordinates when known; remote and work arrangement.
- Employment types and salary, only when the employer stated them. Missing facts stay
null. - Descriptions as text, HTML or both, and employer-provided extra fields with their source path.
Try any endpoint without writing code in the playground.