Jobs & Hiring

SEEK API

The SEEK API returns Australian job listings as clean JSON.

4 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 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.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "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"
  }
}
Captured response
{
  "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"
  }
}
Actions

What the SEEK API does

ActionDescriptionConcrete use caseKey params
searchSearch 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, ...
detailFull 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-jobsAll 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, ...
classificationBrowse 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, ...
Code samples

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"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.seek.search with {"keywords":"developer","location":"Sydney NSW"}.
Use cases

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.
FAQ

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.

docs / seek

SEEK

SEEK

base /seek/v14 endpoints
post/seek/v1/detail1 credit

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).

ParameterAllowed / rangeDescription
job_idoptionalSEEK job ID — the number in the job URL (seek.com.au/job/<job_id>) or `job_id` from search.
urloptionalAlternatively a full SEEK job URL.
Try in playground →
post/seek/v1/company-jobs1 credit

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.

ParameterAllowed / rangeDescription
companyrequiredThe 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).
keywordsoptionalOptional: also filter the company's jobs by keyword.
locationoptionalAustralian/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_typeoptionalfull_time · part_time · contract · casualRestrict to one work type.
work_arrangementoptionalonsite · remote · hybridFilter by working arrangement.
salary_fromoptional0–Minimum annual salary in AUD (e.g. 100000).
salary_tooptional0–Maximum annual salary in AUD (e.g. 150000).
date_postedoptionaltoday · last3days · lastweek · lasttwoweeks · lastmonthOnly jobs listed within this window.
sort = relevanceoptionalrelevance · dateResult ordering.
page = 1optional1–500Result page (32 jobs per page). Page until meta.pagination.total_pages.
Try in playground →
post/seek/v1/classification1 credit

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.

ParameterAllowed / rangeDescription
classificationrequiredSEEK classification — numeric id (e.g. '6281' = Information & Communication Technology, '1203' = Healthcare & Medical) or a category slug ('information-communication-technology', 'healthcare-medical', 'trades-services', 'accounting').
locationoptionalAustralian/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_typeoptionalfull_time · part_time · contract · casualRestrict to one work type.
work_arrangementoptionalonsite · remote · hybridFilter by working arrangement.
salary_fromoptional0–Minimum annual salary in AUD (e.g. 100000).
salary_tooptional0–Maximum annual salary in AUD (e.g. 150000).
date_postedoptionaltoday · last3days · lastweek · lasttwoweeks · lastmonthOnly jobs listed within this window.
sort = relevanceoptionalrelevance · dateResult ordering.
page = 1optional1–500Result page (32 jobs per page). Page until meta.pagination.total_pages.
Try in playground →