# SEEK Jobs Scraper | AU NZ Jobs Reviews Salaries (`lentic_clockss/seek-scraper`) Actor

Scrape SEEK jobs, reviews, salaries, culture & company pages (au/nz/hk/sg). Extract titles, employers, pay, ratings & URLs — SEEK API alternative.

- **URL**: https://apify.com/lentic\_clockss/seek-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 — Australia Jobs, Reviews & Salaries

**Scrape SEEK Australia job listings, company profiles, employee reviews, and salaries — then download structured data as Excel, CSV, or JSON.**

This Actor is a practical **SEEK API alternative** for recruiting pipelines, job market research, salary benchmarking, and employer intelligence on [au.seek.com](https://au.seek.com/). Enter a job keyword and location (or a company id), pick a channel, and get clean Dataset rows with titles, employers, locations, pay labels, ratings, and direct SEEK URLs.

- Pull **SEEK jobs**, **company overview**, **employee reviews**, **salaries**, and **company jobs** from SEEK Australia
- Search by keyword + location with SEO paths (`software-engineer-jobs`, `in-Sydney-NSW`) and optional sort / remote filters
- Optionally enrich SERP hits with full **job detail** fields (description HTML)
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or Apify MCP / API
- **Pay per event** — Actor start + each Dataset result; platform compute is included (you do not pay separate Apify usage)

---

### What does the SEEK Jobs Scraper do?

SEEK Jobs Scraper lets you **extract structured job and employer data from SEEK Australia** without maintaining your own browser farm. Give it a keyword and location for jobs, or a company id / URL for reviews and salaries, then start a run.

Under the hood, the Actor:

1. Validates your input (channel, market, keyword or employerId, filters)
2. Calls a managed Cloud Run worker that fetches SEEK pages with residential egress
3. Parses guest-visible SSR hydration (`SEEK_REDUX_DATA`, Apollo, company loaders) into normalized records
4. Pushes Dataset rows with preview fields (`name`, `type`, `status`, `country`, `authority`)
5. Writes `RUN_SUMMARY` (and `ERROR_SUMMARY` on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.

---

### What SEEK data can I extract?

| Data | Jobs | Company | Reviews | Salaries | Company jobs |
| --- | :---: | :---: | :---: | :---: | :---: |
| Job / review title | ✅ | ✅ | ✅ | ✅ | ✅ |
| Employer name / ID | ✅ | ✅ | ✅ | ✅ | ✅ |
| Location | ✅ | ✅ | ✅ | — | ✅ |
| Salary label / range | ✅ | — | — | ✅ | ✅ |
| Work type / arrangement | ✅ | — | — | — | ✅ |
| Ratings / review text | — | ✅ | ✅ | — | — |
| Job description (HTML) | ✅* | — | — | — | — |
| Direct SEEK URL | ✅ | ✅ | ✅ | ✅ | ✅ |
| Market / authority | ✅ | ✅ | ✅ | ✅ | ✅ |

\*With `enrichDetails: true` or `/v1/listings` via `detailUrls` / `jobListingIds`.

Every row includes `contentDepth=guest_preview` (public / guest-visible SSR content — no Auth0 login unlock).

---

### Why scrape SEEK Australia?

SEEK is Australia’s leading job board and a major source of hiring demand plus employer reputation signals. Teams scrape SEEK to:

- Build custom Australian job databases for recruiting or lead gen
- Track hiring demand by keyword, city, and work type (remote / hybrid / full-time)
- Benchmark salary labels and company review ratings
- Monitor competitor open roles on company Jobs tabs
- Feed AI agents, CRM workflows, or enrichment pipelines with structured SEEK data

---

### More Actors like this

Need another job board or a different vertical? Use a **dedicated Actor** below for structured fields. Use this Actor for **SEEK** jobs, company pages, reviews, salaries, culture, and people search across AU / NZ / HK / SG.

#### Similar jobs & freelance scrapers
- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)

#### Prefer another specialized scraper?
If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic scrape.

**E-commerce**
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Real Estate**
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

**Travel & Stays**
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**
- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**
- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General tools
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic_clockss](https://apify.com/lentic_clockss).

---

### How to scrape SEEK jobs (no code required)

1. Create a free [Apify](https://apify.com/) account
2. Open [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
3. Choose a **channel** (`jobs`, `company`, `reviews`, `salaries`, `company_jobs`, `culture`, `company_search`, or `people`)
4. For jobs / company_search / people: enter a **keyword** (and location for jobs); for employer tabs: enter **employerId** (e.g. `seek-432600`) or **companyUrl**
5. Pick a **market** (`au`, `nz`, `hk`, or `sg`)
6. Click **Start** and download the Dataset as JSON, CSV, Excel, or JSONL

Start with `maxResults: 5–10` to verify the query, then scale up.

---

### How much does it cost to scrape SEEK?

This Actor uses **pay-per-event** pricing. You are charged for:

| Event | Price |
| --- | --- |
| Actor Start (`apify-actor-start`) | **$0.005** per start |
| Result (`apify-default-dataset-item`) | **$3.00 / 1,000** results (**$0.003** each) |

**Platform usage costs are included** — you do **not** pay separate Apify compute/proxy usage for this Actor on top of the event prices above.

#### Example cost estimates

| Results collected | Approx. event cost* |
| --- | ---: |
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |

\*Assumes one Actor start at default memory billing for start events, plus `$0.003` per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).

Free Apify trial credit can cover a small test run — try `maxResults: 5` first.

---

### Input

Open the **Input** tab for the full form. Common fields:

| Field | Description |
| --- | --- |
| `channel` | `jobs` / `company` / `reviews` / `salaries` / `company_jobs` / `culture` / `company_search` / `people` |
| `keyword` | Jobs / company_search / people keyword |
| `location` | City / region label (e.g. `Sydney NSW`, `Auckland`) |
| `market` | `au` / `nz` / `hk` / `sg` |
| `workType` | Jobs SEO path: `full-time`, `part-time`, `contract`, `casual`, `hybrid`, `remote` |
| `classification` | Jobs SEO `/jobs-in-{classification}` when keyword empty |
| `employerId` | Numeric id (`432600`) or slug-id (`seek-432600`) |
| `companyName` | Used when building URLs from numeric ids (e.g. `SEEK`) |
| `companyUrl` | Optional company profile URL instead of employerId |
| `maxResults` | Cap on Dataset rows (1–200) |
| `maxPages` | Real `?page=N` pagination for jobs / reviews / company_search |
| `sortBy` | Jobs: `ListedDate` / `KeywordRelevance`. Reviews: `Date` / `Helpful` |
| `remote` | Append `/remote` on Jobs SERP path when `workType` empty |
| `enrichDetails` | After jobs SERP, fetch Job LDP (content + rich fields) |
| `detailUrls` / `jobListingIds` | Scrape specific job detail pages |
| `failover` | Allow worker retries (default true) |

#### Example: scrape SEEK jobs in Sydney

```json
{
  "channel": "jobs",
  "keyword": "software engineer",
  "location": "Sydney NSW",
  "market": "au",
  "maxResults": 20,
  "maxPages": 1,
  "sortBy": "ListedDate"
}
````

#### Example: scrape SEEK company reviews

```json
{
  "channel": "reviews",
  "employerId": "seek-432600",
  "companyName": "SEEK",
  "market": "au",
  "maxResults": 20
}
```

#### Example: scrape SEEK company overview

```json
{
  "channel": "company",
  "companyUrl": "https://au.seek.com/companies/seek-432600",
  "market": "au",
  "maxResults": 1
}
```

#### Example: company search + culture

```json
{
  "channel": "company_search",
  "keyword": "SEEK",
  "market": "au",
  "maxResults": 10
}
```

```json
{
  "channel": "culture",
  "employerId": "seek-432600",
  "companyName": "SEEK",
  "market": "au",
  "maxResults": 1
}
```

#### Example: job detail URLs

```json
{
  "detailUrls": [
    "https://au.seek.com/job/93460881"
  ],
  "maxResults": 5
}
```

***

### Output sample

Each Dataset item looks like this (jobs channel):

```json
{
  "dataType": "job_serp_item",
  "jobListingId": "93471478",
  "title": "Software Engineer",
  "name": "Software Engineer",
  "type": "job_serp_item",
  "status": "active",
  "country": "Australia",
  "authority": "au.seek.com",
  "brand": "seek",
  "channel": "jobs",
  "companyName": "Example Corp",
  "location": "Sydney NSW",
  "salaryLabel": "$120,000 - $140,000 per year",
  "listingUrl": "https://au.seek.com/job/93471478",
  "url": "https://au.seek.com/job/93471478",
  "contentDepth": "guest_preview",
  "scrapedAt": "2026-07-23T04:47:47.000000+00:00"
}
```

Reviews and company rows use the same preview fields plus channel-specific attributes (`reviewId`, `overallRating`, `aggregateRating`, `pros` / `cons`, etc.).

Diagnostics live in the key-value store as `RUN_SUMMARY`, `INPUT_ECHO`, and `ERROR_SUMMARY`.

***

### How many SEEK results can this scraper return?

Throughput depends on channel, keyword popularity, and SEEK edge behavior.

- **Jobs**: ~32 cards per page; `maxPages` walks real `?page=N` URLs
- **Reviews**: ~30 reviews per page when guest SSR includes the list; pagination via `?page=N`
- **Company / salaries**: typically one overview or a small set of salary bands from the page payload

Results can vary day to day because SEEK pages are dynamic. A short test run is the best way to estimate volume for your query.

***

### Which SEEK markets are supported?

| Market | Host |
| --- | --- |
| `au` | au.seek.com |
| `nz` | nz.seek.com |
| `hk` | hk.seek.com |
| `sg` | sg.seek.com |

JobsDB hosts are out of scope. Optional `domain` can override the host when needed.

***

### SEEK channels explained

| Channel | What you get |
| --- | --- |
| `jobs` | Jobs SERP by keyword / location / `workType` / `classification` |
| `company` | Company profile overview + aggregate rating |
| `reviews` | Employee review samples (`CompanyReviewV2`) with `sortBy` / page |
| `salaries` | Role salary ranges (`min`/`max`/`label`) from company salaries tab |
| `company_jobs` | Open roles on the company Jobs tab |
| `culture` | Life & culture / branding / gallery |
| `company_search` | Find companies by keyword on `/companies` |
| `people` | Guest people/profiles search (may fail with clear diagnostics) |

***

### Can I use this as a SEEK API alternative?

Yes — for many Australian job-search and employer-research workflows. SEEK does not offer a public bulk jobs/reviews API comparable to Store scrapers, so teams use Actors like this to collect:

- Searchable SEEK job listings as structured data
- Company reviews, salary signals, and open roles
- Australia coverage without operating your own unlock stack

Always respect SEEK’s terms, robots rules, and applicable laws. Do not use scraped data to spam applicants or bypass apply flows. This Actor does not click Apply or submit reviews.

***

### FAQ

#### How do I scrape SEEK jobs by location?

Set `channel` to `jobs`, provide `keyword` and `location` (e.g. `Sydney NSW`), keep `market` as `au`, then start the run. Use `sortBy: "ListedDate"` for newest-first.

#### How do I scrape SEEK reviews for a company?

Set `channel` to `reviews`, pass `employerId` as `seek-432600` (or numeric `432600` + `companyName: "SEEK"`), then start the run.

#### Does this unlock signed-in SEEK content?

No. Rows are marked `contentDepth=guest_preview`. Auth0 login-gated depth is out of scope.

#### What happens if SEEK / Cloudflare blocks a request?

The worker retries with residential session rotation. Check `RUN_SUMMARY.warnings` for details. Partial datasets may still be returned.

#### Can I schedule recurring SEEK scrapes?

Yes. Use Apify Schedules or the API/client to run the Actor on a cron and append or replace datasets over time.

#### Do I need a SEEK API key?

No. The Actor scrapes public SEEK pages through a managed worker. Store runs use the Actor’s configured worker secret automatically.

#### Is it legal to scrape SEEK data?

Our scrapers are designed to extract publicly available information. You should not scrape personal data unless you have a legitimate reason to do so. Personal data is protected by the GDPR in the European Union and by other regulations around the world. If you are unsure whether your use case is legitimate, consult your lawyers. Always review SEEK’s terms of service and robots policy for your jurisdiction.

***

### Integrations

Use the official [JavaScript client](https://docs.apify.com/api/client/js), [Python client](https://docs.apify.com/api/client/python), [Apify CLI](https://docs.apify.com/cli), REST API, or [Apify MCP](https://docs.apify.com/platform/integrations/mcp) to start runs and read Dataset items from your stack (Make, n8n, Zapier, LangChain, custom backends).

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `keyword` (type: `string`):

Jobs / company\_search / people keyword. Optional when classification is set for jobs.

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

Location filter (e.g. Sydney NSW, Auckland, All Sydney NSW).

## `channel` (type: `string`):

Jobs SERP, employer tabs, company search, or people (guest SSR).

## `market` (type: `string`):

SEEK host market (au/nz/hk/sg).

## `domain` (type: `string`):

Optional host override (e.g. au.seek.com, nz.seek.com).

## `employerId` (type: `string`):

Required for employer channels. Numeric id (432600) or slug-id (seek-432600).

## `companyName` (type: `string`):

Used when building company URLs from numeric employerId (e.g. SEEK).

## `companyUrl` (type: `string`):

Optional SEEK company URL instead of employerId.

## `jobTitle` (type: `string`):

Optional filter for salaries channel.

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

Jobs SEO path segment: full-time, part-time, contract, casual, hybrid, remote.

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

Jobs SEO classification slug for /jobs-in-{classification} (when keyword empty).

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

Max rows to return.

## `maxPages` (type: `integer`):

Jobs/reviews/company\_search: real ?page=N pagination (≈32 jobs per page).

## `detailUrls` (type: `array`):

When set, Actor calls /v1/listings for these Job LDP URLs.

## `jobListingIds` (type: `array`):

Alternative to detailUrls — SEEK numeric job ids.

## `enrichDetails` (type: `boolean`):

After SERP, fetch Job LDP for each result (includes content + rich LDP fields).

## `easyApply` (type: `boolean`):

Reserved; SEEK does not expose Easy Apply the same way as Glassdoor.

## `remote` (type: `boolean`):

Append /remote to Jobs SERP path when workType is empty.

## `seniority` (type: `string`):

Optional (unused on SEEK SEO paths).

## `sortBy` (type: `string`):

Jobs: ListedDate / KeywordRelevance. Reviews: Date / Helpful (aliases date/newest/helpful).

## `includeRaw` (type: `boolean`):

Attach upstream parse fragments under raw.

## `failover` (type: `boolean`):

Ask worker to retry / rotate on transient failures.

## `workerBaseUrl` (type: `string`):

Optional override of WORKER\_BASE\_URL (must be https:// in production).

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

Apify proxy UI. Actor does not forward actor-run proxy passwords to Cloud Run; worker uses durable PROXY\_URL.

## Actor input object example

```json
{
  "keyword": "software engineer",
  "location": "Sydney NSW",
  "channel": "jobs",
  "market": "au",
  "domain": "",
  "employerId": "",
  "companyName": "",
  "companyUrl": "",
  "jobTitle": "",
  "workType": "",
  "classification": "",
  "maxResults": 20,
  "maxPages": 1,
  "detailUrls": [],
  "jobListingIds": [],
  "enrichDetails": false,
  "easyApply": false,
  "remote": false,
  "seniority": "",
  "sortBy": "",
  "includeRaw": false,
  "failover": true,
  "workerBaseUrl": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Normalized Glassdoor records.

## `runSummary` (type: `string`):

Run outcome summary.

## `inputEcho` (type: `string`):

Normalized non-secret input.

## `errorSummary` (type: `string`):

Structured failure details.

# 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 = {
    "keyword": "software engineer",
    "location": "Sydney NSW",
    "channel": "jobs",
    "market": "au",
    "domain": "",
    "employerId": "",
    "companyName": "",
    "companyUrl": "",
    "jobTitle": "",
    "workType": "",
    "classification": "",
    "maxResults": 20,
    "maxPages": 1,
    "detailUrls": [],
    "jobListingIds": [],
    "enrichDetails": false,
    "easyApply": false,
    "remote": false,
    "seniority": "",
    "sortBy": "",
    "includeRaw": false,
    "failover": true,
    "workerBaseUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/seek-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 = {
    "keyword": "software engineer",
    "location": "Sydney NSW",
    "channel": "jobs",
    "market": "au",
    "domain": "",
    "employerId": "",
    "companyName": "",
    "companyUrl": "",
    "jobTitle": "",
    "workType": "",
    "classification": "",
    "maxResults": 20,
    "maxPages": 1,
    "detailUrls": [],
    "jobListingIds": [],
    "enrichDetails": False,
    "easyApply": False,
    "remote": False,
    "seniority": "",
    "sortBy": "",
    "includeRaw": False,
    "failover": True,
    "workerBaseUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/seek-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 '{
  "keyword": "software engineer",
  "location": "Sydney NSW",
  "channel": "jobs",
  "market": "au",
  "domain": "",
  "employerId": "",
  "companyName": "",
  "companyUrl": "",
  "jobTitle": "",
  "workType": "",
  "classification": "",
  "maxResults": 20,
  "maxPages": 1,
  "detailUrls": [],
  "jobListingIds": [],
  "enrichDetails": false,
  "easyApply": false,
  "remote": false,
  "seniority": "",
  "sortBy": "",
  "includeRaw": false,
  "failover": true,
  "workerBaseUrl": ""
}' |
apify call lentic_clockss/seek-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEEK Jobs Scraper | AU NZ Jobs Reviews Salaries",
        "description": "Scrape SEEK jobs, reviews, salaries, culture & company pages (au/nz/hk/sg). Extract titles, employers, pay, ratings & URLs — SEEK API alternative.",
        "version": "0.2",
        "x-build-id": "61oDS2Qcd7rkBvfUS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~seek-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-seek-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/lentic_clockss~seek-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-seek-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/lentic_clockss~seek-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-seek-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": {
                    "keyword": {
                        "title": "Keyword",
                        "maxLength": 160,
                        "type": "string",
                        "description": "Jobs / company_search / people keyword. Optional when classification is set for jobs.",
                        "default": "software engineer"
                    },
                    "location": {
                        "title": "Location",
                        "maxLength": 160,
                        "type": "string",
                        "description": "Location filter (e.g. Sydney NSW, Auckland, All Sydney NSW).",
                        "default": "Sydney NSW"
                    },
                    "channel": {
                        "title": "Channel",
                        "enum": [
                            "jobs",
                            "company",
                            "reviews",
                            "salaries",
                            "company_jobs",
                            "culture",
                            "company_search",
                            "people"
                        ],
                        "type": "string",
                        "description": "Jobs SERP, employer tabs, company search, or people (guest SSR).",
                        "default": "jobs"
                    },
                    "market": {
                        "title": "Market",
                        "enum": [
                            "au",
                            "nz",
                            "hk",
                            "sg"
                        ],
                        "type": "string",
                        "description": "SEEK host market (au/nz/hk/sg).",
                        "default": "au"
                    },
                    "domain": {
                        "title": "Domain override",
                        "type": "string",
                        "description": "Optional host override (e.g. au.seek.com, nz.seek.com).",
                        "default": ""
                    },
                    "employerId": {
                        "title": "Employer ID",
                        "type": "string",
                        "description": "Required for employer channels. Numeric id (432600) or slug-id (seek-432600).",
                        "default": ""
                    },
                    "companyName": {
                        "title": "Company name",
                        "type": "string",
                        "description": "Used when building company URLs from numeric employerId (e.g. SEEK).",
                        "default": ""
                    },
                    "companyUrl": {
                        "title": "Company URL",
                        "type": "string",
                        "description": "Optional SEEK company URL instead of employerId.",
                        "default": ""
                    },
                    "jobTitle": {
                        "title": "Job title filter",
                        "type": "string",
                        "description": "Optional filter for salaries channel.",
                        "default": ""
                    },
                    "workType": {
                        "title": "Work type",
                        "enum": [
                            "",
                            "full-time",
                            "part-time",
                            "contract",
                            "casual",
                            "hybrid",
                            "remote"
                        ],
                        "type": "string",
                        "description": "Jobs SEO path segment: full-time, part-time, contract, casual, hybrid, remote.",
                        "default": ""
                    },
                    "classification": {
                        "title": "Classification",
                        "type": "string",
                        "description": "Jobs SEO classification slug for /jobs-in-{classification} (when keyword empty).",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Max rows to return.",
                        "default": 20
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Jobs/reviews/company_search: real ?page=N pagination (≈32 jobs per page).",
                        "default": 1
                    },
                    "detailUrls": {
                        "title": "Job detail URLs",
                        "type": "array",
                        "description": "When set, Actor calls /v1/listings for these Job LDP URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "jobListingIds": {
                        "title": "Job listing IDs",
                        "type": "array",
                        "description": "Alternative to detailUrls — SEEK numeric job ids.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "enrichDetails": {
                        "title": "Enrich job details",
                        "type": "boolean",
                        "description": "After SERP, fetch Job LDP for each result (includes content + rich LDP fields).",
                        "default": false
                    },
                    "easyApply": {
                        "title": "Easy Apply only",
                        "type": "boolean",
                        "description": "Reserved; SEEK does not expose Easy Apply the same way as Glassdoor.",
                        "default": false
                    },
                    "remote": {
                        "title": "Remote only",
                        "type": "boolean",
                        "description": "Append /remote to Jobs SERP path when workType is empty.",
                        "default": false
                    },
                    "seniority": {
                        "title": "Seniority",
                        "type": "string",
                        "description": "Optional (unused on SEEK SEO paths).",
                        "default": ""
                    },
                    "sortBy": {
                        "title": "Sort",
                        "enum": [
                            "",
                            "ListedDate",
                            "KeywordRelevance",
                            "Date",
                            "Helpful"
                        ],
                        "type": "string",
                        "description": "Jobs: ListedDate / KeywordRelevance. Reviews: Date / Helpful (aliases date/newest/helpful).",
                        "default": ""
                    },
                    "includeRaw": {
                        "title": "Include raw",
                        "type": "boolean",
                        "description": "Attach upstream parse fragments under raw.",
                        "default": false
                    },
                    "failover": {
                        "title": "Failover",
                        "type": "boolean",
                        "description": "Ask worker to retry / rotate on transient failures.",
                        "default": true
                    },
                    "workerBaseUrl": {
                        "title": "Worker base URL override",
                        "type": "string",
                        "description": "Optional override of WORKER_BASE_URL (must be https:// in production).",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy UI. Actor does not forward actor-run proxy passwords to Cloud Run; worker uses durable PROXY_URL.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
