SEEK.com.au Scraper avatar

SEEK.com.au Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
SEEK.com.au Scraper

SEEK.com.au Scraper

Scrape seek.com.au for structured Australian job data: titles, companies, salaries, descriptions & classifications. 150k+ listings. Deduplication & daysOld filtering included.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

an hour ago

Last modified

Share

SEEK.com.au Scraper

Extract structured job data from SEEK.com.au — Australia's largest job board with over 150,000 active listings across every industry and state. No API key required. Returns full job descriptions, salary details, and classification metadata in one run.


Why this scraper?

📋 Complete job data in three formats

Every listing includes the full job description as HTML, plain text, and Markdown — ready for storage, NLP pipelines, or email alerts without extra parsing.

💰 Structured salary extraction

Salary strings like "$80,000 – $90,000 per year" or "$32 per hour" are automatically parsed into salaryMin, salaryMax, salaryPeriod, and currency fields alongside the raw label.

🔁 Cross-run repost detection

The scraper tracks every job ID across runs with a 90-day memory. Reposted listings are flagged with isRepost: true and linked back to the original posting date — helping you filter duplicates in downstream workflows.

🗓️ Date and age filtering

Use daysOld to restrict results to listings posted within a rolling window (e.g. last 7 days), or sort by newest first to stay on top of fresh postings.

🎯 Flexible search and filtering

Filter by keyword, location (city, state, or all of Australia), work type (full time / part time / contract / casual), and industry classification ID. Combine filters for targeted scrapes.

🔗 Direct URL support

Pass any SEEK job URL directly via startUrls to scrape specific listings without running a full search — useful for ad-hoc lookups and integration testing.


Input parameters

ParameterTypeDefaultDescription
searchQueryString""Keywords to search (e.g. "data analyst"). Empty = browse all jobs.
locationString"All Australia"Location filter. Examples: "Sydney NSW", "Melbourne VIC", "Brisbane QLD".
workTypeString"" (all)Employment type: "Full time", "Part time", "Contract/Temp", "Casual/Vacation".
classificationIdString""SEEK industry/category ID for sector filtering.
sortModeString"ListedDate""ListedDate" (newest first) or "KeywordRelevance".
daysOldIntegerOnly return jobs posted within this many days.
maxResultsInteger100Stop after this many results.
fetchDetailsBooleantrueFetch full job description. Disable for fast summary-only runs.
skipRepostsBooleanfalseExclude jobs already seen in previous runs.
startUrlsArray[]Specific SEEK job URLs to scrape directly.

Output schema

{
"id": "91324652",
"url": "https://www.seek.com.au/job/91324652",
"title": "Paralegal / Legal Assistant",
"company": "Dillon Legal",
"location": "Robina, Gold Coast QLD",
"locations": ["Robina, Gold Coast QLD"],
"salaryLabel": "$65,000 – $75,000 per year",
"salaryMin": 65000,
"salaryMax": 75000,
"salaryPeriod": "YEAR",
"currency": "AUD",
"workTypes": ["Full time"],
"workArrangement": "On-site",
"classifications": ["Legal Secretaries (Legal)"],
"teaser": "Dillon Legal is seeking an experienced Legal Assistant...",
"bulletPoints": [
"Permanent full-time role in Gold Coast",
"Supportive team environment",
"Competitive salary package"
],
"isFeatured": false,
"isExpired": false,
"contactMatches": [
{ "type": "Email", "value": "samantha@dillonlegal.com.au" },
{ "type": "Phone", "value": "5575 9990" }
],
"description": "<p>Dillon Legal is seeking...</p>",
"descriptionText": "Dillon Legal is seeking an experienced Legal Assistant...",
"descriptionMarkdown": "Dillon Legal is seeking an experienced Legal Assistant...",
"publishDate": "2026-04-03",
"publishDateISO": "2026-04-03",
"listingDateRaw": "2026-04-03T05:12:03.019Z",
"contentHash": "a3f1c8e2b4d09f17",
"summary": "Paralegal / Legal Assistant — Dillon Legal — Robina, Gold Coast QLD",
"source": "seek.com.au",
"scrapedAt": "2026-04-03T16:00:00.000Z",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Examples

Example 1 — Browse all recent jobs in Sydney

{
"location": "Sydney NSW",
"sortMode": "ListedDate",
"maxResults": 50,
"fetchDetails": false
}

Returns 50 most recent listings in Sydney with teaser and salary. No full description. Fast.


Example 2 — Full-time developer jobs posted in the last 7 days

{
"searchQuery": "software developer",
"location": "All Australia",
"workType": "Full time",
"daysOld": 7,
"sortMode": "ListedDate",
"maxResults": 200,
"fetchDetails": true
}

Returns up to 200 full-time developer jobs posted in the past week, with complete descriptions.


Example 3 — Nurse jobs in Queensland, skip already-seen reposts

{
"searchQuery": "nurse",
"location": "Queensland",
"daysOld": 30,
"maxResults": 500,
"fetchDetails": true,
"skipReposts": true
}

Daily or weekly run that only returns new listings — reposts from the same employer are automatically skipped.


Example 4 — Scrape specific listings by URL

{
"startUrls": [
{ "url": "https://www.seek.com.au/job/91324652" },
{ "url": "https://www.seek.com.au/job/91123354" }
],
"fetchDetails": true
}

Retrieves full detail for each provided URL regardless of search filters.


Example 5 — Legal sector jobs, all states

{
"searchQuery": "",
"location": "All Australia",
"classificationId": "1216",
"sortMode": "ListedDate",
"maxResults": 1000,
"fetchDetails": true
}

Scrapes all active legal sector jobs (classification ID 1216 = Legal) across Australia.


💰 Pricing

$1.50 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsEstimated cost
100~$0.15
1,000~$1.50
10,000~$15.00
100,000~$150.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no commitment.

Use the Max results cap in the input to control your spend exactly.


Performance

Run sizefetchDetailsEstimated time
100 resultsfalse~30 seconds
100 resultstrue~3 minutes
1,000 resultstrue~25 minutes
5,000 resultstrue~2 hours

Performance varies with SEEK load and result set size. Runs with fetchDetails: false are significantly faster and suitable for building job feeds.


Known limitations

  • description: Requires fetchDetails: true. When disabled, only the teaser (1–2 sentences) and bulletPoints are returned.
  • contactMatches: Email and phone contacts are extracted when present in the job posting. Not all employers publish contact details.
  • workArrangement: Remote / hybrid / on-site classification is provided only when the employer has specified it. Many listings omit this field (null).
  • Salary: Not published by all employers — salaryLabel and numeric fields will be null when the employer has not disclosed salary.
  • SEEK NZ / SEEK Asia: This actor targets seek.com.au (Australia) only. New Zealand and Asian markets are not covered.
  • Maximum results: SEEK's search index exposes approximately 150,000–200,000 active listings at any given time. Combined filters reduce this number significantly.

Technical details

  • Source: seek.com.au — Australia's largest job board
  • Memory: 256 MB
  • Repost storage: KeyValueStore seek-com-au-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors with exponential backoff, 3 attempts per request
  • Rate limiting: Automatic backoff on 429 / 503 responses including Retry-After header support

Additional services

Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.


Built by unfenced-group · Issues? Open a ticket or send a message.