SEEK New Zealand Scraper — Jobs from seek.co.nz avatar

SEEK New Zealand Scraper — Jobs from seek.co.nz

Pricing

from $0.69 / 1,000 results

Go to Apify Store
SEEK New Zealand Scraper — Jobs from seek.co.nz

SEEK New Zealand Scraper — Jobs from seek.co.nz

Scrape jobs from SEEK New Zealand (seek.co.nz). Filter by keyword, location, work type, and date. Salary extraction, deduplication, full descriptions.

Pricing

from $0.69 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

SEEK New Zealand Scraper

SEEK New Zealand Scraper

Extract job listings from SEEK New Zealand — New Zealand's largest job board. Filter by keyword, location, work type, category, and date. Optionally fetch full job descriptions with expiry dates and contact details. Supports incremental runs with built-in deduplication.

Pricing: $0.69 per 1,000 results.


⚡ Fast by design

This actor uses GraphQL batching — all jobs on a search page are fetched in a single API request instead of one request per job. Result: 1,000 listings with full descriptions in under 1 minute.

This actorTypical per-job scraper
Requests per 1,000 jobs~20~1,010
Time per 1,000 jobs (fetchDetails: true)~1 min~25 min

Features

  • Keyword and location search — find jobs by title, skill, or role across any NZ region
  • Work type filtering — Full time, Part time, Contract/Temp, Casual/Vacation
  • Job category filtering — filter by industry category (ICT, Healthcare, Engineering, Sales, etc.)
  • Date filtering — only return jobs posted within N days
  • Full description — optional fetch of the complete job description per listing
  • Expiry date — when each listing expires (expiresAtUtc)
  • Contact details — email and phone numbers extracted from the listing body when published
  • Salary extraction — min/max salary and period (hourly/annual) parsed from salary label
  • Work arrangement — Remote, Hybrid, or On-site when provided
  • Advertiser info — id, verification status, and registration date on SEEK
  • Cross-run deduplication — tracks seen jobs across runs; marks reposts with isRepost: true
  • Start URLs — scrape a specific list of SEEK NZ job URLs directly

Input parameters

ParameterTypeDefaultDescription
searchQuerystringKeywords to search for (job title, skill, etc.)
locationstringLocation filter, e.g. Auckland, Wellington, Christchurch
workTypestringAnyFull time, Part time, Contract/Temp, Casual/Vacation
classificationIdintegerSEEK category ID (see list below)
daysOldintegerMaximum listing age in days
sortModestringKeywordRelevanceKeywordRelevance or ListedDate
maxResultsinteger100Maximum results to return (max 500 per search)
fetchDetailsbooleanfalseFetch full HTML job description, expiry date, and contacts per listing
startUrlsarraySpecific SEEK NZ job URLs to scrape
requestDelayMsinteger500Delay between requests in ms
respectRobotsTxtbooleantrueRespect SEEK's crawl-delay guidelines

Common category IDs

IDCategory
6281Information & Communication Technology
1211Healthcare & Medical
1209Engineering
1200Accounting
6362Sales
6251Administration & Office Support
1204Call Centre & Customer Service
1206Construction
1212Hospitality & Tourism
6123Education & Training

Output schema

Always present

FieldTypeDescription
idstringSEEK job ID
titlestringJob title
companystringEmployer name
locationstringLocation label, e.g. Auckland CBD, Auckland
locationCountrystringAlways NZ
workTypestringFull time, Part time, Contract/Temp, Casual/Vacation
workArrangementstring|nullRemote, Hybrid, On-site when provided
categorystringIndustry category
subCategorystring|nullSub-category when available
classificationIdintegerSEEK category ID
salaryLabelstring|nullRaw salary string as displayed on SEEK
salaryMinnumber|nullMinimum salary (parsed)
salaryMaxnumber|nullMaximum salary (parsed)
salaryCurrencystringAlways NZD
salaryPeriodstring|nullYEAR, HOUR, or WEEK
teaserstring|nullShort job summary (1–2 sentences)
bulletPointsarrayHighlights from sponsored listings
publishDatestringPublication date in Auckland timezone (YYYY-MM-DD)
publishDateISOstringPublication date/time in UTC ISO 8601
isFeaturedbooleanWhether listing is sponsored/featured
roleIdstring|nullStandardised SEEK role slug, e.g. software-developer, registered-nurse
logoUrlstring|nullCompany logo image URL (from SEEK branding CDN)
companyProfileUrlstring|nullSEEK company profile page URL (present for verified employers)
urlstringFull URL to the SEEK NZ job listing
isRepostbooleantrue if this job was seen in a previous run
originalPublishDatestring|nullFirst-seen publish date for reposts

