SEEK API
SEEK API
/seek/v1/search1 creditSearch SEEK (seek.com.au) job postings by keyword with optional location, salary range, work-type, work-arrangement (remote/hybrid/on-site), date-posted, classification and sort filters. Returns up to 32 jobs per page with title, company, salary, location, dates and a teaser.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| keywords | required | — | What job to search for — a job title, skill or keyword ('software developer', 'registered nurse', 'accountant'). |
| location | optional | — | Australian/NZ location to search in — a city, suburb or city+state ('Sydney NSW', 'Melbourne VIC', 'Brisbane QLD', 'Perth WA'). Free text; the state suffix sharpens the match. |
| job_type | optional | full_time · part_time · contract · casual | Restrict to one work type. |
| work_arrangement | optional | onsite · remote · hybrid | Filter by working arrangement. |
| salary_from | optional | 0– | Minimum annual salary in AUD (e.g. 100000). |
| salary_to | optional | 0– | Maximum annual salary in AUD (e.g. 150000). |
| date_posted | optional | today · last3days · lastweek · lasttwoweeks · lastmonth | Only jobs listed within this window. |
| classification | optional | — | Narrow to a SEEK classification — its numeric id (e.g. 6281 = Information & Communication Technology) from a job's classifications[].classification_id. |
| subclassification | optional | — | Narrow to a SEEK sub-classification numeric id (e.g. 6287 = Developers/Programmers). |
| sort = relevance | optional | relevance · date | Result ordering. |
| page = 1 | optional | 1–500 | Result page (32 jobs per page). Page until meta.pagination.total_pages. |
/seek/v1/detail1 creditFull posting for one SEEK job by job_id (or a SEEK job URL): title, company, salary, location breakdown (suburb/state/postcode/country), full HTML + plain-text description, work types, work arrangement, classifications, bullet points, posted & expiry dates, apply/share link, and the employer's company profile (industry, size, website, rating, review count).
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| job_id | optional | — | SEEK job ID — the number in the job URL (seek.com.au/job/<job_id>) or `job_id` from search. |
| url | optional | — | Alternatively a full SEEK job URL. |
/seek/v1/company-jobs1 creditAll public job postings at a specific company on SEEK. Pass the company's numeric advertiser id (the `advertiser_id` field on any search/detail result), its SEEK company slug, a full SEEK company URL, or its name; optionally narrow with the same keyword/location/salary/work-type/date filters as search.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| company | required | — | The employer — its SEEK numeric advertiser id (best; the `advertiser_id` on any search result), a SEEK company slug, a full SEEK company URL, or the company name (resolved to a slug automatically). |
| keywords | optional | — | Optional: also filter the company's jobs by keyword. |
| location | optional | — | Australian/NZ location to search in — a city, suburb or city+state ('Sydney NSW', 'Melbourne VIC', 'Brisbane QLD', 'Perth WA'). Free text; the state suffix sharpens the match. |
| job_type | optional | full_time · part_time · contract · casual | Restrict to one work type. |
| work_arrangement | optional | onsite · remote · hybrid | Filter by working arrangement. |
| salary_from | optional | 0– | Minimum annual salary in AUD (e.g. 100000). |
| salary_to | optional | 0– | Maximum annual salary in AUD (e.g. 150000). |
| date_posted | optional | today · last3days · lastweek · lasttwoweeks · lastmonth | Only jobs listed within this window. |
| sort = relevance | optional | relevance · date | Result ordering. |
| page = 1 | optional | 1–500 | Result page (32 jobs per page). Page until meta.pagination.total_pages. |
/seek/v1/classification1 creditBrowse SEEK jobs by classification/category — either a SEEK classification numeric id (e.g. 6281 = Information & Communication Technology) or a category slug ('information-communication-technology', 'healthcare-medical', 'trades-services', 'accounting', 'sales', 'education-training'). Optionally scope by location and the same salary/work-type/date filters as search.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| classification | required | — | SEEK classification — numeric id (e.g. '6281' = Information & Communication Technology, '1203' = Healthcare & Medical) or a category slug ('information-communication-technology', 'healthcare-medical', 'trades-services', 'accounting'). |
| location | optional | — | Australian/NZ location to search in — a city, suburb or city+state ('Sydney NSW', 'Melbourne VIC', 'Brisbane QLD', 'Perth WA'). Free text; the state suffix sharpens the match. |
| job_type | optional | full_time · part_time · contract · casual | Restrict to one work type. |
| work_arrangement | optional | onsite · remote · hybrid | Filter by working arrangement. |
| salary_from | optional | 0– | Minimum annual salary in AUD (e.g. 100000). |
| salary_to | optional | 0– | Maximum annual salary in AUD (e.g. 150000). |
| date_posted | optional | today · last3days · lastweek · lasttwoweeks · lastmonth | Only jobs listed within this window. |
| sort = relevance | optional | relevance · date | Result ordering. |
| page = 1 | optional | 1–500 | Result page (32 jobs per page). Page until meta.pagination.total_pages. |
curl -X POST https://api.reefapi.com/seek/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"keywords":"developer","location":"Sydney NSW"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}