seek.com.au APIwww.seek.com.au ↗
Search and retrieve job listings from SEEK Australia. Access job titles, salaries, locations, descriptions, classifications, and employment status via two endpoints.
curl -X GET 'https://api.parse.bot/scraper/ed567ab8-0364-4d7a-9121-f4de258d4b32/search_jobs?page=1&keywords=software+engineer&page_size=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for jobs by keyword with pagination. Returns job listings with basic info including title, company, location, salary, and teaser. Results may include both featured and non-featured listings.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed). |
| keywordsrequired | string | Search keywords (e.g. 'software engineer', 'project manager', 'data analyst'). |
| location | string | Location filter (e.g. 'Sydney', 'Melbourne'). Omitting returns jobs from all locations. |
| page_size | integer | Results per page (max 20). |
{
"type": "object",
"fields": {
"jobs": "array of job listing objects with id, title, company, location, salary, teaser, work_types, listed_date, classifications, is_featured",
"page": "integer current page number",
"keywords": "string search keywords used",
"page_size": "integer results per page",
"total_count": "integer total number of matching jobs"
},
"sample": {
"data": {
"jobs": [
{
"id": "91791149",
"title": "Contract Manager",
"salary": "$155,000 – $185,000 per year",
"teaser": "Lead financial, safety, client & operational success with an industry leader in providing Metering Services, backed by a long-term contract!",
"company": "ETS",
"location": "Bridgewater, Hobart TAS",
"work_types": [
"Full time"
],
"is_featured": true,
"listed_date": "4d ago",
"classifications": [
{
"classification": "Construction",
"sub_classification": "Contracts Management"
}
]
}
],
"page": 1,
"keywords": "contract manager",
"page_size": 5,
"total_count": 7237
},
"status": "success"
}
}About the seek.com.au API
The SEEK Australia API provides access to job listings from seek.com.au across 2 endpoints, returning up to 20 results per page with fields including title, company, salary, location, work type, and classifications. The search_jobs endpoint accepts keywords and an optional location filter, while get_job_details returns the full job description, employment status, and listing datetime for any individual job ID from the search results.
Search Jobs
The search_jobs endpoint accepts a required keywords parameter (e.g. 'data analyst', 'project manager') and optional location, page, and page_size inputs (max 20 results per page). The response includes a total_count field indicating how many matching listings exist, making it straightforward to paginate through result sets. Each item in the jobs array carries an id, title, company, location, salary, teaser, work_types, listed_date, classifications, and an is_featured flag distinguishing promoted listings from organic results.
Job Details
The get_job_details endpoint takes a job_id sourced from search_jobs results and returns the complete record for that listing. Response fields include an abstract summary, full location, work_types label (e.g. 'Full time', 'Casual/Vacation'), salary, and an is_expired boolean. The listed_at field is an ISO 8601 datetime. If the supplied job ID is not found or has been removed, the endpoint returns a stale_input indicator rather than a hard error.
Coverage and Scope
SEEK is Australia's largest job board, covering roles across industries and states including New South Wales, Victoria, Queensland, and Western Australia. The location parameter in search_jobs accepts city-level strings such as 'Sydney' or 'Melbourne'; omitting it returns results nationwide. Classification data returned in both endpoints reflects SEEK's own category taxonomy, useful for grouping roles by industry or function.
- Aggregate Australian job market data by keyword and location for labour-market research
- Track salary ranges and work types for specific job titles across different cities
- Monitor when new listings matching a keyword appear using the
listed_atfield - Build a job alert system that flags featured versus non-featured listings using
is_featured - Check whether a specific job is still active before surfacing it to users via
is_expired - Classify job volume by industry using the
classificationsfield from search results - Compare job density across Australian locations using
total_countfor different location inputs
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SEEK Australia have an official developer API?+
What does get_job_details return that search_jobs does not?+
get_job_details endpoint returns fields not present in search results: the full abstract text, the status string (e.g. 'Active', 'Expired'), the is_expired boolean, and the listed_at ISO 8601 datetime. The search endpoint provides a shorter teaser rather than the complete job summary.Does search_jobs support filtering by work type, salary range, or classification?+
search_jobs endpoint filters by keywords and location only. Work type, salary range, and classification are returned in the response but cannot be used as input filters. You can fork this API on Parse and revise it to add those filter parameters if your use case requires narrowing results by employment type or industry.Are job listings from New Zealand or other countries included?+
What happens when a job ID no longer exists?+
job_id passed to get_job_details is not found — for example, because the listing was removed — the endpoint returns a stale_input indicator rather than throwing an error. The is_expired boolean in a valid response can also be used proactively to detect listings that have closed.