SEEK Jobs, Salary & Skills Analyzer avatar

SEEK Jobs, Salary & Skills Analyzer

Pricing

from $2.50 / 1,000 job analyseds

Go to Apify Store
SEEK Jobs, Salary & Skills Analyzer

SEEK Jobs, Salary & Skills Analyzer

Scrape SEEK job listings across Australia and New Zealand with salary analysis, skills intelligence and market research data. Automatically gets past SEEK's 550-result search limit, deduplicates by job ID, and returns a market summary with median salaries, top skills and seniority breakdown.

Pricing

from $2.50 / 1,000 job analyseds

Rating

0.0

(0)

Developer

Zapticx

Zapticx

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

SEEK Jobs, Salary & Skills Analyzer — Australia & New Zealand

Scrape SEEK job listings with salary analysis, skills intelligence and market research data. Covers SEEK Australia and SEEK New Zealand, returns clean job records with full descriptions, and adds a structured market summary: median salaries, salary percentiles, top skills with frequencies, seniority mix and work-arrangement breakdown.

Built by Zapticx.

Two things set it apart from a plain SEEK scraper:

  • It gets past SEEK's 550-result search limit. SEEK returns at most 550 results for any one search. This Actor automatically splits a large search across SEEK's own filters and merges the results, deduplicated by job ID. A search of 1,774 jobs that a normal scraper truncates at 550 returns 1,803 unique jobs here — 3.3× the data.
  • It never passes a guess off as an employer's salary. Salary figures come only from what the employer actually published, parsed from real salary text and labelled with a parse confidence.

What you can do with it

Use caseHow
Salary benchmarkingMedian, mean and p10–p90 salary percentiles for any role, location or industry — annualised so hourly and salaried ads compare directly.
Skills demand analysisWhich skills appear in which share of ads for a role, across tech, healthcare, trades, finance, sales and admin.
Recruitment market researchWho is hiring, how many roles, at what seniority, on-site vs hybrid vs remote.
Competitor hiring intelligenceTrack a company's live ads, their salary bands and the skills they are buying.
Job board / aggregator feedsBulk, deduplicated job data with canonical URLs and full descriptions.
Talent supply and pay-gap studiesCompare pay and skills between Australia and New Zealand, or between states and cities.
Lead generation for recruitersEmployers actively advertising, with advertiser IDs and company profile links.

Quick start

{
"keywords": "registered nurse",
"country": "AU",
"location": "Sydney NSW",
"maxResults": 200,
"datePosted": "Last 30 days",
"fetchDescriptions": true
}

Every enumerated field is validated against a verified allow-list before any request is made. SEEK does not reject unknown filter values — it silently ignores them and returns the entire ~160,000-job corpus with an HTTP 200. A typo would otherwise cost you a full run and hand back confidently wrong data. Instead you get an immediate, specific error naming the valid options.

More input examples

Whole-country salary benchmark, past the 550 cap

{ "keywords": "software engineer", "country": "AU", "maxResults": 2000 }

Remote roles only, last week

{
"keywords": "data analyst", "country": "AU",
"workArrangement": "Remote", "datePosted": "Last 7 days", "maxResults": 300
}

A whole industry in New Zealand

{
"country": "NZ", "classification": "Healthcare & Medical",
"maxResults": 1000, "sortMode": "Date"
}

Fast bulk listing without descriptions (about 10× cheaper and faster)

{ "keywords": "warehouse", "country": "AU", "maxResults": 5000,
"fetchDescriptions": false }

Output example — one job

{
"jobId": "94506219",
"title": "Software Engineer",
"canonicalUrl": "https://au.seek.com/job/94506219",
"country": "AU",
"company": "Murdoch Children's Research Institute",
"advertiserId": "20759263",
"advertiserVerified": true,
"location": "Parkville, Melbourne VIC",
"suburb": "Parkville", "state": "Victoria", "postcode": "3052",
"classification": "Information & Communication Technology",
"subclassification": "Engineering - Software",
"employmentType": "Contract/Temp",
"workArrangement": "On-site",
"salaryDisclosed": true,
"salaryText": "$90,521 - $113,587 p.a plus super",
"salaryMin": 90521, "salaryMax": 113587,
"salaryCurrency": "AUD", "salaryType": "annual",
"salaryMidpoint": 102054,
"annualizedSalaryMin": 90521, "annualizedSalaryMax": 113587,
"salaryParseConfidence": "high",
"skills": ["Python", "TypeScript", "SQL", "React", "AWS", "Terraform", "CI/CD"],
"skillCategories": ["Programming", "Data", "Frameworks", "Cloud & DevOps"],
"seniority": null,
"yearsExperience": null,
"remoteType": "onsite",
"postedDate": "2026-09-08T23:35:10Z",
"description": "Job description: Role Type: 12-month Full Time Contract ...",
"searchQuery": "software engineer",
"scrapedAt": "2026-09-10T04:21:07+00:00"
}

