SEEK Jobs & Employment Data API
SEEK Jobs & Employment is the job-search app from SEEK Limited, the ASX-listed Australian employment marketplace founded in Melbourne in 1997 and the parent of Jobstreet, Jobsdb and other Asia-Pacific boards. Job seekers in Australia and New Zealand search vacancies by keyword and location, filter by work type and by hybrid or remote arrangements, and open posting pages that show the advertised salary, the employer's company reviews and rating, how many people have already applied, and a match of their own skills against the role. Applications go out from the app with a stored resume, an optional cover letter, the employer's screening questions and right-to-work verification, and an applied-jobs tracker follows each one through its status updates; saved searches can email new matches. The candidate profile collects confirmed roles, qualifications, licences, skills, salary preferences and Certsy-backed credentials, can be published as a public profile that recruiters find through a people search carrying verified-credential badges, and reports how often it has been viewed. A career-feed home screen mixes recommended jobs with market-insight charts of ads posted for a role and location, and an in-app AI chat agent can walk a seeker through the hunt. In Australia and New Zealand it competes for job seekers with Indeed, LinkedIn and SEEK's own employer products.
Advertised AUD bands sit in salary displayValue with a currency of AUD, or a hideSalary flag when the employer withheld them, next to workTypes, hybrid workArrangements, listedAt and the query's resultCount. Opening a posting adds full content, status, isExpired, classifications, the employer's reviewsSummary overallRating, an ApplicantCount insight and, for a signed-in viewer, candidateJobMatch with shouldApply plus matchedSkills.
Candidate records hold confirmedRoles, qualifications, licences, skills2, resumes with fileMetadata, salaryPreferences2, rightsToWork and the public profile's viewCount and searchImpressionCount. A submitted application (jobId, personalDetails, resume, optional coverLetter and questionnaireAnswers) returns an applicationId; the applied-jobs list then logs pipeline events with status and timestamp. Before that write, the apply process can require RequiredRtwVerification and a screening questionnaire. Saved searches expose searchQueryString, subscribeToNewJobs and newToYouCountLabel. The public people directory, queried by searchQuery, roleTitles and locations, returns a profile slug, homeLocation, workHistories and hasVerifiedCredentials. Home-feed market-insight tiles add an adsPostedCount time series for a roleTitleId and locationId.
Labour-market dashboards pull listing fields nightly for Sydney and other anz-1 locations to track hiring volume and advertised AUD pay bands without scraping HTML; recruiting CRMs join public-profile slug, workHistories and verification flags onto outbound prospect records; HR ops bots reconcile each applicationId and its events against an ATS so dropped applications surface the same day; and career-site widgets show overallRating and ads-posted volume next to the same posting the mobile app shows. openData Studio turns these SEEK fields into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Search jobs
POST
/v1/vacancies/searchopendataReturns a job-search listing page (title, advertiser, location, salary displayValue, workTypes, workArrangements) used by the search-results screen.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer). Anonymous calls still send visitor/session ids.
- jobSearch
- id
- title
- advertiser
- location
- displayName
- workTypes
- salary
- hideSalary
- currency
- displayValue
- listedAt
- workArrangements
- resultCount
- searchToken
- sessionId
- solVisitorId
POST /v1/vacancies/search HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"keywords": "software engineer", "where": "Sydney", "searchContext": {"solVisitorId": "<visitor-uuid>", "source": "SEARCH"}, "sessionId": "<jobseeker-session-id>", "locale": "en-AU"}{"jobSearch": {"jobs": [{"id": "87001234", "title": "Software Engineer", "advertiser": {"name": "Example Corp"}, "salary": {"displayValue": "$120,000 - $140,000", "currency": "AUD", "hideSalary": false}, "workTypes": [{"name": "Full time"}], "workArrangements": [{"id": "hybrid"}]}], "resultCount": 1842}}Fetch job details
POST
/v1/vacancies/detailsopendataHydrates a single posting (content, salary, advertiser, classifications) plus company reviewsSummary, ApplicantCount insights and, for a signed-in viewer, candidateJobMatch and matchedSkills.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer). Personalised blocks (candidateJobMatch, matchedSkills) require a signed-in viewer; visitorId is always sent.
- jobDetails
- jobId
- title
- status
- isExpired
- content
- salary
- currencyLabel
- workTypes
- advertiser
- location
- classifications
- companyProfile
- reviewsSummary
- overallRating
- ApplicantCount
- workArrangements
- candidateJobMatch
- matchedSkills
POST /v1/vacancies/details HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234", "zone": "anz-1", "locale": "en-AU", "countryCode": "AU", "visitorId": "<visitor-uuid>", "channel": "JOB_DETAILS"}{"jobDetails": {"job": {"id": "87001234", "title": "Software Engineer", "status": "Active", "content": "<p>Build marketplace services.</p>", "salary": {"label": "$120,000 - $140,000"}, "classifications": {"label": "Information & Communication Technology"}}, "reviewsSummary": {"overallRating": {"value": 3.8}}, "insights": {"type": "ApplicantCount", "count": 42}, "personalised": {"candidateJobMatch": {"trackingId": "match-9"}, "matchedSkills": {"matched": [{"ontologyId": "sk-kotlin"}]}}}}Fetch signed-in candidate profile
POST
/v1/candidates/profileosintLoads the signed-in candidate record used by the profile tab: identity fields, career history, licences, resumes, salaryPreferences2, rightsToWork and publicProfile.slug.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). The profile call returns the signed-in candidate's own record.
- emailAddress
- firstName
- lastName
- phoneNumber
- currentLocation2
- personalStatement
- confirmedRoles
- qualifications
- licences
- skills2
- resumes
- fileMetadata
- salaryPreferences2
- rightsToWork
- publicProfile
- slug
- searchImpressionCount
- viewCount
POST /v1/candidates/profile HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"locale": "en-AU", "countryCode": "AU", "zone": "anz-1"}{"candidate": {"emailAddress": "[email protected]", "personalDetails": {"firstName": "Ada", "lastName": "Nguyen", "phoneNumber": "412345678"}, "confirmedRoles": [{"title": {"text": "Software Engineer"}, "company": {"text": "Example Corp"}}], "resumes": [{"id": "resume-9", "fileMetadata": {"name": "ada-cv.pdf"}}], "publicProfile": {"slug": "ada-nguyen"}, "profileInsights2": {"searchImpressionCount": 128, "viewCount": 17}}}List applied jobs
POST
/v1/candidates/applicationsosintPages the candidate's applied-jobs list with pipeline events (status, timestamp) and the related job title, advertiser and salary.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- appliedJobs
- applicationRequestId
- isActive
- isPreferredApplicationEligible
- priorityApplyState
- events
- status
- timestamp
- job
- title
- advertiser
- salary
- currencyLabel
POST /v1/candidates/applications HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"first": 20, "sortBy": "RECENT"}{"appliedJobs": {"edges": [{"node": {"id": "app-7788", "isActive": true, "applicationRequestId": "req-334", "events": [{"status": "Submitted", "timestamp": {"dateTimeUtc": "2026-10-01T09:01:00Z"}}], "job": {"title": "Software Engineer", "salary": {"label": "$120,000 - $140,000"}}}}]}}Fetch applied job details
POST
/v1/candidates/applications/detailsopendataHydrates one applied posting (pipeline events, attached resume/coverLetter fileName, priorityApplyState) plus ApplicantCount insights for the application-details screen.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- appliedJob
- applicationRequestId
- isActive
- isPreferredApplicationEligible
- priorityApplyState
- events
- status
- documents
- resume
- coverLetter
- attachmentMetadata
- fileName
- ApplicantCount
POST /v1/candidates/applications/details HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234"}{"appliedJob": {"applicationRequestId": "req-334", "priorityApplyState": {"state": "NotPrioritized"}, "events": [{"status": "Submitted"}], "documents": {"resume": {"attachmentMetadata": {"fileName": "ada-cv.pdf"}}, "coverLetter": {"attachmentMetadata": {"fileName": "ada-cover.pdf"}}}}, "jobInsights": {"type": "ApplicantCount", "count": 42}}Submit job application
POST
/v1/vacancies/applicationsopendataSubmits an application (jobId, personalDetails, resume, optional coverLetter and questionnaireAnswers) and returns applicationId or locale-specific errors.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- jobId
- correlationId
- personalDetails
- profilePrivacyLevel
- mostRecentRole
- questionnaireAnswers
- resume
- coverLetter
- selectionCriteria
- applicationId
- errors
POST /v1/vacancies/applications HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234", "correlationId": "<uuid>", "personalDetails": {"firstName": "Ada", "lastName": "Nguyen", "phoneNumber": "412345678"}, "resume": {"id": "resume-9"}, "questionnaireAnswers": []}{"result": {"status": "Success", "applicationId": "app-7788"}}List saved jobs
POST
/v1/candidates/saved-jobsopendataPages the signed-in candidate's saved-jobs list with each posting's title, location, listedAt, advertiser and salary label.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- savedJobs
- id
- isActive
- job
- title
- location
- listedAt
- advertiser
- salary
- currencyLabel
POST /v1/candidates/saved-jobs HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"first": 20}{"savedJobs": {"edges": [{"node": {"id": "saved-12", "isActive": true, "job": {"id": "87001234", "title": "Software Engineer", "listedAt": {"label": "2d ago"}, "advertiser": {"name": "Example Corp"}, "salary": {"label": "$120,000 - $140,000"}}}}]}}Fetch company profile and reviews
POST
/v1/companies/profileopendataLoads a company profile (industry, size, location) plus reviewsSummary ratings and individual review pros/cons used by the company-home screen.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer). Company reviews are public; zone and locale select the market.
- companyProfile
- name
- overview
- industry
- size
- primaryLocation
- reviewsSummary
- overallRating
- numberOfReviews
- salaryRating
- employeeRecommendation
- reviews
- pros
- cons
- salarySummary
POST /v1/companies/profile HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"id": "org-441", "zone": "anz-1"}{"companyProfile": {"id": "org-441", "name": "Example Corp", "overview": {"industry": "Information & Communication Technology"}, "reviewsSummary": {"overallRating": {"value": 3.8, "numberOfReviews": {"value": 214}}}, "reviews": {"data": [{"overallRating": 4, "pros": "Strong engineering culture", "cons": "Slow promotion cycle"}]}}}Search company profiles by name
POST
/v1/companies/searchopendataLooks up company profiles by name for the companies-search screen, returning companyId, organisationId, branding.logo, reviewCount and reviewRating.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer).
- companies
- name
- includeBranding
- limit
- zone
- published
- companyId
- organisationId
- branding
- logo
- reviewCount
- reviewRating
POST /v1/companies/search HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"name": "Example Corp", "limit": 8, "zone": "anz-1"}{"companies": [{"companyId": "org-441", "data": {"name": "Example Corp", "branding": {"logo": "https://cdn.example.com/logo.png"}, "reviewCount": 214, "reviewRating": 3.8}}]}Search public profiles
POST
/v1/people/searchosintLooks up public people profiles by searchQuery, market, roleTitles and locations, returning slug, name, homeLocation, workHistories and digitalIdentity verification flags.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer). Signed-in viewers additionally get verifiedName on unrestricted results.
- matches
- searchQuery
- market
- roleTitles
- locations
- exactMatches
- slug
- firstName
- lastName
- homeLocation
- workHistories
- companyName
- roleTitle
- hasVerifiedCredentials
- digitalIdentity
- verifiedName
POST /v1/people/search HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"searchQuery": "Ada Nguyen", "market": "anz-1", "roleTitles": ["Software Engineer"], "locations": {"ids": ["3000"]}, "pageSize": 20, "visitorId": "<visitor-uuid>"}{"matches": {"exactMatches": [{"node": {"slug": "ada-nguyen", "firstName": "Ada", "lastName": "Nguyen", "homeLocation": {"label": "Sydney NSW"}, "workHistories": [{"companyName": "Example Corp", "roleTitle": "Software Engineer"}], "hasVerifiedCredentials": true}}]}}View public profile
POST
/v1/people/profileosintHydrates a public people profile by slug: workHistories, educationV2, licences, skills and digitalIdentity verification, or a restricted subset when the profile is limited.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer).
- profile
- slug
- firstName
- lastName
- homeLocation
- workHistories
- companyName
- roleTitle
- hasVerifiedCredentials
- digitalIdentity
- verifiedName
- personalSummary
- educationV2
- licences
- skills
- languages
POST /v1/people/profile HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"slug": "ada-nguyen", "market": "anz-1", "visitorId": "<visitor-uuid>"}{"profile": {"firstName": "Ada", "lastName": "Nguyen", "homeLocation": {"label": "Sydney NSW"}, "workHistories": [{"companyName": "Example Corp", "roleTitle": "Software Engineer"}], "educationV2": [{"name": "BSc Computer Science"}], "skills": ["Kotlin", "GraphQL"], "digitalIdentity": {"verifiedName": "Ada Nguyen"}}}Career feed (home)
POST
/v1/feed/careeropendataPages the home career feed: recommended job cards, personal market-insight tiles and signed-in profile-performance insights.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer). Profile-performance tiles require a signed-in viewer.
- feed
- serviceToken
- pageInfo
- cursor
- job
- title
- salary
- advertiser
- roleTitle
- searchImpressionCount
POST /v1/feed/career HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"zone": "anz-1", "visitorId": "<visitor-uuid>", "locale": "en-AU", "components": ["JOBS", "PERSONAL_MARKET_INSIGHTS", "PROFILE_PERFORMANCE"]}{"feed": {"pageInfo": {"cursor": "eyJwYWdlIjogMn0"}, "edges": [{"node": {"type": "Job", "job": {"title": "Software Engineer", "salary": {"label": "$120,000 - $140,000"}}}}, {"node": {"type": "PersonalMarketInsights", "role": {"roleTitle": "Software Engineer"}}}]}}Career-feed market insights
POST
/v1/insights/ad-volumeopendataReturns the ads-posted time series (adsPostedCount per window, adVolumeShift) for a role and location used by the market-insights chart.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer).
- insights
- roleTitleId
- locationId
- adVolumeShift
- adVolumeData
- adsPostedCount
- adsPostedLabel
POST /v1/insights/ad-volume HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"roleTitleId": "role-se", "locationId": "3000", "visitorId": "<visitor-uuid>", "zone": "anz-1"}{"insights": {"adVolumeShift": {"count": 12, "dayRange": 7}, "adVolumeData": {"dataPoints": [{"startDate": "2026-09-29", "adsPostedCount": 64, "adsPostedLabel": "64 ads posted"}]}}}Create AI career-chat thread
POST
/v1/assistant/threadsopendataOpens an AI career-discovery chat thread for the signed-in candidate and returns threadId plus the opening messages and suggestion pills.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- supportedTypes
- skipSuggestions
- context
- threadId
- messages
- suggestions
- label
POST /v1/assistant/threads HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"supportedTypes": ["suggest_pills", "navigation"], "skipSuggestions": false, "context": {"zone": "anz-1", "locale": "en-AU"}}{"threadId": "thr-9f2", "messages": [{"id": "msg-1", "role": "assistant", "content": "Hi! What kind of role are you looking for?"}], "suggestions": [{"id": "sug-1", "label": "Software Engineer jobs in Sydney"}]}Stream AI career-chat message
POST
/v1/assistant/threads/{threadId}/messagesopendataStreams the AI career-discovery reply on an existing thread (MessageComplete content plus ActionProposed navigation) used by the in-app chat agent.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). SSE stream on an existing assistant thread.
- threadId
- supportedTypes
- message
- content
- context
- MessageComplete
- ActionProposed
- Done
POST /v1/assistant/threads/thr-9f2/messages HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json Accept: text/event-stream {"message": {"content": "Show hybrid software engineer jobs in Sydney"}, "supportedTypes": ["suggest_pills"], "context": {"zone": "anz-1"}}event: message_complete data: {"type": "MessageComplete", "message": {"id": "msg-2", "content": "Hybrid Software Engineer roles in Sydney."}} event: action_proposed data: {"type": "ActionProposed", "action": {"id": "act-1", "label": "Open search"}} event: done data: {"type": "Done"}Submit AI career-chat action
POST
/v1/assistant/threads/{threadId}/actions/{actionId}opendataConfirms a proposed in-app AI action on an existing career-chat thread and streams ActionCompleted with actionId, messageId and status.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). Confirms a proposed action pill on an existing assistant thread.
- data
- supportedTypes
- actionId
- messageId
- conversationId
- status
- ActionCompleted
POST /v1/assistant/threads/thr-9f2/actions/act-1 HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json Accept: text/event-stream {"data": {"type": "navigation", "label": "Open search"}, "supportedTypes": ["suggest_pills"]}event: action_completed data: {"type": "ActionCompleted", "actionId": "act-1", "messageId": "msg-2", "conversationId": "thr-9f2", "status": "completed"} event: done data: {"type": "Done"}List saved searches
POST
/v1/candidates/saved-searchesopendataLists the signed-in candidate's saved searches (name, searchQueryString, subscribeToNewJobs, newToYouCountLabel) used by the saved-search / email-alert screen.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- savedSearches
- id
- countLabel
- newToYouCountLabel
- name
- subscribeToNewJobs
- lastExecutionDate
- searchQueryString
POST /v1/candidates/saved-searches HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {}{"savedSearches": [{"id": "ss-441", "name": "Software Engineer · Sydney", "countLabel": "184 new", "newToYouCountLabel": "12 new to you", "subscribeToNewJobs": true, "lastExecutionDate": {"dateTimeUtc": "2026-10-08T01:00:00Z"}, "query": {"searchQueryString": "software engineer"}}]}Fetch job application process
POST
/v1/vacancies/application-processopendataLoads the apply flow for a jobId: screening questionnaire questions, lastAppliedResumeIdPrefill, and requiredVerifications such as RequiredRtwVerification / RequiredIdentityVerification.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). Loaded before submit so screening questions and verifications can be collected.
- applicationProcess
- lastAppliedResumeIdPrefill
- selectionCriteriaRequired
- questionnaire
- requiredVerifications
- RequiredRtwVerification
- RequiredIdentityVerification
POST /v1/vacancies/application-process HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234"}{"applicationProcess": {"documents": {"lastAppliedResumeIdPrefill": "resume-9"}, "questionnaire": {"questions": [{"type": "SingleChoice", "text": "Do you have the right to work in Australia?"}]}, "requiredVerifications": {"verifications": [{"type": "RequiredRtwVerification", "countryCode": "AU"}]}}}Fetch recommended jobs
POST
/v1/candidates/recommendationsopendataReturns the signed-in candidate's recommended-jobs list (title, advertiser, salary, currencyLabel, isNew) used by the recommended-jobs screen.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- recommendations
- recommendedJobs
- isNew
- job
- title
- location
- salary
- currencyLabel
- listedAt
- advertiser
- workTypes
POST /v1/candidates/recommendations HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"limit": 20, "visitorId": "<visitor-uuid>"}{"recommendations": {"recommendedJobs": {"jobs": [{"isNew": true, "job": {"title": "Software Engineer", "salary": {"label": "$120,000 - $140,000", "currencyLabel": "AUD"}}}]}}}Fetch candidate-job match
POST
/v1/vacancies/matchopendataReads the personalised candidateJobMatch for a jobId (shouldApply, shouldApplyMessage, summary, recommendations) used by the job-details match panel.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). Only populated for a signed-in viewer.
- candidateJobMatch
- trackingId
- shouldApply
- shouldApplyMessage
- summary
- recommendations
POST /v1/vacancies/match HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234"}{"candidateJobMatch": {"status": "exists", "trackingId": "match-9", "shouldApply": true, "shouldApplyMessage": "Your skills match this role", "summary": "Strong match on Kotlin and GraphQL"}}Process uploaded resume
POST
/v1/candidates/resumesopendataRegisters a file the candidate already posted to a pre-signed upload target and returns the new resume.id used as the default CV on later applications.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). A pre-signed upload target receives the file first.
- resume
- id
- isDefault
- parsingContext
- countryCode
- origin
- zone
POST /v1/candidates/resumes HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"id": "upload-ada-cv", "parsingContext": "APPLY"}{"resume": {"id": "resume-9"}}Generate written cover letter
POST
/v1/documents/cover-lettersopendataStores the candidate's writtenText as a cover-letter document and returns a document uri the apply flow attaches, or localised errors.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- coverLetter
- writtenText
- uri
- errors
- message
POST /v1/documents/cover-letters HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"writtenText": "I am applying for the Software Engineer role in Sydney."}{"coverLetter": {"status": "success", "uri": "doc://cover-letter/cl-441"}}Mark application as preferred
POST
/v1/applications/preferredopendataMarks an application as a preferred (priority) apply and returns the remaining priority credit remainingCount / totalCredit plus nextRenewalDate, or a not-enough-credit error.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). Spends a priority-apply credit.
- preferredApplication
- applicationRequestId
- state
- credit
- remainingCount
- totalCredit
- nextRenewalDate
- errors
POST /v1/applications/preferred HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"applicationRequestId": "app-req-441", "state": "PREFERRED"}{"preferredApplication": {"status": "success", "credit": {"remainingCount": 2, "totalCredit": 5}}}Fetch job-details skills match
POST
/v1/vacancies/skills-matchopendataReturns the signed-in viewer's personalised matchedSkills for a jobId (matched / inferred / unmatched ontologyId and displayLabel) used by the job-details skills-match panel.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer). Only populated for a signed-in viewer.
- matchedSkills
- matchedQualitiesRequestToken
- matched
- inferred
- unmatched
- ontologyId
- displayLabel
- resumes
POST /v1/vacancies/skills-match HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234"}{"matchedSkills": {"matched": [{"ontologyId": "sk-kotlin", "displayLabel": "Kotlin"}], "inferred": [{"ontologyId": "sk-android", "displayLabel": "Android"}], "unmatched": [{"ontologyId": "sk-go", "displayLabel": "Go"}]}}Fetch similar jobs
POST
/v1/vacancies/similaropendataReturns similar jobs for a jobId (title, advertiser, salary, currencyLabel, isNew) used by the job-details similar-jobs carousel.
Auth: Optional Bearer access token from SEEK account sign-in (Authorization: Bearer).
- similarJobs
- isNew
- job
- id
- title
- location
- salary
- currencyLabel
- listedAt
- advertiser
- workTypes
POST /v1/vacancies/similar HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"jobId": "87001234", "limit": 8, "visitorId": "<visitor-uuid>"}{"similarJobs": {"jobs": [{"job": {"id": "87005555", "title": "Android Engineer", "salary": {"label": "$130,000 - $150,000", "currencyLabel": "AUD"}}}]}}Fetch document download link
POST
/v1/documents/download-linkopendataReturns a short-lived download link for a candidate document (resourceType Resume, resourceId) used when the app opens the stored CV.
Auth: Bearer access token from SEEK account sign-in (Authorization: Bearer).
- document
- resourceId
- resourceType
- Resume
- link
POST /v1/documents/download-link HTTP/1.1 Authorization: Bearer <access-token> Content-Type: application/json {"resourceId": "resume-9", "resourceType": "Resume"}{"document": {"link": "https://cdn.example.com/resumes/resume-9.pdf?sig=mock"}}
Data categories
- job listings
- job details
- candidate profiles
- applications
- saved jobs
- saved searches
- company reviews
- career insights
- public people search
- AI career chat
- right-to-work verification
- resume uploads
- cover letters
- priority apply credits
- skills matching
- similar jobs
Where teams use this data
ANZ job-market pulse
Nightly JobSearchV7 pulls for Sydney (or other anz-1 locations) yield title, advertiser, salary displayValue, currency, workTypes and workArrangements so a labour-market dashboard can track hiring volume and advertised AUD pay bands without scraping HTML.
Candidate CRM enrichment
A recruiting CRM can call PublicProfileSearch with searchQuery plus roleTitles, then join slug, firstName, lastName, homeLocation, workHistories and hasVerifiedCredentials onto outbound prospect records.
Application-pipeline reconciliation
HR ops bots can page GetAppliedJobs for events.status / timestamp and the related job title and advertiser, then reconcile SubmitApplicationSuccess.applicationId against an ATS so dropped applications surface the same day.
Hiring-volume overlay
CareerFeedInsights.adsPostedCount and adVolumeShift for a roleTitleId and locationId, plus CompanyProfile reviewsSummary.overallRating, can be joined onto a posting id so career-site widgets show review scores and ads-posted volume next to the same job the mobile app shows.
Frequently asked questions
Where does the SEEK app load job listings from?
Search results come from the app's job-search API. The request carries the search keywords and location plus a search context (brand, channel, sessionId, solVisitorId) and the viewer's locale and timezone. Each hit carries id, title, advertiser.name, salary.displayValue and workArrangements.
What candidate fields does the profile call return?
The candidate-profile call returns the signed-in user's record: emailAddress, personalDetails (firstName, lastName, phoneNumber), currentLocation2, confirmedRoles, qualifications, licences, skills2, resumes.fileMetadata, salaryPreferences2, rightsToWork, publicProfile.slug and profileInsights2 view counts.
How are SEEK applications submitted and tracked?
The application-process call first loads screening questions and requiredVerifications such as RequiredRtwVerification. The submit call then sends the application input (jobId, personalDetails, resume, questionnaireAnswers) and returns applicationId on success. The applied-jobs list pages each application with events.status, timestamp and the related job title and advertiser.
Can you look up people on SEEK without an employee ATS export?
Yes. The public people-search call takes a search query plus market, role titles and locations and returns exact and partial matches with slug, firstName, lastName, homeLocation, workHistories and a digitalIdentity verification flag. A public-profile call then hydrates the full public card by slug.
Apps similar to SEEK Jobs & Employment
- Indeed Job Search — Indeed is a multinational employment website that aggregates listings from job boards, staffing firms and company career pages and lets seekers apply and store a resume on the site.
- LinkedIn: Community & Network — LinkedIn is a professional networking service where job seekers post CVs and employers post listings, and it opened offices in Australia as the platform expanded.
- Jora Jobs — Jora is an Australian job-search app from Job Seeker Pty Ltd that lists openings from company career pages and job sites so seekers can search by location or industry and apply.
- Adzuna — Adzuna is a job-ad search engine that Fairfax Media launched in Australia as a joint venture to challenge SEEK, gathering vacancies from boards and employer websites into one database.
- Jobstreet: Smart job matching — Jobstreet is SEEK Limited's Southeast Asian employment website, founded in Malaysia in 1997 and operating in Malaysia, Indonesia, the Philippines and Singapore.
- Glassdoor | Jobs & Careers — Glassdoor, owned by Indeed parent Recruit Holdings, is a jobs and careers app that publishes anonymous employee ratings, reviews and salary data alongside listings.
- Glints: Jobs Search & Career — Glints is a Singapore-headquartered recruitment platform where users apply for internships and full-time, part-time or project roles with partnered companies.
Topics
- seek data api
- seek job search
- seek candidate profile
- seek company reviews
- applied jobs tracking
- seek australia jobs
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use