SEEK Jobs Scraper β€” AU/NZ Leads & Intelligence avatar

SEEK Jobs Scraper β€” AU/NZ Leads & Intelligence

Pricing

from $1.00 / 1,000 seek job results

Go to Apify Store
SEEK Jobs Scraper β€” AU/NZ Leads & Intelligence

SEEK Jobs Scraper β€” AU/NZ Leads & Intelligence

Scrape SEEK Australia and New Zealand jobs with salaries, descriptions, skills, visa signals, application questions, and company/recruiter profiles. Extract public emails and phones where published. Track new, updated, reposted, reappeared, and expired roles.

Pricing

from $1.00 / 1,000 seek job results

Rating

0.0

(0)

Developer

Kelopr_bk

Kelopr_bk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Turn SEEK searches and job URLs into structured Australia and New Zealand hiring data. Collect titles, employers, locations, salaries, work arrangements, classifications and dates; add complete descriptions, public contacts, company profiles, skills, visa-sponsorship signals and recurring job-change monitoring when you need them.

Use the Actor for recruitment, lead generation, salary research, job-board datasets, workforce planning, competitor hiring analysis, remote-work studies and technology-demand intelligence.

πŸš€ Your first run

  1. Open Input and keep What do you want to scrape? β†’ Search jobs.
  2. Choose Australia or New Zealand.
  3. Under Search queries, enter one phrase, for example software engineer.
  4. Enter a location such as All Australia, All Sydney NSW, Auckland or All New Zealand.
  5. Set Maximum jobs per search to 3 for a small first run.
  6. Leave Fetch full job details off for a quick overview, or enable it for descriptions, contacts, application questions, company data and job intelligence.
  7. Click Start, open Output, choose a table and export JSON, CSV or Excel.

Already have job URLs? Select Job details from URLs, paste them into Direct SEEK job URLs, and start the run.

Keyword + location ──→ Search jobs ──→ Job cards, salaries and classifications
└─→ Full details enabled
↓
Descriptions Β· contacts Β· companies Β· skills Β· visa signals
SEEK search URLs ─────→ Preserve selected search filters ──→ Paginated job results
Direct job URLs ──────→ Complete records for specific AU/NZ jobs
Recurring search ─────→ Incremental mode ──→ NEW Β· UPDATED Β· REPOST Β· EXPIRED

πŸŽ›οΈ Choose what to collect

WorkflowInputWhat you get
Search jobsscrapeType: "search"Job IDs, titles, companies, locations, displayed salaries, work types, arrangements, classifications, dates, teasers, bullets and URLs.
Search with full detailsscrapeType: "search" + includeJobDetails: trueSearch fields plus descriptions, expiry, application questions, public contacts, company/recruiter information, skills and visa evidence.
SEEK search URLsAdd URLs to searchUrlsJobs from one or more complete SEEK searches, including the filters encoded in those URLs.
Direct job URLsscrapeType: "jobDetails"Complete records for specific seek.com.au and seek.co.nz jobs.
Incremental monitoringincrementalMode: trueNEW, UPDATED, UNCHANGED, REAPPEARED, REPOST and EXPIRED classifications across recurring runs.

Fast search is ideal for market scans and large datasets. Enable full details when you need job text, contacts, application questions, company intelligence or description-based analysis.

▢️ Ready-to-use inputs

{
"scrapeType": "search",
"country": "AU",
"searchQueries": ["software engineer"],
"location": "All Australia",
"includeJobDetails": false,
"maxItems": 10,
"maxPagesPerSearch": 2
}

Full Sydney technology-job audit

{
"scrapeType": "search",
"country": "AU",
"searchQueries": ["software engineer", "data engineer"],
"location": "All Sydney NSW",
"classificationId": "6281",
"includeJobDetails": true,
"maxItems": 50,
"maxPagesPerSearch": 3,
"maxConcurrency": 8
}

New Zealand remote roles

{
"scrapeType": "search",
"country": "NZ",
"searchQueries": ["software engineer"],
"location": "All New Zealand",
"workArrangement": "3",
"sortMode": "ListedDate",
"dateRange": 14,
"includeJobDetails": true,
"maxItems": 25
}

Public recruiter contacts

Contact fields are returned only when a job advert publishes them.

{
"scrapeType": "search",
"country": "AU",
"searchQueries": ["recruitment consultant"],
"location": "Sydney NSW",
"includeJobDetails": true,
"maxItems": 25
}

