# SEEK Jobs Scraper – Scrape seek.com.au (AU/NZ) (`logiover/seek-jobs-scraper`) Actor

Scrape SEEK jobs (seek.com.au & seek.co.nz) without login. seek.com.au API alternative; export job listings to CSV/JSON dataset.

- **URL**: https://apify.com/logiover/seek-jobs-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Jobs, Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## SEEK Jobs Scraper – Scrape seek.com.au & seek.co.nz Jobs

Extract job listings from **SEEK**, the largest job board in Australia and New Zealand. This SEEK scraper searches `seek.com.au` and `seek.co.nz` by keyword and location and returns a clean, structured dataset — title, company, salary, work type and more — ready to export to CSV, JSON or Excel. **No login required.**

Run multiple keyword queries in one go, choose Australia or New Zealand, and scale to thousands of listings by combining keywords and locations.

### What you get

Every job is returned as a flat record:

- **title** – the job title.
- **company** – the hiring company name.
- **location** – the advertised location (city/state).
- **salary** – the salary label as shown on SEEK (when present).
- **classification** – SEEK's industry / job category.
- **workType** – Full Time, Part Time, Contract/Temp or Casual.
- **listingDateDisplay** – when the job was posted.
- **url** – direct link to the original SEEK listing.

Results stream to the Apify dataset and download as **CSV, JSON, JSONL, Excel or XML**, or pull them through the Apify API.

### Use cases

- **Job-market research** – measure hiring volume, salary bands and in-demand roles across Australian and NZ industries.
- **Recruiting & sourcing leads** – find companies actively hiring in a city or classification and use the data for outreach.
- **Power a job aggregator or board** – ingest fresh, structured SEEK listings into your own site or app.
- **Salary benchmarking** – collect advertised salary labels by role and location for compensation analysis.
- **Daily monitoring** – schedule the actor to track new postings for your target keywords and regions.

### How to use

1. Add one or more **Keywords / job queries** (e.g. `developer`, `registered nurse`) — each runs as its own search. Leave empty to browse all jobs for a location.
2. Set a **Location** (e.g. `Sydney`, `Melbourne VIC`, `Auckland`) or leave empty for nationwide.
3. Choose the **Country**: Australia (`seek.com.au`) or New Zealand (`seek.co.nz`).
4. Set **Max results** to cap the run.
5. Keep the default **Proxy** (Apify RESIDENTIAL in the target country — required by SEEK), then click **Start** and export as CSV, JSON or Excel.

#### Example input

```json
{
  "keywords": ["software engineer", "data analyst"],
  "location": "Sydney",
  "country": "AU",
  "maxResults": 500
}
````

### FAQ

#### Do I need a SEEK account to use this scraper?

No login is required. The actor reads public SEEK search results. SEEK does require a residential proxy in the target country, which is preconfigured by default.

#### Can I scrape both Australia and New Zealand?

Yes. Use the **Country** input to choose `seek.com.au` (AU) or `seek.co.nz` (NZ). Run the actor twice to cover both.

#### How many jobs can I collect?

SEEK returns ~20 results per page and caps a single query near 1,000 results. To collect more, combine several keywords and locations in one run and raise **Max results**.

#### Can I export the data to CSV or Excel?

Yes. Every run is saved to a dataset you can download as CSV, JSON, JSONL, Excel or XML, or fetch via the Apify API.

#### Is this a seek.com.au API alternative?

Yes. SEEK has no public jobs API, so this actor works as a seek.com.au API alternative — it reads public search results and hands you a structured job dataset you can pull via the Apify API.

#### How do I export SEEK job listings to a CSV or JSON dataset?

Run the actor with your keywords and location, then download the resulting dataset as CSV or JSON (also JSONL, Excel or XML) from the run, or fetch the JSON through the Apify API.

#### Can I scrape SEEK jobs without login?

Yes. This is a no-login job data extraction tool — it only reads public SEEK listings. A residential proxy in the target country is required and preconfigured by default.

### Changelog

#### 2026-06-07

- Docs: added coverage for seek.com.au API alternative, exporting SEEK jobs to CSV/JSON dataset, and scraping SEEK without login.

# Actor input Schema

## `keywords` (type: `array`):

Search terms to look up on SEEK. Each item is run as its own search (e.g. 'developer', 'registered nurse', 'marketing manager'). Leave empty to browse all jobs for the given location.

## `location` (type: `string`):

Where to search, e.g. 'Sydney', 'Melbourne VIC', 'Auckland', 'All Australia'. Leave empty to search nationwide.

## `country` (type: `string`):

Which SEEK site to scrape: Australia (seek.com.au) or New Zealand (seek.co.nz).

## `maxResults` (type: `integer`):

Maximum number of job listings to collect across all keywords. SEEK returns ~20 per page and caps a single query around 1,000 results, so use multiple keywords/locations for higher volume.

## `proxyConfiguration` (type: `object`):

SEEK requires residential proxies in the target country. Leave the default (Apify Proxy · RESIDENTIAL group · matching country).

## Actor input object example

```json
{
  "keywords": [
    "developer",
    "registered nurse"
  ],
  "location": "Melbourne VIC",
  "country": "AU",
  "maxResults": 200,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}
```

# Actor output Schema

## `title` (type: `string`):

Job title

## `company` (type: `string`):

Hiring company

## `location` (type: `string`):

Job location

## `salary` (type: `string`):

Salary label

## `classification` (type: `string`):

Industry / category

## `workType` (type: `string`):

Work type

## `url` (type: `string`):

Listing URL

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "developer"
    ],
    "location": "Sydney",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "AU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/seek-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": ["developer"],
    "location": "Sydney",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "AU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/seek-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "developer"
  ],
  "location": "Sydney",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}' |
apify call logiover/seek-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/seek-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEEK Jobs Scraper – Scrape seek.com.au (AU/NZ)",
        "description": "Scrape SEEK jobs (seek.com.au & seek.co.nz) without login. seek.com.au API alternative; export job listings to CSV/JSON dataset.",
        "version": "1.0",
        "x-build-id": "QnAfyYd5eeCiPYV2V"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~seek-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-seek-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/logiover~seek-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-seek-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/logiover~seek-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-seek-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keywords": {
                        "title": "Keywords / job queries",
                        "type": "array",
                        "description": "Search terms to look up on SEEK. Each item is run as its own search (e.g. 'developer', 'registered nurse', 'marketing manager'). Leave empty to browse all jobs for the given location.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Where to search, e.g. 'Sydney', 'Melbourne VIC', 'Auckland', 'All Australia'. Leave empty to search nationwide."
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "AU",
                            "NZ"
                        ],
                        "type": "string",
                        "description": "Which SEEK site to scrape: Australia (seek.com.au) or New Zealand (seek.co.nz).",
                        "default": "AU"
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of job listings to collect across all keywords. SEEK returns ~20 per page and caps a single query around 1,000 results, so use multiple keywords/locations for higher volume.",
                        "default": 200
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "SEEK requires residential proxies in the target country. Leave the default (Apify Proxy · RESIDENTIAL group · matching country).",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "AU"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
