SEEK Job Listings Scraper: AU & NZ Jobs
Pricing
from $1.25 / 1,000 job listings
SEEK Job Listings Scraper: AU & NZ Jobs
Search public SEEK job listings in Australia and New Zealand. Export titles, employers, locations, salary text, classifications and redacted full descriptions with SEEK apply links.
Extract public SEEK job listings from Australia and New Zealand by keyword, location and source filters. Each result includes the advertised title, employer display name, location, salary text, employment type and classification. Optional details add a plain-text description and SEEK application/share landing link.
Use the data to compare advertised roles, track hiring demand, build a job feed or review salary disclosures. Search and details are public; this actor does not log in or request recruiter/contact objects. Email addresses and AU/NZ phone formats in teaser, bullet points and description text are replaced with [redacted].

Quick start
- Enter one or more
searchTerms. - Select
AUorNZ. Use separate runs for the two countries. - Set a run-wide
maxItemsand choose whether to include descriptions. - Run the actor, then export the dataset as JSON, CSV or Excel.
The prefilled example requests 20 Australian software engineering jobs with descriptions:
{"searchTerms":["software engineer"],"country":"AU","maxItems":20,"includeDetails":true}
For a broader search, combine distinct keywords and optional filters:
{"searchTerms":["software engineer","data engineer"],"country":"NZ","location":"Auckland","classification":["6281"],"workType":["full time","contract"],"dateRange":7,"salaryMin":70000,"salaryMax":130000,"salaryType":"annual","maxItems":200,"includeDetails":true}
maxItems counts unique job IDs across the entire run. A job found by several terms is saved once, under the term whose page returned it first (terms are read one page each in turn).
Input reference
| Field | Default | Meaning |
|---|---|---|
searchTerms | Required | 1–20 non-empty strings, trimmed and deduplicated |
country | AU | AU for Australia or NZ for New Zealand |
location | Omitted | SEEK location filter, for example Sydney or Auckland |
classification | All | Array of top-level SEEK classification IDs selected in the input editor |
workType | All | Array containing full time, part time, contract or casual |
dateRange | Omitted | Listed within 1, 3, 7, 14 or 31 days |
salaryMin, salaryMax | Omitted | Non-negative advertised salary bounds; minimum must not exceed maximum |
salaryType | Omitted | annual or hourly, required with either salary bound |
maxItems | 100 | Total unique listings, from 1 to 5000; free-plan cap below |
includeDetails | true | Full redacted description and SEEK apply/share landing link |
proxyConfiguration | Apify datacenter | Optional Apify residential; AU exit supports either country |
Salary amounts use AUD in AU and NZD in NZ. Salary text is the advertisement's original wording, including ranges, benefits or hourly periods. The actor does not estimate missing salaries. SEEK decides whether undisclosed salaries match a salary filter.
Output
One row represents one job listing. This example is from an actual end-to-end run; the description is shortened here for readability.
{"jobId": "95363058","title": "Software Developer","company": "Department of Primary Industries and Regions","location": "Adelaide SA","country": "AU","salaryText": null,"workType": ["Full time"],"classification": "Information & Communication Technology","subclassification": "Developers/Programmers","listedDate": "2026-10-19T22:52:22.000Z","teaser": "Design, develop and support enterprise applications, delivering secure, innovative and business-focused digital solutions for PIRSA.","bulletPoints": ["Develop innovative digital solutions that support industries across SA","Drive the full application lifecycle from design through to implementation.","Flexible working arrangements available."],"description": "The Opportunity We have an opportunity for a Software Developer to be part of our Corporate Services Division within the Department of Primary Industries and Regions. In this role, you will contribute to the delivery, maintenance and enhancement of critical business applications that support the department's operations and strategic priorities. Working within a collaborative ICT environment, you will apply your technical expertise to analyse, des…","jobUrl": "https://www.seek.com.au/job/95363058","applyUrl": "https://au.seek.com/job/95363058?tracking=SHR-WEB-SharedJob-anz-1","searchTerm": "software engineer","scrapedAt": "2026-10-20T19:31:36.252Z"}
jobId is the deduplication key. workType and bulletPoints are arrays. classification and subclassification contain source descriptions. listedDate and scrapedAt are ISO timestamps. salaryText is null when no salary is displayed. description and applyUrl are null when details are disabled; a detail failure also preserves the listing with those fields null.
jobUrl opens the listing. applyUrl is the SEEK share/application landing page. It does not promise a direct external applicant-tracking-system URL. Some optional text or metadata can be missing at the source.

