Seek Job Scraper avatar

Seek Job Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Seek Job Scraper

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

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

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

FieldTypeRequiredDescription
keywordsStringYes*Job title or keyword (e.g. software engineer)
locationStringNoCity or region (e.g. Sydney, Melbourne, Remote)
dateRangeSelectNoFilter by post date: Any time, 24h, 3d, 7d, 14d
jobUrlsString listYes*Direct Seek job URLs to scrape instead of searching
maxItemsIntegerNoMax listings to return (default 50, max 200)
requestTimeoutSecsIntegerNoPer-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

  1. Open the actor and click Try for free
  2. Fill in Keywords and optionally Location
  3. Click Start and wait for the run to finish
  4. Download results from the Dataset tab as JSON, CSV, or Excel

Via API

import apify_client
client = 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 maxItems to stay within range
  • Listings without a salary disclosure will return null for the salary field

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.