With fetchDetails: true

FieldTypeDescription
descriptionstring|nullFull HTML job description
statusstring|nullListing status from SEEK, e.g. Active
isExpiredboolean|nullWhether the listing has expired
expiresAtUtcstring|nullISO 8601 UTC timestamp when the listing expires
contactMatchesarrayEmail and phone contacts when published by the employer
advertiserobjectid, name, isVerified, registrationDate of the SEEK advertiser

Output example

{
"id": "91866432",
"title": "Community Registered Nurse",
"company": "Mary Potter Hospice",
"location": "Porirua, Wellington",
"locationCountry": "NZ",
"workType": "Full time",
"workArrangement": null,
"category": "Healthcare & Medical",
"subCategory": "Nursing",
"classificationId": 1211,
"salaryLabel": "$38 – $45 per hour",
"salaryMin": 38,
"salaryMax": 45,
"salaryCurrency": "NZD",
"salaryPeriod": "HOUR",
"teaser": "Specialist palliative care nursing role based in Porirua.",
"bulletPoints": [],
"publishDate": "2026-05-02",
"publishDateISO": "2026-05-01T22:34:05.120Z",
"isFeatured": false,
"roleId": "community-registered-nurse",
"logoUrl": "https://bx-branding-gateway.cloud.seek.com.au/abc123.1/jdpLogo",
"companyProfileUrl": null,
"url": "https://www.seek.co.nz/job/91866432",
"description": "<p>Mary Potter Hospice is seeking...</p>",
"status": "Active",
"isExpired": false,
"expiresAtUtc": "2026-06-01T14:00:00.000Z",
"contactMatches": [{ "type": "Email", "value": "recruitment@marypotter.org.nz" }],
"advertiser": {
"id": "44123456",
"name": "Mary Potter Hospice",
"isVerified": true,
"registrationDate": "2015-03-10T01:22:00.000Z"
},
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null
}

Usage examples

1. Search developer jobs in Auckland

{
"searchQuery": "developer",
"location": "Auckland",
"maxResults": 100
}

2. All healthcare jobs, last 7 days, with full descriptions

{
"classificationId": 1211,
"daysOld": 7,
"fetchDetails": true,
"maxResults": 200
}

3. Daily feed of new jobs (incremental mode)

{
"daysOld": 1,
"sortMode": "ListedDate",
"maxResults": 500
}

New jobs are compared against previous runs. Reposts are flagged with isRepost: true.

4. Scrape specific job URLs

{
"startUrls": [
{ "url": "https://www.seek.co.nz/job/91693135" },
{ "url": "https://www.seek.co.nz/job/91866432" }
],
"fetchDetails": true
}

Performance

Run sizefetchDetailsEstimated time
100 resultsfalse~5 seconds
100 resultstrue~10 seconds
500 resultsfalse~15 seconds
500 resultstrue~30 seconds

GraphQL batching resolves a full page of 100 jobs in a single API request (~600ms). This is 20–30× faster than scrapers that make one detail request per job.

  • Memory: 256 MB
  • Proxy: None required

Pricing

$0.69 per 1,000 results.

A run returning 500 jobs costs approximately $0.35 plus a small start fee.


Notes

  • 500 results per search: SEEK limits pagination to 5 pages of 100 results. Use classificationId batching or daysOld filtering to retrieve more data across multiple runs.
  • Salary: Not all listings include salary information. When absent, salary fields are null.
  • Work arrangement: Only available from search results. When using startUrls, this field is always null.
  • contactMatches: Requires fetchDetails: true. Not all employers publish contact details.