Visa-sponsorship research

{
"scrapeType": "search",
"country": "AU",
"searchQueries": ["visa sponsorship"],
"location": "All Australia",
"includeJobDetails": true,
"maxItems": 50
}

Inspect specific jobs

Replace these illustrative IDs with current SEEK job URLs.

{
"scrapeType": "jobDetails",
"jobUrls": [
"https://www.seek.com.au/job/12345678",
"https://www.seek.co.nz/job/87654321"
],
"maxConcurrency": 4
}

Monitor new and changed jobs

Use the same stateKey for every recurring run of the same search.

{
"scrapeType": "search",
"country": "AU",
"searchQueries": ["data engineer"],
"location": "All Australia",
"sortMode": "ListedDate",
"incrementalMode": true,
"stateKey": "data-engineer-au",
"emitUnchanged": false,
"emitExpired": false,
"skipReposts": false,
"maxItems": 500,
"maxPagesPerSearch": 25
}

πŸ“₯ Useful input settings

SettingHow to use it
scrapeTypesearch for queries/search URLs or jobDetails for specific job URLs.
countryAU for Australia or NZ for New Zealand. Query searches use this market; direct URLs retain their own market.
searchQueriesOne literal job title, skill or company phrase per entry. Multiple entries run separate searches in one Actor run.
locationCity, suburb, region, state or nationwide label such as All Australia or All New Zealand.
searchUrlsComplete SEEK search-result URLs. Use this when you already configured a search on SEEK.
includeJobDetailsAdds descriptions, contacts, application questions, company/recruiter data, skills and visa signals. Default: off.
jobUrlsDirect seek.com.au or seek.co.nz job URLs used in Job details mode. AU and NZ URLs can be mixed.
sortModeKeywordRelevance or ListedDate.
dateRangeOnly jobs listed within the last N days. 0 means any time.
workTypeAny, Full time (242), Part time (243), Contract/Temp (244) or Casual/Vacation (245).
workArrangementAny, On-site (1), Hybrid (2) or Remote (3).
classificationIdOptional numeric SEEK classification ID, for example 6281 for Information & Communication Technology.
subClassificationIdOptional numeric sub-classification ID; requires a parent classification ID.
salaryMin, salaryMaxOptional salary band in AUD or NZD.
salaryTypeInterpret the salary filter as annual or hourly.
radiusKmSearch distance around a specific location. Default: 50 km.
maxItemsMaximum successfully saved jobs per query or search URL. Default: 20.
maxPagesPerSearchPage safety cap per query or search URL. Default: 5.
maxConcurrencyMaximum number of full job records processed at the same time. Default: 8.
incrementalModeEnable persistent NEW/UPDATED/REAPPEARED/REPOST/EXPIRED tracking.
stateKeyStable identifier for one monitored search. Leave blank to derive it from the current inputs.
emitUnchangedInclude jobs whose tracked content did not change. Default: off.
emitExpiredInclude jobs no longer present after a complete monitored scan. Default: off.
skipRepostsOmit new IDs that match an inactive title + company + location fingerprint. Default: off.

maxItems counts unique successfully saved jobs. Duplicate, unavailable, failed, unchanged and skipped-repost candidates do not consume the saved-result allowance.

πŸ“¦ Core job fields

The default dataset has one row per job. Fields remain flat and friendly to JSON, CSV, Excel and databases.

Identity and search context

FieldMeaning
recordTypeRecord type; job rows use job.
jobIdNumeric SEEK job ID.
globalIdMarket-safe identity such as seek:au:12345678.
titleJob title.
jobUrlCanonical job URL.
sourceCountryAU or NZ.
searchQuery, searchLocationQuery and location that produced the result.
searchSourceUrlRelated SEEK search URL.
searchResultPositionPosition in the collected search result page.
searchTotalCountTotal matching jobs reported for the search.

Employer

FieldMeaning
companyNamePrimary company/advertiser name.
searchCompanyName, detailCompanyNameSeparate names published in summary and complete-job data when they differ.
advertiserName, advertiserIdAdvertiser identity.
employerIdSEEK employer identifier.
companyProfileIdCompany-profile identifier when available.
advertiserVerifiedAdvertiser verification status when published.
advertiserRegistrationDateAdvertiser registration timestamp when available.
isPrivateAdvertiserWhether the advert uses a private advertiser.
employerLogoUrlEmployer/listing logo.

