There is no official Seek API. Seek keeps the data in its markup, so accessing it in bulk means scraping the pages.
Here is what our Seek Actor returns, how much it costs, and where its limits are.
Start a run and wait for the dataset with one call:
curl -X POST "https://api.apify.com/v2/acts/blackfalcondata~seek-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"query": "..."}'
The same call from Python:
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("blackfalcondata~seek-scraper").call(run_input={"query": "..."})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
Every row contains 73 fields, split across several groups:
This actual run record has been cut to its leading fields:
{
"jobId": "1d099a5756d6c6d33a01db4f82abcb13b79ffc447b944b397648745647aab3a4",
"seekJobId": "94016364",
"title": "Software Developer",
"canonicalUrl": "https://au.seek.com/job/94016364",
"company": "Private Advertiser",
"companyUrl": null,
"advertiserId": "",
"location": "Melbourne VIC",
"locationCountry": "AU",
"locationState": null,
"locationSuburb": null,
"locationPostcode": null,
"salaryText": null,
"salaryMin": null
}
The input accepts 53 options, including query, country, location, startUrls, maxResults, maxPages, sortMode, dateRange, workType, workArrangement, and more. Filters run server-side, so you pay only for the records you requested instead of collecting extra records and filtering them afterwards.
Coverage includes Australia and New Zealand. The country option accepts AU or NZ and defaults to AU. Each run is limited to one market before it produces any records, so data outside that market is neither fetched nor billed.
Pricing is per event, with no subscription:
Here are the results from a measured run, not an estimate:
Is there an official Seek API? No. Seek publishes the data on its pages but provides no public API for it. Every option here therefore involves reading those pages.
How do I authenticate? Use an Apify API token, supplied through ?token= or an Authorization: Bearer header. It is your token, not ours, and the only credential required. You do not need a separate account on the source site.
How long does one call take? The measured run returned 25 records in 11.2 seconds. run-sync-get-dataset-items keeps the connection open for the entire run. For larger runs, start the run and poll the dataset instead.
Can I page through results? maxResults bounds the run rather than paging through responses. You request a number of records and receive one dataset. To read that dataset in chunks, use the dataset endpoint's offset and limit options.
What format does it return? The default format is JSON. By changing the format parameter, the same run's dataset endpoint also serves CSV, XLSX and JSONL. No separate export step is required.
the Seek API on Apify runs on Apify, and the endpoint above is the entire integration. New accounts receive $5 of free platform credit each month, enough to cover a real run of this size several times over.
Disclosure: we build and maintain this Actor, and the link above is an affiliate link.