Seek Job Scraper
Pricing
from $3.99 / 1,000 results
Seek Job Scraper
Searches Seek.com.au by keyword and location and returns structured job listing data including salary, work type, and full descriptions. No scraping code required.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ZeroBreak
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape job listings from Seek.com.au by keyword and location. Results come back as structured JSON: title, company, salary, work type, full description, and apply link per listing.
What it does
Give it a keyword (and an optional location), and the actor runs a Seek search, pages through the results, and fetches each job detail page. Or skip the search entirely and pass in direct Seek job URLs if you already know which listings you want.
Data lands in the Apify dataset while the run is still going, so you can spot-check results before it finishes.
What people use it for
The most common use cases are job market research, feeding listings into a recruitment platform or CRM, and scheduled job alerts. A few things it handles well:
- Seeing what salary ranges are actually being advertised for a given role in a given city (not what survey tools report)
- Pulling competitor job ads to track how they describe requirements or perks
- Setting up a nightly run that pushes new listings to Slack or a spreadsheet
Input
| Field | Type | Required | Description |
|---|---|---|---|
keywords | String | Yes* | Job title or keyword (e.g. software engineer) |
location | String | No | City or region (e.g. Sydney, Melbourne, Remote) |
dateRange | Select | No | Filter by post date: Any time, 24h, 3d, 7d, 14d |
jobUrls | String list | Yes* | Direct Seek job URLs to scrape instead of searching |
maxItems | Integer | No | Max listings to return (default 50, max 200) |
requestTimeoutSecs | Integer | No | Per-request timeout in seconds (default 30) |
*Provide either keywords or jobUrls.
Example input
{"keywords": "data analyst","location": "Melbourne","dateRange": "7","maxItems": 50}
Output
Each record in the dataset contains:
{"jobId": "84712345","jobTitle": "Data Analyst","company": "Acme Pty Ltd","location": "Melbourne VIC","workType": "Full Time","salary": "AUD 85000 - 100000","classification": "Information & Communication Technology","subClassification": "Business/Systems Analysts","listingDate": "2026-05-10T00:00:00.000Z","jobDescription": "We are looking for a skilled Data Analyst to join our team...","advertiserName": "Acme Pty Ltd","advertiserType": "Direct Employer","bulletPoints": ["Competitive salary and flexible working","Opportunity to work with large-scale datasets","Collaborative and supportive team environment"],"jobUrl": "https://www.seek.com.au/job/84712345","applyUrl": null,"scrapedAt": "2026-05-13T06:45:22.000Z"}
How to run
On the Apify platform
- Open the actor and click Try for free
- Fill in Keywords and optionally Location
- Click Start and wait for the run to finish
- Download results from the Dataset tab as JSON, CSV, or Excel
Via API
import apify_clientclient = apify_client.ApifyClient("YOUR_API_TOKEN")run = client.actor("websift/seek-job-scraper").call(run_input={"keywords": "software engineer","location": "Sydney","dateRange": "7","maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["jobTitle"], item["company"])
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('websift/seek-job-scraper').call({keywords: 'software engineer',location: 'Sydney',dateRange: '7',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.jobTitle, item.company));
Scheduling
Set up a schedule in Apify Console to keep your data fresh. Go to Schedules, create a new schedule with your preferred input, and set a cron expression (e.g. 0 6 * * * for 6am daily). New results are appended to the dataset automatically.
Limitations
- Results depend on what Seek.com.au displays publicly for the given search query
- Seek may cap the number of pages returned for broad searches; use
maxItemsto stay within range - Listings without a salary disclosure will return
nullfor thesalaryfield
Legal
This tool collects publicly available job listing data from Seek.com.au. Use it responsibly and in line with Seek's terms of service. Do not use this actor for mass automated applications or anything that violates platform policies.