Application Export

Application Export

This use case corresponds to the SEEK Optimised Apply product. You can find more information and request an integration on its product page .
Using SEEK’s native apply functionality, candidates can apply for jobs and fill out application forms without leaving SEEK. This allows candidates to use documents and information already stored in their SEEK profiles. SEEK’s native apply enables industry-leading conversion rates of candidates through the application funnel.
When a candidate applies for a job advertised by one of your hirers, the SEEK API makes their application available for export. You can export applications for job ads posted via your recruitment software, but also for those posted directly on SEEK.

Retrieving candidate applications

CandidateApplicationCreated events are emitted when candidates submit applications. You will receive events for SEEK hirers you have an ApplicationExport relationship with at the time of application submission.
You will need to request candidate application details from the GraphQL endpoint in response to these events. For more details, see:
The available deliverables for an application will differ based on the job posting method, configuration of the job ad, and what the candidate provides. Ensure that you have accounted for all supported deliverables when you are validating your build.
Job posting method
Application ingestion method
Via your software
Application Export
Candidate data
resume, cover letter, selection criteria
ATS screening question submissions
Direct on SEEK
Application Export
Candidate data
resume, cover letter, selection criteria
SEEK screening question submissions
The SEEK API may occasionally send duplicate events. This can occur incidentally, or when SEEK finds and fixes a data quality issue. While it is generally safe to ignore duplicate events within a short period of time, we recommend reprocessing them to ensure that your software always has the latest view of each application.
A duplicate CandidateApplicationCreated event does not indicate that a candidate modified their application. A candidate may submit multiple applications for a given job ad on the SEEK job board, but each application is modelled as its own object.
A candidate application will remain for 180 days after the close date of its associated job ad. Your software must store any data that it needs to access after the 180 day period.

Job ads posted outside of your software

A significant number of SEEK hirers have workflows that require posting job ads directly on the SEEK employer website. On the SEEK employer website , there is a job reference field that hirers can provide during posting if they intend for the applications to arrive in their ATS.
In order to support the workflows of these hirers, SEEK strongly recommends that you appropriately handle CandidateApplicationCreated events from job ads posted outside of your software. Otherwise, hirers will need to use the SEEK employer website to manage applications for these job ads.
To associate an application from a job ad with the appropriate position in your software, use the PostedPositionProfile.seekHirerJobReference field. Your software will not have a record of position identifiers for job ads posted outside the SEEK API, so associating applications based on known position identifiers will fail.
If the design of your software prohibits it from handling job ads posted from another source, you can implement the following logic:
  1. Use a reference field to correlate the job ad with an existing position in your software.
  2. If correlation fails, check the PostedPositionProfile.seekCreatedBySelfIndicator field for the job ad.
    true indicates that the job ad was posted by your software. You should triage this job ad as your software may have omitted a reference field.
    false indicates that the job ad was posted outside of your software. You may discard this job ad and its associated applications at the expense of workflow flexibility for your hirers.

Interaction diagrams

Option 1: Webhook

Receiving a candidate application via webhook with the SEEK API:

Option 2: Polling

Receiving a candidate application via polling with the SEEK API:



This is an example of a webhook body containing two CandidateApplicationCreated events :
  "events": [
      "id": "seekAnzPublicTest:event:events:PKCrbdMA7Z99Dvtfo94WTL",
      "type": "CandidateApplicationCreated",

      "createDateTime": "2019-09-18T10:18:16.050Z",

      "candidateApplicationProfileId": "seekAnzPublicTest:candidateProfile:apply:4QM5fWQbdekL9gPtPZrzex",
      "candidateId": "seekAnzPublicTest:candidate:feed:5PGXAHysjZdkQYwZghfL4bRCqvZ7ZM"
      "id": "seekAnzPublicTest:event:events:3QgcY4aFZcc1eu5gjBNCtc",
      "type": "CandidateApplicationCreated",

      "createDateTime": "2019-09-18T10:18:32.150Z",

      "candidateApplicationProfileId": "seekAnzPublicTest:candidateProfile:apply:7DtW6Q68gk2R4okNGhvg1Y",
      "candidateId": "seekAnzPublicTest:candidate:feed:5PGXAHysiXhtA9JUqhyM8hhzMuWMPA"
  "subscriptionId": "seekAnzPublicTest:webhookSubscription:events:BoJiJ9ZWFVgejLXLJxUnvL"