SEEK logo

Job boards & ATS · Live on Apify

SEEK jobs scraper for Australia and New Zealand

Type a job search and a place in Australia or New Zealand. You get public SEEK jobs with employer, salary text and dates. Turn on only new to skip jobs you saw before.

About $1.81 for 1,000 jobs$0.0018 per job + $0.015 per run. Apify bills you, not us.One job in a run of its own: about $0.02.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

jobId94975181
titleCategory Analytics Assistant
advertiserCare Pharmaceuticals

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: data analyst in Search keywords. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Search public SEEK job listings in Australia and New Zealand. Get job titles, employers, locations, salary text and dates without a SEEK login. A 20-job search costs $0.051 on the Free plan: $0.015 per start plus $0.0018 per saved job.

Who uses it

Recruiters in AU and NZ

Build a list of employers that hire for a role.

Pay researchers

Compare advertised pay for a role across cities.

Job alert builders

Get newly seen jobs each day on a schedule.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.015Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Saved job$0.0018 (from $0.0015 on paid Apify plans)One unique SEEK listing card saved to the dataset.

Examples

  • One job: about $0.02.
  • 1,000 jobs: about $1.81.
  • Every day 100 jobs, for 30 days: about $5.85 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 2,700 jobs.

Prices checked on 24 October 2026. See the current price on Apify.

Questions

Do I need a SEEK account?

No. The tool reads public job cards. You only need an Apify account.

Is the salary a number?

No. It is the text shown on the job card, or empty.

Does only new find edited jobs?

No. It finds job IDs it has not seen before.

Does an empty search cost money?

Yes, only the start fee. No job fee is charged.

Can I get every job or 1000 jobs at once?

No. A run saves at most 400 jobs and scans at most 25 pages. Check hasMore. Split research into distinct locations or queries if needed; overlapping searches can return the same ID.

Are salaries complete and numeric?

No. salary is the public card label or null. Hidden values are not estimated.

Does onlyNew detect edits or expired jobs?

No. It detects previously unseen IDs. Existing IDs stay in history; edited or missing cards are not emitted as changes.

Details

Step by step on Apify
  1. Open Input.
  2. Keep Search keywords as data analyst, Location as Sydney and Country as AU.
  3. Keep Maximum jobs at 20 and Only new jobs off.
  4. Click Start.
  5. Open the dataset Jobs view. Check jobId, title, advertiser and url.
Use cases
TaskSuggested inputKey fields
Build a hiring research listKeywords + locationtitle, advertiser, url
Compare advertised paysalaryRange + work typesalary, location, classification
Track newly seen rolesonlyNew: truejobId, listedAt, fetchedAt
Tips for better results
  • Pick the right country. Use Auckland with NZ and Sydney with AU.
  • Use a classification ID, like 6281 for IT, to cut unrelated jobs.
  • Split big searches by city or keyword. One run saves up to 400 jobs.
Limits and good to know

Data comes from SEEK Australia and SEEK New Zealand. Read the SEEK website terms before reusing the data. Public access does not grant a reuse licence. This Actor is an independent tool and is not endorsed by SEEK.

  • Listing cards only. No login, CAPTCHA solving, profile export or full descriptions
  • At most 25 pages, 100 requests, 10 MB of response data and 180 seconds of source work. A larger platform timeout does not expand these limits
  • No claim that every matching SEEK job is returned. Search ordering, promoted cards and source page limits can reduce results
  • Salary labels can be hidden, nonnumeric or hourly even when the search uses an annual range
  • Keyword relevance and location radius come from SEEK. Exact text matching is not promised
  • Source changes, blocked requests and invalid responses cause failure. A scan cap is best effort and returns a successful partial result

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "jobId": "94975181",
  "title": "Category Analytics Assistant",
  "advertiser": "Care Pharmaceuticals",
  "location": "Bondi Junction, Sydney NSW",
  "area": "All Sydney NSW",
  "classification": "Sales",
  "workType": "Full time",
  "salary": null,
  "listedAt": "2026-09-30T07:57:38.000Z",
  "url": "https://www.seek.com.au/job/94975181",
  "teaser": "Support the Head of Category and broader sales team providing data lead analytical insights to drive business growth and success.",
  "bulletPoints": [
    "Exciting opportunity to work with iconic brands",
    "Competitive salary and bonus potential",
    "Fast paced and friendly team"
  ],
  "fetchedAt": "2026-10-14T10:59:01.984Z",
  "country": "AU",
  "source": "SEEK",
  "licence": null
}

Use it from code

Actor ID: cliqtomedia/seek-jobs-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/seek-jobs-scraper").call(run_input={
    "keywords": "data analyst",
    "where": "Sydney"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~seek-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "data analyst", "where": "Sydney"}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/seek-jobs-scraper")
result = tool.invoke({"run_input": {"keywords": "data analyst", "where": "Sydney"}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (16)
FieldTypeMeaning
jobIdstringOriginal numeric SEEK job ID as a string.
titlestringPublic listing title.
advertiserstringPublic advertiser description; may differ from employer company name.
locationstringFirst SEEK location display label.
areastringBroader location hierarchy label when supplied by SEEK.
classificationstringFirst SEEK job classification display label.
workTypestringEmployment type labels joined with commas.
salarystringRaw public salary label, or null when not disclosed. No numeric salary is inferred.
listedAtstringOriginal listing time as an ISO UTC timestamp, or null if absent.
urlstringPublic SEEK job URL for the selected country.
teaserstringShort public listing-card text with contact details redacted.
bulletPointsarrayPublic listing-card bullets, with contact details redacted; empty array if absent.
fetchedAtstringISO UTC time when the card was read.
countrystringSEEK market: AU or NZ.
sourcestringData source name: SEEK.
licencenullNull because SEEK does not supply a reuse licence with the card.
Input settings (9)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Search keywordskeywordsstring"data analyst"
Locationwherestring"Sydney"
Countrycountrystring"AU"
Classification IDclassificationstring""
Work typeworkTypestring"any"
Annual salary rangesalaryRangestring""
Posted in the last daysdateRangeinteger0
Maximum jobsmaxItemsinteger20
Only new jobsonlyNewbooleanfalse

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure