# SEEK jobs scraper for Australia and New Zealand

> SEEK jobs scraper for Australia and New Zealand. Export job titles, employers, salary text and dates. Filter jobs and get only new listings. No login.

URL: https://cliqtomedia.com/actors/seek-jobs-scraper/

Category: Jobs & hiring · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/seek-jobs-scraper?fpr=cliqto

Type a job search and a place in Australia or New Zealand. You get public SEEK jobs with employer, salary text and dates. Turn on only new to skip jobs you saw before.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `data analyst` in Search keywords. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Search public SEEK job listings in Australia and New Zealand. Get job titles, employers, locations, salary text and dates without a SEEK login. A 20-job search costs $0.051 on the Free plan: $0.015 per start plus $0.0018 per saved job.





## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Start fee | $0.015 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |
| Saved job | $0.0018 (from $0.0015 on paid Apify plans) | One unique SEEK listing card saved to the dataset. |

- One job: about $0.02.
- 1,000 jobs: about $1.81.
- Every day 100 jobs, for 30 days: about $5.85 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Prices checked on 24 October 2026. Current price: https://apify.com/cliqtomedia/seek-jobs-scraper?fpr=cliqto

## Questions

### Do I need a SEEK account?

No. The tool reads public job cards. You only need an Apify account.

### Is the salary a number?

No. It is the text shown on the job card, or empty.

### Does only new find edited jobs?

No. It finds job IDs it has not seen before.

### Does an empty search cost money?

Yes, only the start fee. No job fee is charged.

### Can I get every job or 1000 jobs at once?

No. A run saves at most 400 jobs and scans at most 25 pages. Check `hasMore`. Split research into distinct locations or queries if needed; overlapping searches can return the same ID.

### Are salaries complete and numeric?

No. `salary` is the public card label or `null`. Hidden values are not estimated.

### Does onlyNew detect edits or expired jobs?

No. It detects previously unseen IDs. Existing IDs stay in history; edited or missing cards are not emitted as changes.

## Data fields

- `jobId` (string): Original numeric SEEK job ID as a string.
- `title` (string): Public listing title.
- `advertiser` (string): Public advertiser description; may differ from employer company name.
- `location` (string): First SEEK location display label.
- `area` (string): Broader location hierarchy label when supplied by SEEK.
- `classification` (string): First SEEK job classification display label.
- `workType` (string): Employment type labels joined with commas.
- `salary` (string): Raw public salary label, or null when not disclosed. No numeric salary is inferred.
- `listedAt` (string): Original listing time as an ISO UTC timestamp, or null if absent.
- `url` (string): Public SEEK job URL for the selected country.
- `teaser` (string): Short public listing-card text with contact details redacted.
- `bulletPoints` (array): Public listing-card bullets, with contact details redacted; empty array if absent.
- `fetchedAt` (string): ISO UTC time when the card was read.
- `country` (string): SEEK market: AU or NZ.
- `source` (string): Data source name: SEEK.
- `licence` (null): Null because SEEK does not supply a reuse licence with the card.

## Input settings

- `keywords` (string): One SEEK search query, for example data analyst. SEEK controls relevance; matches may include related roles.
- `where` (string): City or region interpreted by SEEK. Use Auckland with NZ. Use an empty string to search the whole country.
- `country` (string): Australia or New Zealand. Select the matching market for your location.
- `classification` (string): Optional numeric SEEK classification ID, for example 6281 for IT or 1211 for healthcare. Nonmatching promoted jobs are removed.
- `workType` (string): Employment type. Matching is checked on returned cards. Any keeps all types.
- `salaryRange` (string): Optional annual min-max, for example 60000-150000, in AUD for AU or NZD for NZ. SEEK applies this filter; displayed salary stays raw text.
- `dateRange` (integer): Listing age in days: only 0, 1, 3, 7, 14 or 31 are accepted. Zero disables the filter. Dates are checked on returned cards.
- `maxItems` (integer): Maximum jobs saved. Up to 25 pages are scanned even when filters or onlyNew remove rows. Not a guarantee of this count.
- `onlyNew` (boolean): Save only previously unseen SEEK job IDs for this search. First run saves a baseline. Run identical searches sequentially; changing maxItems keeps the same history.