Pricing
Pay per saved job listing through the apify-default-dataset-item event. The same price includes optional descriptions: there is no start charge or separate detail fee.
| Apify plan | Per 1,000 saved listings |
|---|---|
| FREE | $2.25 |
| BRONZE | $2.00 |
| SILVER | $1.60 |
| GOLD | $1.25 |
| PLATINUM / DIAMOND | $1.25 |
| Example run | BRONZE actor charge | GOLD actor charge |
|---|---|---|
| 20 listings with descriptions | $0.04 | $0.025 |
| 200 listings with descriptions | $0.40 | $0.25 |
| 1,000 listings with descriptions | $2.00 | $1.25 |
These examples count saved listings only and show actor event charges. Apify applies its current plan and platform billing rules. Source availability and the run budget determine how many listings can be saved.
Is it free?
You can use the actor on Apify's free plan with your available platform credits. The developer limits free-plan use to 100 results per run and 20 runs per calendar month (UTC). This allowance is not a promise of zero platform charges. The run count resets on the first day of the month. Paid Apify plans use the requested result limit and have no developer monthly run cap.
Free runs use Apify Proxy and ignore custom proxy URLs. When the monthly allowance is exhausted, the actor succeeds with a clear refusal message, no target requests and an empty dataset. Concurrent starts share the same atomic developer-owned quota. The owner's account and platform TEST checks are exempt.
Reliability and limits
SEEK pagination currently exposes roughly 500 search slots per keyword, even when the reported total is larger. Promoted listings can repeat, reducing the unique count. If pagination ends before the reported total and requested limit, the actor records truncated: true for that term in the STATISTICS key and logs it once. Increase the number of meaningful keywords or narrow source filters to improve coverage; this actor does not split searches automatically.
Transient failures retry up to three times with a fresh proxy session. A valid empty JSON result is treated as no results. HTML challenges and blocked HTTP statuses are recorded separately. Public endpoints can change; the actor offers no coverage or availability guarantee.
If descriptions fail after retries, search rows remain in the dataset and detailFailures records the missing details. If a later error or deadline stops the run after rows were saved, the run succeeds as partial and preserves those rows. A zero-row processing failure fails with a diagnostic status prefix. A confirmed empty answer for every term succeeds as no results. A charge-limited run succeeds with “run budget reached.”
The STATISTICS key records request and answer counts, blocks by status, transferred body bytes, saved rows, detail failures, duration and per-term truncation. Compressed body bytes are diagnostic measurements; they exclude proxy headers and protocol overhead. The actor stops starting requests before the cloud timeout to leave time for saved rows and statistics.
Default memory is 256 MB with a 512 MB cap. Apify datacenter is the default proxy; select residential explicitly if your use case needs it. Selected proxy modes do not silently change during cloud retries.
API and integrations
Start a run with the Apify API and use the returned dataset ID to fetch results:
curl -X POST 'https://api.apify.com/v2/acts/xmolodtsov~seek-jobs-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchTerms":["software engineer"],"country":"AU","maxItems":20,"includeDetails":true}'
Apify integrations can send completed dataset rows to a spreadsheet, database or workflow in n8n, Make or Zapier. Use a completion webhook to process the finished dataset, and key updates by jobId. Check scrapedAt, listedDate and partial-run statistics before comparing snapshots.
Support
Report a reproducible problem through this actor's Apify Issues tab. Include the run ID, country and keyword/filter settings. Avoid including personal contact information. For missing descriptions, check detailFailures and whether the public listing is still available.
More scrapers from this developer
TikTok: TikTok Search Scraper: videos and creators for any keyword, pay per result · TikTok Profile Scraper (Pay Per Result): profiles, followers and latest posts by username · TikTok Comments Scraper: comments and full reply threads from any video · TikTok Hashtag Scraper: videos for any hashtag, with views, likes and music · TikTok Sound & Music Scraper: videos that use a sound or song · TikTok Top Ads Scraper: public Creative Center ad rankings, engagement, media and landing pages
Social & news: Reddit Search Scraper: posts by keyword, subreddit or author · Google News Scraper: Google News results as clean full-text articles
E-commerce: Prom.ua Product Search Scraper: Prom.ua product search results, no browser needed · Amazon Product Search & Bestsellers Scraper: search results, Best Sellers and product details from Amazon · AliExpress Search Scraper: aliExpress products by keyword with prices, orders and shipping
Maps & leads: Google Maps Scraper: places, leads and emails from Google Maps
Ads: Facebook Ad Library Scraper (Meta Ads Library): ads from the Meta Ad Library, with EU reach and payers · Google Ads Transparency Scraper: Google ad creatives by advertiser or domain, with regional details
Video: YouTube Transcript Scraper: transcripts, subtitles and captions from YouTube videos · YouTube Shorts Scraper: Shorts of any channel with exact views, likes and duration · YouTube Channel Scraper: every video of a channel, with channel stats · YouTube Search Scraper: search results and videos for any keyword · YouTube Comments Scraper: comments, replies and likes from any video · Bilibili Comments Scraper: public hot comments and reply threads by video or keyword
FAQ and public-data use
Is it legal to scrape SEEK?
This actor retrieves public job advertisements and does not request private profiles or contact objects. It redacts recognizable email addresses and AU/NZ phone numbers from description text, teasers and bullet points. It is not a contact-enrichment tool.
Public availability does not remove your responsibilities under applicable terms, copyright and privacy law. Review SEEK's terms and your intended use, including GDPR, CCPA and the Australian Privacy Act where applicable. Keep collection proportionate, minimize retention and avoid identifying or contacting individuals from job text. Redaction covers tested formats rather than every possible way personal information can be written; review outputs before redistribution.
Why did I get fewer listings than requested?
maxItems is an upper bound. Filters, source depth limits, duplicate promotions, expired listings, free-plan limits, run budgets and interrupted requests can reduce the count. Inspect STATISTICS for details.
Can I collect both countries in one run?
Choose one country per run. Launch one AU run and one NZ run, then combine their datasets by jobId if needed.