Location and work arrangement

FieldMeaning
locationComplete display location.
locationArea, locationCityBroader area and city.
locationSuburb, locationStateSuburb and state/region.
locationPostcodePostcode when published.
locationCountry, locationCountryCodeCountry and AU/NZ code.
locationHierarchyBroader location labels associated with the job.
workTypesFull time, part time, contract/temp or casual/vacation.
workArrangementsPublished on-site, hybrid or remote labels.
remoteTypeNormalized onsite, hybrid, remote or empty value.

Classification and promotion

FieldMeaning
classification, classificationIdParent SEEK job category and ID.
subClassification, subClassificationIdSub-category and ID.
roleIdNormalized SEEK role identifier.
isFeaturedFeatured/promoted indicator.
displayType, displayStyleSearchAvailable listing presentation labels.

Dates and status

FieldMeaning
listingDatePrimary publication timestamp.
searchListingDate, detailListingDateSeparate summary and complete-job timestamps when available.
listingDateDisplayHuman-readable age such as 2d ago.
expiresAtAdvert expiry timestamp.
statusCurrent advert status.
isExpiredExpiry flag.
isLinkOutWhether the application continues on another website.
scrapedAtCollection timestamp.

πŸ’° Salary fields

FieldMeaning
salaryPrimary salary text.
searchSalary, detailSalarySeparate summary and complete-job salary text when available.
salaryMin, salaryMaxNumeric salary boundaries.
salaryCurrencyAUD or NZD.
salaryPeriodannual, monthly, weekly, daily or hourly.
salaryIncludesSuperWhether the displayed amount explicitly includes superannuation; empty when silent.
salaryParseConfidenceConfidence that the displayed compensation was fully normalized.

Salary fields are normalized only from compensation information published in the advert. Missing salary data is not estimated. A single β€œup to” amount can produce only a maximum value; a β€œfrom” amount can produce only a minimum.

πŸ“„ Complete job content

Enable includeJobDetails or use direct job URLs to add:

FieldMeaning
teaserShort job summary.
bulletPointsHighlight bullets associated with the advert.
descriptionTextComplete readable description.
descriptionHtmlOriginal formatted description.
descriptionWordCountWord count of the collected description.
applicationQuestionsPublished application/screening questions.
applicationQuestionCountNumber of collected application questions.
applyUrlPublic application link.
shareUrlPublic share link.
hasRoleRequirementsWhether role requirements are published.
employerCoverImageUrlAdvert/employer cover image when available.
employerVideoUrl, employerVideoTitleEmployer video information when published.
detailStatusok for a complete detail result or not_requested for summary-only results.

Full job records can include contact information explicitly published in the advert.

Published job contact information
↓
Email Β· phone Β· external website Β· social profile Β· application link
↓
Structured contact fields in the Contacts output table
FieldMeaning
contactName, contactNamesOne compact contact name and all distinct names when available.
contactEmail, emailsOne compact email and all distinct public emails.
contactPhone, phoneNumbersOne compact telephone value and all distinct published numbers.
externalUrlsExternal websites linked from the advert.
socialProfileUrlsPublished LinkedIn, Facebook, Instagram, X, YouTube or TikTok profiles.
applyUrlPublic job-application URL.
contactAvailabilityemail, phone, email_and_phone or none.

Contacts are conditional. Many jobs do not publish an email address or phone number. Missing contacts remain empty and are never fabricated. Handle published business and recruiter contact data responsibly.

🏒 Company and recruiter intelligence

When SEEK publishes an employer or recruiter profile, full job records can include:

Company fields

FieldMeaning
companyProfileName, companyProfileIdCompany profile identity.
companyProfileUrl, companyProfileSlugCompany profile link and slug when available.
companyIndustryPublished industry.
companySizePublished employee-size range.
companyWebsiteCompany website.
companyDescriptionCompany overview.
companyLogoUrl, companyCoverImageUrlCompany media.
companyReviewRating, companyReviewCountPublished rating and review count when available.
companyPerksPublished perks and benefits.
companyTagsAvailable company tags.
companyJobsUrlLink to other jobs from the employer.

Recruiter fields

FieldMeaning
recruiterNameRecruiter/profile name.
recruiterRating, recruiterReviewCountPublished recruiter rating and review count.
recruiterContactNumberPublished recruiter telephone number.
recruiterAgencyName, recruiterAgencyWebsiteRecruitment agency details.
recruiterCountry, recruiterState, recruiterCity, recruiterPostcodePublished recruiter location.
recruiterSpecialisationsRecruitment specialisations.
recruiterPlacementCountPublished placement count when available.