## Step by step on Apify

1. Open Input.
2. Keep Search keywords as `data analyst`, Location as `Sydney` and Country as `AU`.
3. Keep Maximum jobs at `20` and Only new jobs off.
4. Click Start.
5. Open the dataset Jobs view. Check `jobId`, `title`, `advertiser` and `url`.

## Use cases

| Task | Suggested input | Key fields |
|---|---|---|
| Build a hiring research list | Keywords + location | `title`, `advertiser`, `url` |
| Compare advertised pay | `salaryRange` + work type | `salary`, `location`, `classification` |
| Track newly seen roles | `onlyNew: true` | `jobId`, `listedAt`, `fetchedAt` |

## Tips

- Pick the right country. Use Auckland with NZ and Sydney with AU.
- Use a classification ID, like 6281 for IT, to cut unrelated jobs.
- Split big searches by city or keyword. One run saves up to 400 jobs.

## Limits

Data comes from SEEK Australia and SEEK New Zealand. Read the SEEK website terms before reusing the data. Public access does not grant a reuse licence. This Actor is an independent tool and is not endorsed by SEEK.

- Listing cards only. No login, CAPTCHA solving, profile export or full descriptions.
- At most 25 pages, 100 requests, 10 MB of response data and 180 seconds of source work. A larger platform timeout does not expand these limits.
- No claim that every matching SEEK job is returned. Search ordering, promoted cards and source page limits can reduce results.
- Salary labels can be hidden, nonnumeric or hourly even when the search uses an annual range.
- Keyword relevance and location radius come from SEEK. Exact text matching is not promised.
- Source changes, blocked requests and invalid responses cause failure. A scan cap is best effort and returns a successful partial result.

## Sample result

```json
{
  "jobId": "94975181",
  "title": "Category Analytics Assistant",
  "advertiser": "Care Pharmaceuticals",
  "location": "Bondi Junction, Sydney NSW",
  "area": "All Sydney NSW",
  "classification": "Sales",
  "workType": "Full time",
  "salary": null,
  "listedAt": "2026-09-30T07:57:38.000Z",
  "url": "https://www.seek.com.au/job/94975181",
  "teaser": "Support the Head of Category and broader sales team providing data lead analytical insights to drive business growth and success.",
  "bulletPoints": [
    "Exciting opportunity to work with iconic brands",
    "Competitive salary and bonus potential",
    "Fast paced and friendly team"
  ],
  "fetchedAt": "2026-10-14T10:59:01.984Z",
  "country": "AU",
  "source": "SEEK",
  "licence": null
}
```

## Use it from code

Actor ID: `cliqtomedia/seek-jobs-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/seek-jobs-scraper").call(run_input={
    "keywords": "data analyst",
    "where": "Sydney"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

```bash
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~seek-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "data analyst", "where": "Sydney"}'
```

```python
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/seek-jobs-scraper")
result = tool.invoke({"run_input": {"keywords": "data analyst", "where": "Sydney"}})
print(result)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Similar tools

- [Wellfound Jobs Scraper](https://cliqtomedia.com/actors/wellfound-jobs-scraper/)
- [Ashby Jobs Scraper](https://cliqtomedia.com/actors/ashby-jobs-scraper/)
- [Lever Job Scraper](https://cliqtomedia.com/actors/lever-jobs-scraper/)
- [Greenhouse Jobs Monitor & Scraper](https://cliqtomedia.com/actors/greenhouse-jobs-monitor-scraper/)
- [Recruitee Job Snapshots & Changes](https://cliqtomedia.com/actors/recruitee-jobs-monitor-scraper/)
- [SmartRecruiters Jobs Monitor & Scraper](https://cliqtomedia.com/actors/smartrecruiters-jobs-monitor-scraper/)
