SEEK Jobs & Employment icon

SEEK Jobs & Employment Data API

SEEK Limited · Jobs & Careers

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

  • SEEK Jobs & Employment screenshot 1
  • SEEK Jobs & Employment screenshot 2
  • SEEK Jobs & Employment screenshot 3
  • SEEK Jobs & Employment screenshot 4
  • SEEK Jobs & Employment screenshot 5
  • SEEK Jobs & Employment screenshot 6
  • SEEK Jobs & Employment screenshot 7

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/search opendata

    Returns 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/details opendata

    Hydrates 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/profile osint

    Loads 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/applications osint

    Pages 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/details opendata

    Hydrates 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/applications opendata

    Submits 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-jobs opendata

    Pages 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/profile opendata

    Loads 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/search opendata

    Looks 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/search osint

    Looks 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/profile osint

    Hydrates 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/career opendata

    Pages 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-volume opendata

    Returns 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/threads opendata

    Opens 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}/messages opendata

    Streams 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} opendata

    Confirms 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-searches opendata

    Lists 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-process opendata

    Loads 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/recommendations opendata

    Returns 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/match opendata

    Reads 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/resumes opendata

    Registers 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-letters opendata

    Stores 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/preferred opendata

    Marks 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-match opendata

    Returns 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/similar opendata

    Returns 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-link opendata

    Returns 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

Get a quote