Profile coverage varies. Private advertisers and employers without completed profiles can return empty company or recruiter fields while retaining the job record.

🧠 Job intelligence

Skills

detectedSkills lists technology and platform terms present in the complete job description. Covered terms include:

  • Languages: Python, Java, JavaScript, TypeScript, C#, C++, Go, Rust, PHP, Ruby, Swift and Kotlin.
  • Web frameworks: React, Angular, Vue.js, Node.js, Django, Flask, FastAPI and Spring.
  • Data: SQL, PostgreSQL, MySQL, MongoDB, Redis, Kafka, Spark, Snowflake and Databricks.
  • Cloud and operations: AWS, Azure, Google Cloud, Docker, Kubernetes, Terraform, Git, CI/CD and Linux.
  • Analytics and business platforms: Power BI, Tableau, Salesforce, SAP and Oracle.
  • AI: machine learning, generative AI and large language model terminology.

Only matched terms are returned. The Actor does not invent a skill from a job category alone.

Seniority

FieldMeaning
seniorityintern, entry, senior, lead, staff, principal, manager, director, vp, executive or unspecified.
senioritySourceWhether the matching phrase came from the title or description.
seniorityEvidenceThe exact matched seniority phrase.

Visa sponsorship

ValueMeaning
explicit_sponsorshipThe advert explicitly says sponsorship is available.
open_to_sponsorshipThe advert says sponsorship may be considered.
no_sponsorshipThe advert explicitly rejects sponsorship or requires unrestricted work rights.
not_mentionedNo supported sponsorship statement was found.

visaSponsorshipEvidence preserves the relevant wording so the classification can be reviewed. This is a text signal, not immigration or legal advice.

Data quality

FieldMeaning
dataCompletenessScorePercentage of important job fields populated.
parseConfidenceOverall confidence in the normalized job record.
parseWarningsSpecific missing or partially normalized fields.
contentHashStable content identifier for change tracking.
fingerprintHashTitle + company + location fingerprint for repost detection.

♻️ Incremental job monitoring

Incremental mode remembers the previous state of one monitored search. Keep the same stateKey across recurring runs.

Change typeMeaning
NEWJob ID observed for the first time.
UPDATEDImportant tracked job content changed.
UNCHANGEDNo tracked content changed. Omitted unless emitUnchanged is enabled.
REAPPEAREDThe same job ID returned after becoming inactive.
REPOSTA new job ID matches an inactive title + company + location fingerprint.
EXPIREDA previously active job is absent from a fully completed monitored scan.
FieldMeaning
changeTypeCurrent incremental classification.
firstSeenAt, previousSeenAt, lastSeenAtObservation timestamps.
expiredAtTime the job was confirmed absent from a complete scan.
isRepost, repostOfId, repostDetectedAtRepost detection values.
stateKeyMonitored search identity.

Expired jobs require a complete scan. If a run stops at maxItems, maxPagesPerSearch, a spending limit or a source failure, unseen jobs are not marked expired. This prevents limited runs from creating false expiry records.

πŸ“Š Where to find your data

The default dataset stores one flat row per job. Output views organize the same records for different workflows.

Output tableContents
JobsIDs, titles, companies, countries, locations, salaries, work arrangements, seniority, classifications, dates, URLs and confidence.
Full detailsStatus, expiry, application questions, full descriptions, media, employer data and links.
ContactsContact names, emails, phones, websites, social profiles and apply URLs.
Company & recruiterCompany industry, size, website, description, media, reviews/perks and recruiter/agency details.
Job intelligenceSkills, seniority evidence, visa evidence, normalized salary and data-quality metrics.
ChangesNEW/UPDATED/REPOST/EXPIRED status, observation times, hashes and state key.

The default key-value store also contains an OUTPUT summary with effective options, saved counts, input warnings, duplicate and incremental skips, source failures and per-search stop reasons.

🧾 Example full job record

This abbreviated example is fictional. The company, job ID, contact details and URLs are placeholders.

