SEEK Jobs Scraper AU & NZ — Filters, No Login avatar

SEEK Jobs Scraper AU & NZ — Filters, No Login

Pricing

from $1.50 / 1,000 saved jobs

Go to Apify Store
SEEK Jobs Scraper AU & NZ — Filters, No Login

SEEK Jobs Scraper AU & NZ — Filters, No Login

Find public SEEK jobs in Australia and New Zealand. Filter location, work type, category, salary and date. Export listing cards or return new job IDs. No login.

Pricing

from $1.50 / 1,000 saved jobs

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

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.

Use this Actor for hiring research and job market reports. It returns listing cards, with up to 400 jobs per run. Check the run summary when results are empty or partial.

SEEK Jobs Scraper — search by location and work type, then export public listing cards

Table of contents

What it does

Add one search query and a location. Select Australia (AU) or New Zealand (NZ). The Actor reads public SEEK listing cards and saves one row per unique SEEK job ID.

You can filter by classification ID, work type, annual salary range and listing age. SEEK controls keyword relevance and location matching. Results can include related roles. Classification, work type and date are checked again on returned cards, to remove nonmatching promoted jobs. Salary filtering uses SEEK's search rules.

Job data

Each row has a stable job ID, title, advertiser, location, classification, work type, salary label, listing date, link, teaser and bullet points. Missing values are null. Salary stays as written by the advertiser. No numeric salary is inferred.

This Actor reads search cards. It does not fetch full job descriptions, applicant counts, employer reviews or private profiles. Contact details in text are redacted.

Quick start

  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.

Small searches took about 3–7 seconds in tests. Results and speed can change with SEEK.

Input

All fields are optional. An empty object uses the defaults below. null is not a valid field value. Unknown fields are rejected.

FieldTypeDefault / prefillAllowed valuesEffect and recommendation
keywordsstringdata analyst / same prefill1–100 charactersOne search query. Keep it short; SEEK may return related roles.
wherestringSydney / same prefill0–100 charactersCity or region. Use Auckland for NZ. Empty string searches the country.
countrystringAUAU, NZChoose the market that matches your location.
classificationstringemptyNumeric SEEK ID, up to 8 digitsOptional role family, such as 6281 for IT or 1211 for healthcare. Find IDs in your SEEK search URL.
workTypestringanyany, Full time, Part time, Contract/Temp, Casual/VacationKeep any for all employment types.
salaryRangestringemptyAnnual min-max, each 0–1000000, min ≤ maxExample 60000-150000. AUD in AU, NZD in NZ. Hidden or flexible salaries follow SEEK's own rules.
dateRangeinteger0Only 0, 1, 3, 7, 14, 31Maximum listing age in days. Zero means any date.
maxItemsinteger20 / same prefill1–400Maximum saved jobs. A search may return fewer. It does not change the 25-page scan cap.
onlyNewbooleanfalsetrue / falseSave unseen job IDs for this exact search. Use sequential runs.

Settings that work together

  • Filters are combined. Each one can reduce the result count.
  • With onlyNew: true, maxItems counts new saved jobs. The Actor may scan 25 pages to find them.
  • Changing maxItems keeps the same history. Changing keywords, location, country or a filter creates a separate history.
  • dateRange means the original listing date, not the time this Actor first saw a job.

Input examples

Data analysts in Sydney

{"keywords":"data analyst","where":"Sydney","country":"AU","maxItems":20,"onlyNew":false}

Returns up to 20 public listing cards. Repeating this search with onlyNew: false returns current jobs again.

Software engineers in Auckland

{"keywords":"software engineer","where":"Auckland","country":"NZ","maxItems":100}

Returns up to 100 cards from the NZ market. Use the same search with onlyNew: true to start new-job tracking.

Recent full-time healthcare jobs

{"keywords":"nurse","where":"Melbourne","classification":"1211","workType":"Full time","salaryRange":"60000-150000","dateRange":7,"maxItems":20}

Returns matching recent cards. Salary remains text; it may be missing.

Output

One dataset row is one job. The Jobs view shows the fields below. Download JSON or CSV from the dataset. The Actor output has two links: Job listing cards and Run status and counters.

Output example

{
"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
}

This is one full row from the Sydney example. A null value means the field was not available in the listing card. licence: null means no reuse licence is supplied by this source.

Output fields

FieldTypeCan be null?Meaning and example
jobIdstringnoOriginal SEEK ID, such as 94975181.
titlestringnoListing title, such as Category Analytics Assistant.
advertiserstringyesAdvertiser's public name, such as Care Pharmaceuticals. It may differ from the employer's short name.
locationstringyesSEEK location label, such as Bondi Junction, Sydney NSW.
areastringyesBroader area from SEEK location hierarchy, such as All Sydney NSW.
classificationstringyesFirst classification label, such as Sales.
workTypestringyesSource work type labels, joined when more than one is supplied.
salarystringyesRaw salary label, such as $150,000 per year; not a numeric estimate.
listedAtstringyesOriginal listing time in ISO UTC format.
urlstringnoPublic SEEK link to the job. Jobs can later expire.
teaserstringyesShort card text. Contact details are redacted.
bulletPointsarray of stringsnoCard bullet points; empty array if none.
fetchedAtstringnoTime the Actor read this card, in ISO UTC format.
countrystringnoAU or NZ.
sourcestringnoSEEK.
licencenullalwaysSEEK does not provide a reuse licence with these cards.

