SEEK Australia Jobs Scraper
Pricing
from $0.97 / 1,000 job scrapeds
SEEK Australia Jobs Scraper
Collect SEEK Australia job listings by keyword, location, or URL. Optionally add full job details, company profiles, and company reviews.
Pricing
from $0.97 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Scraptivo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
SEEK Australia Jobs Scraper collects job listings from SEEK Australia and turns them into structured data for hiring research, salary benchmarking, and competitor monitoring. Provide a job title or keyword with an Australian location, or paste SEEK search, job, or company URLs, then export title, advertiser, location, work type, salary, and listing date to JSON, CSV, or Excel. Use it to build job databases, track hiring, and schedule recurring collection. Pricing starts at $1.00 per 1,000 jobs, with optional job details, company profiles, and company reviews at the same rate.
What can you automate with SEEK Australia Jobs Scraper?
- Build targeted job databases — Search titles such as "python developer" in Sydney or nationwide, then export advertiser, salary, work type, and workplace on every row.
- Benchmark pay and work type — Compare SEEK salary labels and annual / monthly / hourly bands by role and city.
- Monitor competitor hiring — Filter by listed time, classification, and workplace arrangement to see who is hiring this week.
- Collect one employer's live jobs — Paste a SEEK company profile URL and pull that company's openings up to your job cap.
- Attach company context — Optionally nest company about-page fields and employee reviews on each job row.
- Schedule recurring collection — Run daily or weekly and push new listings into Sheets, a CRM, or an alert workflow.
Who is this scraper for?
| Team | Workflow |
|---|---|
| Recruitment and staffing agencies | Build city-and-title pipelines of Australian openings and watch which employers are hiring. |
| Compensation and HR analytics teams | Compare SEEK salary bands, work types, and remote / hybrid / on-site mix. |
| Talent-intelligence researchers | Combine live jobs with company size, industry, and reviews when enrichment is on. |
| Sales and lead-generation teams | Spot companies hiring for a skill, then enrich those accounts downstream. |
What data can you collect from SEEK?
| Data group | Example fields | How it helps |
|---|---|---|
| Job identity | jobId, title, url, listedAt, listedAtLabel | Identify each listing and deduplicate across runs with jobId. |
| Employer | advertiserName, organisationName, companyId | See who is hiring on SEEK. |
| Role terms | location, workTypes, workArrangements, classifications, salaryLabel | Filter by city, full-time / casual, workplace, and pay. |
| Job details | descriptionHtml, abstract | Read the full description when Scrape Job Details is enabled (on by default). |
| Company overview | company | Qualify employer scale when Scrape Company Details is enabled. |
| Employee reviews | reviews | Read sentiment on the same job row when Scrape Company Reviews is enabled. |
Listing-card fields are always collected. Full description appears when Scrape Job Details is on. Company and review fields are charged separately and nested on the job row — they are not separate dataset items unless you start from a company URL. Salary fields are empty when SEEK does not publish them.
How to use SEEK Australia Jobs Scraper
- Open the SEEK Australia Jobs Scraper on Apify.
- Enter a search query such as "python developer" and an optional location such as "Sydney NSW 2000", or paste SEEK search / job / company URLs.
- Set Max Jobs (Console prefill is 20;
0means unlimited) and any work-type, classification, or salary filters. - Run the Actor — it writes one dataset row per job (or a company record when you start from a company URL).
- Export the dataset or connect it to your workflow.
{"searchQueries": ["python developer"],"location": "Sydney NSW 2000","maxItems": 20,"scrapeJobDetails": true,"scrapeCompanyDetails": false,"scrapeCompanyReviews": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Example workflow
Build a weekly list of Python developer jobs in Sydney
- Schedule a Monday run with
searchQueries=["python developer"],location="Sydney NSW 2000",listedAt="7d", andworkTypes=["full-time"]. - Keep rows that match your salary band and workplace needs using
salaryLabelandworkArrangements. - On shortlisted company profiles, enable Scrape Company Details and Scrape Company Reviews when you need size, industry, and employee sentiment.
- Send new records to Google Sheets or a CRM through a webhook after each run.
- Deduplicate user-side against the stable
jobIdfield.
The Actor does not filter or merge results across runs — those steps happen in your pipeline.
Automate and integrate your results
- Schedules — Run daily with
listedAt="today"for new-job alerts, or weekly with"7d"for market snapshots. Create a separate scheduled task per query and city. - Webhooks — Push completed runs into Google Sheets, Make, Zapier, Slack, a CRM, or an ATS.
- Exports and API — Download JSON, CSV, Excel, or HTML from the Apify Console, or start a run from the API:
curl -X POST "https://api.apify.com/v2/acts/scraptivo~seek-au-jobs-scraper/runs?token=YOUR-APIFY-TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["python developer"],"location": "Sydney NSW 2000","maxItems": 20,"scrapeJobDetails": true}'
Deduplicate user-side with jobId.
Input reference
| Field | Type | Required | Default | What it controls |
|---|---|---|---|---|
searchQueries | array | No | [] | Job keywords, e.g. python developer. Leave empty and set Location to list all jobs in that place. |
location | string | No | — | SEEK location label, e.g. Sydney NSW 2000. Empty searches all of Australia. |
startUrls | array | No | [] | SEEK search, job, or company profile URLs. |
workTypes | array | No | [] | full-time, part-time, contract, casual. |
workArrangements | array | No | [] | on-site, hybrid, remote. |
classifications | array | No | [] | SEEK job classifications such as information-communication or healthcare. |
salaryType | string | No | "" | annual, monthly, or hourly when using salary min/max. |
salaryMin | integer | No | — | Minimum salary in AUD for the selected salary type. |
salaryMax | integer | No | — | Maximum salary in AUD for the selected salary type. |
listedAt | string | No | "" | today, 3d, 7d, 14d, or 30d. |
scrapeJobDetails | boolean | No | true | Add full description (job-details event). |
scrapeCompanyDetails | boolean | No | false | Add company about fields once per company (company-details event). |
scrapeCompanyReviews | boolean | No | false | Nest reviews on the job/company record (company-reviews event per review). |
maxReviewsPerCompany | integer | No | 0 | Cap reviews per company; 0 means all. |
detailConcurrency | integer | No | 8 | Parallel detail requests (1–20). |
maxItems | integer | No | 0 | Cap on job records; Console prefill is 20. |
proxyConfiguration | object | No | Residential | Apify proxy settings. |
Provide at least one searchQueries keyword, a location, or SEEK startUrls.
Output example
{"recordType": "job","jobId": "94231469","sourceQuery": "python developer","title": "Software Developer","url": "https://au.seek.com/job/94231469","abstract": "Full stack developer, Python and React on AWS. Small flat team, AI use, and real ownership.","advertiserName": "Life Insurance Partners Pty Ltd","organisationName": "Life Insurance Partners Pty Ltd","location": "Surry Hills, Sydney NSW","workTypes": ["Full time"],"workArrangements": ["On-site"],"salaryLabel": "$80,000 – $110,000 per year","salaryMin": 80000,"salaryMax": 110000,"salaryCurrency": "AUD","listedAt": "2026-08-27T03:01:12.000Z","listedAtLabel": "2d ago","isExpired": false,"isVerified": true}
How much does it cost to scrape SEEK?
Billing is pay-per-event. A one-time Actor Start fee of $0.00005 applies per run.
| Event | When it is charged | Price |
|---|---|---|
job (Job scraped) | Each job row | $1.00 per 1,000 |
job-details | Each job enriched with Scrape Job Details | $1.00 per 1,000 |
company-details | Each unique company profile | $1.00 per 1,000 |
company-reviews | Each review | $1.00 per 1,000 |
A 1,000-job run with details on (the default) costs about $2.00 plus Actor Start. Adding company profiles for 200 unique employers adds about $0.20. Apify plan discounts may reduce these prices. Platform compute and proxy usage are billed separately on your Apify plan.
Reliability and responsible use
- Proxy — Residential proxies are recommended for SEEK and are the default setting.
- Conditional fields — Full description, company about fields, and reviews appear only when their toggles are on.
- Public data — The Actor collects publicly visible job, company, and review information from SEEK Australia.
- Responsible use — Only use the data in ways that comply with SEEK's terms of service and applicable law.
Frequently asked questions
Can I scrape SEEK jobs by keyword and city?
Yes. Add titles in searchQueries and an Australian location such as Sydney NSW 2000. Leave location empty for a nationwide search. You can also paste SEEK search, job, or company URLs in startUrls.
Can I schedule SEEK Australia Jobs Scraper to run automatically?
Yes. Open the Scheduler tab in Apify Console and set a recurring cadence — daily with listedAt = "today" for new listings, weekly with "7d" for a market sweep. Create separate schedules per query and city.
What counts as one result?
A job row is one job event at $1.00 per 1,000 jobs. Scrape Job Details adds a job-details event per enriched job. Scrape Company Details adds a company-details event once per unique company. Scrape Company Reviews adds a company-reviews event per review. Reviews nest on the job row — they are not separate dataset items.
Why are some fields empty?
Full description appears only when Scrape Job Details is on. Company size, industry, and website appear when Scrape Company Details is on. The reviews array appears when Scrape Company Reviews is on. SEEK also omits salary on many listings.
How do I avoid duplicate records?
Within one run, listings are deduplicated by jobId. Across runs the Actor appends results and does not merge them. When you combine datasets, keep the first row for each jobId. Setting maxItems caps any single run.
Do I need a proxy?
The Actor works with the default Apify residential proxy. If a run returns unusually few jobs or keeps timing out, confirm that proxyConfiguration uses the RESIDENTIAL group before raising detailConcurrency.
Can I collect one company's jobs and reviews?
Yes. Add a SEEK company URL such as https://au.seek.com/companies/coles-group-433124 to startUrls. The Actor collects live jobs up to maxItems and, when the toggles are on, attaches overview fields and up to maxReviewsPerCompany reviews onto those records.
Related Scraptivo automations
- LinkedIn Job Scraper — collect LinkedIn postings for global hiring research alongside SEEK.
- Glassdoor Jobs Scraper — add Glassdoor listings, ratings, and salaries to the same recruiting dataset.
- ZipRecruiter Scraper — pull US job boards when you need coverage beyond Australia.
- Upwork Jobs Scraper — monitor freelance openings that complement full-time SEEK roles.
- StepStone Jobs Scraper — cover DACH and Benelux job markets with the same workflow.
Support and custom workflows
Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.