{
"recordType": "job",
"jobId": "12345678",
"globalId": "seek:au:12345678",
"title": "Senior Software Engineer",
"companyName": "Demo Technology Pty Ltd",
"advertiserVerified": true,
"location": "Sydney NSW",
"locationCity": "Sydney",
"locationState": "New South Wales",
"locationCountryCode": "AU",
"salary": "$150,000 – $180,000 per year + super",
"salaryMin": 150000,
"salaryMax": 180000,
"salaryCurrency": "AUD",
"salaryPeriod": "annual",
"salaryIncludesSuper": false,
"workTypes": ["Full time"],
"workArrangements": ["Hybrid"],
"remoteType": "hybrid",
"classification": "Information & Communication Technology",
"subClassification": "Engineering - Software",
"listingDateDisplay": "2d ago",
"status": "Active",
"isExpired": false,
"teaser": "Build customer-facing services in a collaborative product team.",
"applicationQuestions": [
"Which statement best describes your right to work in Australia?",
"How many years of software engineering experience do you have?"
],
"contactEmail": "jobs@example.com",
"emails": ["jobs@example.com"],
"phoneNumbers": ["0412 345 678"],
"contactAvailability": "email_and_phone",
"companyIndustry": "Technology",
"companySize": "201-500 employees",
"companyWebsite": "https://example.com/careers",
"detectedSkills": [
"Python",
"TypeScript",
"React",
"PostgreSQL",
"AWS",
"Docker",
"Terraform"
],
"seniority": "senior",
"senioritySource": "title",
"seniorityEvidence": "Senior",
"visaSponsorship": "not_mentioned",
"descriptionWordCount": 850,
"applicationQuestionCount": 2,
"dataCompletenessScore": 96.4,
"parseConfidence": 1.0,
"detailStatus": "ok",
"jobUrl": "https://www.seek.com.au/job/12345678"
}

πŸ’³ Pricing

The current Store configuration includes platform usage in the event price.

PlanPrice per 1,000 saved jobs
Free / no discount$1.00
Starter$0.90
Scale$0.80
Business$0.70

An Actor Start event of $0.00005 applies per run up to 1 GB of memory. Higher memory can charge additional start events according to the current Pricing tab.

Only successfully written job rows trigger the result event. Duplicate, failed and incrementally skipped records are not written as paid job results. The Pricing tab is authoritative if prices change.

❓ Practical questions

Why is a field empty? The job or associated profile may not publish it, or full details may be disabled. Summary-only rows use detailStatus: not_requested. Conditional fields remain empty rather than receiving guessed values.

Are emails and phone numbers guaranteed? No. Contacts are returned only when published in the advert. Many jobs expose only an application link.

Does the Actor estimate missing salaries? No. Numeric salary fields are created only when the advert publishes enough compensation information.

Why can search and detail values differ? SEEK can publish a compact value in a search result and a more precise value in the complete job record. Separate search... and detail... fields preserve both values.

Are applicant counts included? No. Applicant count, resume percentage and cover-letter percentage are not returned or estimated.

What does visaSponsorship mean? It summarizes explicit wording found in the job description. Always review visaSponsorshipEvidence; it is not legal advice or confirmation of eligibility.

How are duplicates handled? Jobs are deduplicated by market and job ID across all inputs in the same run. Duplicates do not consume maxItems.

Why did incremental mode save zero rows? If every collected job is UNCHANGED and emitUnchanged is off, a successful run can intentionally produce no job rows. The OUTPUT summary reports the skipped count.

When is a job marked expired? Only after a complete scan confirms the previously active job is absent. Limited or failed scans do not create expiry records.

What happens with incorrect input? The run finishes with a clear correction and does not add a diagnostic row to the jobs dataset.

Can one run contain AU and NZ jobs? Query mode uses one selected market. Direct URL mode can process Australian and New Zealand URLs together.

What formats are available? JSON, JSONL, CSV, Excel, XML, RSS and HTML are available through Apify datasets.

πŸ”Œ API access

Use the same input JSON from your application, command line or automation platform. Keep your Apify token private.

curl -X POST "https://api.apify.com/v2/acts/trakk~seek-job-scraper/runs" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"scrapeType": "search",
"country": "AU",
"searchQueries": ["software engineer"],
"location": "All Australia",
"includeJobDetails": true,
"maxItems": 10
}'

The run response contains the default dataset ID. Use it to download job records or select one of the focused Output views.

βœ… Responsible use

This Actor collects publicly available job and company information. Use results in accordance with applicable laws, privacy requirements and the terms that apply to your use case. Public recruiter and business contact details must be handled responsibly and must not be used for unlawful or unsolicited activity.