SEEK API
The SEEK API returns Australian job listings as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns jobs with id, title, URL, company, location(s), salary label, currency and work type, and you can pull a detail, a company's jobs and a classification. It is built for recruiting tools, Australian labor-market analysts and job boards that need SEEK data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/seek/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"keywords": "developer",
"location": "Sydney NSW"
}
}{
"ok": true,
"meta": {
"api": "seek",
"endpoint": "search",
"mode": "live",
"latency_ms": 3687.2,
"record_count": 32,
"bytes": 999751,
"cache_hit": false,
"completeness_pct": 100,
"stop_reason": "limit_reached",
"method": "ssr_redux_data",
"pagination": {
"page": 1,
"total_pages": 30,
"has_more": true,
"next_page": 2
}
},
"data": {
"jobs": [
{
"job_id": "93196736",
"title": "Web Developer",
"url": "https://www.seek.com.au/job/93196736",
"company": "Duo Group",
"advertiser_id": "63047740",
"location": "Homebush, Sydney NSW",
"locations": [
{
"label": "[trimmed-depth]",
"country_code": "[trimmed-depth]"
}
],
"salary_label": "",
"currency": null,
"work_types": [
"Full time"
],
"work_arrangement": null,
"classifications": [
{
"classification": "[trimmed-depth]",
"classification_id": "[trimmed-depth]",
"subclassification": "[trimmed-depth]",
"subclassification_id": "[trimmed-depth]"
}
],
"bullet_points": [
"Work on diverse and innovative web projects.",
"Supportive team environment with opportunities for growth.",
"Be part of an organisation with a strong future"
],
"teaser": "Duo Group is looking for an experienced web developer to join our digital team. You will help build fast, reliable and scalable digital platforms.",
"posted_date": "[redacted-phone]T06:52:50.000Z",
"posted_relative": "10d ago",
"is_featured": true,
"display_type": "promoted",
"logo_url": "https://bx-branding-gateway.cloud.seek.com.au/e7e7cd37-4b62-4199-a[redacted-phone]d6e49c4.1/jdpLogo",
"company_url": null,
"role_id": "web-developer"
},
{
"job_id": "92847923",
"title": "Full Stack Developer",
"url": "https://www.seek.com.au/job/92847923",
"company": "Protecht Group",
"advertiser_id": "25604275",
"location": "Sydney NSW",
"locations": [
{
"label": "[trimmed-depth]",
"country_code": "[trimmed-depth]"
}
],
"salary_label": "",
"currency": null,
"work_types": [
"Full time"
],
"work_arrangement": "Hybrid",
"classifications": [
{
"classification": "[trimmed-depth]",
"classification_id": "[trimmed-depth]",
"subclassification": "[trimmed-depth]",
"subclassification_id": "[trimmed-depth]"
}
],
"bullet_points": [
"Join the market leader in enterprise risk management!",
"Support for professional development and career progression",
"Genuine work/life balance: Birthday Leave, bonus days, paid parental leave etc"
],
"teaser": "Design and build scalable APIs & integrations for a global SaaS platform. Work with modern technologies in a collaborative team that values learning.",
"posted_date": "[redacted-phone]T23:40:25.000Z",
"posted_relative": "26d ago",
"is_featured": true,
"display_type": "promoted",
"logo_url": "https://bx-branding-gateway.cloud.seek.com.au/0ba811f1-c581-47de-afb4-9f468e52246c.1/jdpLogo",
"company_url": "https://au.seek.com/companies/protecht-group-[redacted-phone]",
"role_id": "full-stack-developer"
},
{
"job_id": "93384014",
"title": "Software Developer",
"url": "https://www.seek.com.au/job/93384014",
"company": "Peoplebank",
"advertiser_id": "28935911",
"location": "Waverton, Sydney NSW",
"locations": [
{
"label": "[trimmed-depth]",
"country_code": "[trimmed-depth]"
}
],
"salary_label": "AUD 70 - 80 per annum",
"currency": null,
"work_types": [
"Contract/Temp"
],
"work_arrangement": null,
"classifications": [
{
"classification": "[trimmed-depth]",
"classification_id": "[trimmed-depth]",
"subclassification": "[trimmed-depth]",
"subclassification_id": "[trimmed-depth]"
}
],
"bullet_points": [
"Multinational Company",
"12 - months initial contract",
"Location: NSW"
],
"teaser": "Software Developer Location: NSW (Onsite) Employment Type: 6-Months with string views of extension We are looking for an enthusiastic",
"posted_date": "[redacted-phone]T01:57:05.000Z",
"posted_relative": "1d ago",
"is_featured": false,
"display_type": "standard",
"logo_url": "https://bx-branding-gateway.cloud.seek.com.au/4efb[redacted-phone]fe-d[redacted-phone]/jdpLogo",
"company_url": null,
"role_id": "software-developer"
}
],
"total": 935,
"total_display": "935"
}
}What the SEEK API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search 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. | Recruiting teams call search to search SEEK (seek.com.au) job postings by keyword with optional location, salary range, work-…. | keywords, location, job_type, work_arrangement, salary_from, ... |
| detail | Full 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). | Labor-market analysts call detail to get full posting for one SEEK job by job_id (or a SEEK job URL). | job_id, url |
| company-jobs | All 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. | Job boards call company-jobs to get all public job postings at a specific company on SEEK. | company, keywords, location, job_type, work_arrangement, ... |
| classification | Browse 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. | Sales intelligence teams call classification to get browse SEEK jobs by classification/category. | classification, location, job_type, work_arrangement, salary_from, ... |
Call search from your stack
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"}'import requests
r = requests.post(
"https://api.reefapi.com/seek/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"keywords": "developer",
"location": "Sydney NSW"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/seek/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"keywords": "developer",
"location": "Sydney NSW"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.seek.search with {"keywords":"developer","location":"Sydney NSW"}.Who uses this API and why
- Australian job boards call search to aggregate SEEK listings by role and location.
- Labor-market analysts use classification and search to measure demand across sectors.
- Recruiting tools use company-jobs to track a specific employer's open roles.
Questions developers ask before integrating
What is the SEEK API?
SEEK API is a ReefAPI endpoint group for seek It returns live JSON through POST requests under /seek/v1.
Is the SEEK API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. SEEK calls use the same shared credit balance as every other ReefAPI engine.
Do I need a SEEK login or account?
No login to SEEK is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the SEEK data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the SEEK API use?
SEEK actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call SEEK from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call seek actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the SEEK API a SEEK scraper?
It is the managed alternative to a DIY SEEK scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same seek back as clean JSON.
Why does my SEEK scraper keep getting blocked?
Most SEEK scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.