Run summary

Open the default key-value store record RUN_SUMMARY. It includes status, reason, saved, scanned, filtered, duplicates, pages, requests, retries, bytes, sourceTotal, hasMore, source, licence, country and fetchedAt.

SituationDatasetSummary / run statusNext step
Jobs savedOne row per unique IDcomplete, succeededExport rows. hasMore: true means the limit stopped the search.
No match or no new IDsEmptynot_found, succeededCheck the query or the tracking history.
Scan limit reachedZero or more rowspartial, SCAN_LIMIT, succeededNarrow the query or filters; the scan covers at most 25 pages.
Spending limit reachedSaved rows remainpartial, CHARGE_LIMIT, succeededRead saved rows or increase the spending limit for a later run.
Source or storage failureSaved rows remain if anyerror or partial, failedCheck reason; this is not a valid empty search.

Pricing and limits

Pay per event. A start costs $0.015. A result event is charged once per saved job. No extra result fee is charged for rows removed by filters or previously seen IDs. The start fee applies to empty, unchanged and failed searches. This price includes normal platform usage. No proxy is required.

Apify planPer saved job100 saved jobs including start400 saved jobs including start
Free$0.0018$0.195$0.735
Bronze$0.0017$0.185$0.695
Silver$0.0016$0.175$0.655
Gold and higher$0.0015$0.165$0.615

At the base price, 1 saved job costs $0.0168, 10 cost $0.033, and 20 cost $0.051. Empty searches, filters with no matches and unchanged tracking runs cost the $0.015 start fee. Partial runs charge the start plus the jobs already saved. Prices are formulas from the listed events, not a guarantee of a particular result count.

Use a maximum cost per run. It must cover the start fee and the jobs you want. A small budget can stop the search before any row is saved. The maximum output is 400 jobs, so 1000 jobs require separate searches/runs; this Actor does not promise one-run delivery of 1000 jobs.

Use cases

TaskSuggested inputUseful fields
Build a hiring research listKeywords + locationtitle, advertiser, url
Compare advertised paysalaryRange + work typesalary, location, classification
Track newly seen rolesonlyNew: truejobId, listedAt, fetchedAt

New job tracking

The first onlyNew: true run saves jobs and records their IDs in a named key-value store. Later runs of the same search save only unseen IDs. History remains when older jobs leave the current search window. Updated text on an existing ID is not a new job. No expired-job detection is provided.

Run a given search sequentially. Concurrent runs of the same search can race and repeat jobs. Do not treat a failed run as a completed history update. Up to 20000 IDs can be tracked per search; a full history causes STATE_LIMIT and a failed run instead of a silent reset. To start a separate search history, change a search field. Demo searches with onlyNew: false do not change history.

You can create an Apify schedule yourself for a repeated search. This Actor does not create schedules, send notifications or configure webhooks.

API, export and integrations

Start the Actor through the Apify API. Send the same JSON input as in the examples. Read the default dataset after the run finishes. Export JSON or CSV, or pass jobId, title and url to your own hiring workflow.

API endpoint: POST https://api.apify.com/v2/acts/cliqtomedia~seek-jobs-scraper/runs. Keep your Apify token private. Use the latest build, a 300-second timeout and 256 MB memory.

Use with AI agents (MCP)

Apify MCP exposes this Actor to connected agents after publication. The smallest useful example is:

{"keywords":"data analyst","where":"Sydney","maxItems":20}

jobId is the source ID, title names the role, advertiser names the advertiser, location gives the source location and url opens the job. Small searches took about 3–7 seconds in tests. A 20-job run costs $0.051 at the Free-plan rate. Respect the 400-job and 25-page limits and check RUN_SUMMARY for partial results.

Limits and partial results

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

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.

Troubleshooting

The dataset is empty

Read RUN_SUMMARY. not_found with sourceTotal: 0 means SEEK returned no matches. With onlyNew: true, an empty result can mean all returned IDs are already tracked. SCAN_LIMIT means the scan stopped before exhausting the source. Failed runs are not valid empty searches.

Jobs seem outside the keywords or location

SEEK uses relevance matching and a location radius. Use a classification ID or work type to narrow results. Review each listing link before using it.

The run failed with a source error

SOURCE_HTTP_*, SOURCE_TIMEOUT, SOURCE_SCHEMA or SOURCE_TRUNCATED indicate an unavailable or changed source response. Saved rows remain available. Retry later. Do not add login cookies or credentials.

The run stopped at a spending limit

CHARGE_LIMIT keeps the run successful and preserves saved jobs. Set a budget that includes the $0.015 start fee plus result fees. Repeating a normal search can charge for the same jobs again; use sequential onlyNew runs when that fits your task.

Invalid input or full tracking history

Check the exact allowed values, especially dateRange. Unknown fields are rejected. STATE_LIMIT means the tracked search already has 20000 IDs. Choose a different search scope rather than deleting state without review.

FAQ

Do I need a SEEK account?

No. The Actor reads public listing cards. You need an Apify account to run it.

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.

Does an empty run cost money?

Yes. It charges the $0.015 start fee, with no saved-job events.

Support

Open an issue on this Actor's Apify Issues tab. Include the run ID, country and non-sensitive error code. Do not share tokens, cookies or private contact data.