Output example — the market summary

One MARKET_SUMMARY record per run, free of charge:

{
"recordType": "MARKET_SUMMARY",
"country": "AU",
"searchQuery": "registered nurse",
"totalUniqueJobsAnalyzed": 500,
"salaryDisclosedCount": 132,
"salaryDisclosedCoveragePct": 26.4,
"medianDisclosedAnnualSalary": 98035.75,
"meanDisclosedAnnualSalary": 101204.10,
"disclosedSalaryPercentiles": {
"p10": 84082, "p25": 89083, "p50": 98036, "p75": 98800, "p90": 125300
},
"disclosedSalaryRange": { "min": 61000, "max": 210000 },
"topSkills": [
{ "skill": "Registered Nurse", "count": 480, "pctOfJobs": 96.0 },
{ "skill": "AHPRA Registration", "count": 340, "pctOfJobs": 68.0 },
{ "skill": "Aged Care", "count": 170, "pctOfJobs": 34.0 }
],
"seniorityDistribution": { "unspecified": 260, "senior": 150, "manager": 62 },
"workArrangementDistribution": { "On-site": 402, "Hybrid": 76, "Remote": 22 },
"remoteTypeDistribution": { "onsite": 402, "hybrid": 76, "remote": 22 },
"yearsExperienceStated": { "count": 96, "median": 3.0 },
"coverage": {
"reportedJobs": 9075,
"uniqueJobsCollected": 500,
"rawJobsCollected": 543,
"duplicatesRemoved": 43,
"partitionsUsed": 6,
"partitionsTruncated": 0,
"collectionCompleteWithinPartitions": true,
"reportedTotalIsApproximate": true
}
}

How salary analysis works

This is the part most job scrapers get wrong, so it is worth being precise.

Only about 30–40% of SEEK listings publish a salary at all. That is SEEK's data, not a limitation here. For the ones that do:

  • salaryText is what the employer wrote, kept verbatim.
  • salaryMin / salaryMax are parsed from that text and only from that text. The parser was built against 1,618 distinct real SEEK salary strings and reads 82.9% of them into numbers — including awkward real formats like $90,521 - $113,587 p.a plus super, $37 – $45 per hour, $140-150K, $129,048.40 – $177,622.12 per year and $900-$1000/day.
  • salaryParseConfidence (high / medium / low) tells you how clean the read was, so you can filter to high-confidence figures for benchmarking.
  • Text like "Competitive salary" or "Award Rate" sets salaryDisclosed: false with null figures. It is not a salary and is never treated as one.
  • annualizedSalaryMin / annualizedSalaryMax convert hourly, daily and weekly rates to an annual figure (38-hour week, 52 weeks) so everything is comparable. If the period cannot be determined, these stay null rather than guessing.
  • Market statistics use disclosed salaries only, and are suppressed rather than published as noise when the sample is too small — fewer than 5 comparable salaries for a median, fewer than 20 for percentiles.

How the 550-result limit is handled

SEEK enforces a hard cap: a search returns results only while page × pageSize ≤ 550. Past that it replies with an empty page and no error, so a naive scraper silently stops at 550 and reports success.

When you ask for more than that, this Actor splits your search across SEEK's own filters — work arrangement, then employment type, then industry, then sub-industry, then salary band — recursing until every slice fits inside the window, then merges everything and deduplicates by SEEK job ID. You are never charged twice for the same job.

The coverage block reports exactly what happened: partitions used, raw vs unique jobs, duplicates removed, and whether any slice was left unreachable.

One caveat reported honestly: SEEK's own result counts are approximate and sometimes understate reality — a New Zealand search reporting 94 jobs returned 528 real, unique ones. So reportedJobs is published as context only, never used as a denominator, and never used to decide when to stop collecting.

Skills, seniority and experience

Extracted deterministically — dictionary and pattern matching, no LLM. That means reproducible, explainable results at no per-job cost.

The taxonomy is cross-sector: technology, healthcare, trades and safety tickets, finance, sales and marketing, administration, and general workplace skills. It is tuned for precision over recall, because a wrong skill silently corrupts the aggregate frequencies. "You will excel in this role" does not count as Microsoft Excel; "Good Clinical Practice (GCP)" does not count as Google Cloud; a "Reconciliation Action Plan" does not count as bookkeeping.

seniority is read from the job title and role-framing phrases only, so an ad that mentions reporting to the Head of Engineering does not get classified as an executive role. yearsExperience is populated only when the ad states a number explicitly.

Performance and pricing

SearchUnique jobsRequestsRuntimePeak memory
50 jobs, descriptions on506316s42 MB
500 jobs, descriptions on50053583s59 MB
1,000 jobs, descriptions on1,0001,036153s75 MB
2,000 jobs, descriptions off2,0006333s68 MB

Pricing is pay-per-event: $0.005 per run start, $0.0025 per unique job. The MARKET_SUMMARY record is free. Deduplicated jobs are charged once — if a job is reachable through three different partitions, you pay for it once.

1,000 jobs with full descriptions, skills and salary analysis costs $2.51.

Input reference

FieldTypeNotes
keywordsstringJob title, skill or company. Empty = everything matching your filters.
countryAU / NZWhich SEEK market.
locationstringe.g. Sydney NSW, All Melbourne VIC, All Auckland. Empty = whole country.
maxResultsintegerUnique jobs to return. Above 550 triggers automatic partitioning.
fetchDescriptionsbooleanFull descriptions for skills analysis. Default on.
workTypeselectFull time, Part time, Contract/Temp, Casual/Vacation.
workArrangementselectOn-site, Hybrid, Remote.
classificationselectOne of SEEK's 30 industries.
subclassificationselectNarrower category, as Industry > Sub-category.
datePostedselectAny time, Last 3 / 7 / 14 / 30 days.
salaryMin / salaryMaxintegerAnnual. SEEK matches on overlap.
sortModeselectRelevance or Date.
proxyConfigurationproxyOptional; not required.

Limitations

  • Salary is disclosed on only ~30–40% of listings. Statistics are computed on that subset and the sample size is always reported.
  • Median and percentile statistics are suppressed on small samples rather than published as noise.
  • SEEK's result counts are approximate, especially for New Zealand. Treat reportedJobs as context, not a target.
  • A single search cannot exceed 550 results without partitioning, and a slice that still exceeds the window after every filter has been applied will be reported as truncated in partitionsTruncated.
  • Skills come from the job description, so running with fetchDescriptions: false gives much weaker skills analysis.
  • Jobs that expire mid-run resolve without a description. This is normal and does not fail the run.
  • Keyword matching is SEEK's, not ours. SEEK returns semantically related roles at depth, so a large harvest for "manager" will include senior roles that do not contain the literal word.

Data source, terms and your responsibility

This Actor is an independent tool built by Zapticx. It is not affiliated with, endorsed by, sponsored by, or connected to SEEK Limited or any SEEK company. "SEEK" is a trademark of its owner and is used here only to describe what this tool reads.

It collects employer-published job advertisements. It does not collect candidate profiles, applicant data, or any content behind a login.

How it accesses SEEK. It reads undocumented JSON endpoints that SEEK's own website uses. These are not an official, public or supported SEEK API, and SEEK's developer programme does not offer job-listing retrieval. Because the endpoints are undocumented, no continued availability is promised — SEEK may change or withdraw them at any time and without notice, and this Actor may stop working as a result. When that happens the Actor detects the change and fails loudly rather than returning a partial or misfiltered dataset.

SEEK's Website Terms and Conditions restrict automated access. Section 9(b) states that you must not use, or assist anyone to use, an automated process, script, tool, bot or scraper to access, query, search, copy, collect, mine or harvest information through SEEK's services, except through a technical interface SEEK has provided for that purpose. Section 7(d) prohibits data mining, robots and screen scraping except with SEEK's prior written consent.

You are responsible for your own use of this Actor and of the data it returns, including reviewing SEEK's current terms, obtaining any consent you require, and complying with applicable law — including the Australian Privacy Act and the New Zealand Privacy Act where any personal information (such as a named contact in an advertisement) is involved, and any anti-spam rules in your jurisdiction. If you are unsure whether your intended use is permitted, get legal advice before running it.

This Actor does not bypass authentication, does not solve or evade CAPTCHAs or bot-detection challenges, and does not access any part of SEEK that requires a login.

Support

If a run fails, the status message says what went wrong and whether the cause was your input, SEEK, or a genuinely empty result — those three are never reported as the same thing.


SEEK scraper · SEEK job scraper · SEEK API alternative · Australia job data · New Zealand job data · salary data scraper · job market research · recruitment data · skills demand analysis · seek.com.au scraper · seek.co.nz scraper · AU/NZ hiring intelligence. Built by Zapticx.