Exporting candidate profiles

Exporting candidate profiles

The SEEK API lets you retrieve information about a candidate and their profile related to a particular application.

Before you begin

Before you start working with candidate profiles, you will need to request a partner token.

Data structure

CandidateProfileCandidatePositionOpeningPositionProfilebelongs tois associated withcontains
The CandidateProfile object links to:
  • The Candidate that the profile belongs to via a candidate field.
    candidate.person contains the candidate’s name, email address and phone number.
    This field is connected to the candidate’s live SEEK profile; the query response will reflect updates made by the candidate after applying.
    candidate.documentId can be used as a stable identifier for the candidate across multiple applications.
  • The PositionOpening that the candidate is applying to via an associatedPositionOpenings field.
    You can use this to associate the candidate application with a SEEK job ad and hirer. As the opening may contain multiple position profiles, you will need to match up the positionUri fields to identify the relevant position profile:
    TypeScript
    Copy
    const {
      positionOpening,
      positionUri,
    } = result.data.candidateProfile.associatedPositionOpenings[0];
    const positionProfile = positionOpening.positionProfiles.find(
      (profile) => profile.positionUri === positionUri,
    );
The candidate profile itself contains:
  • Structured details of the candidate’s work experience, education, and more.
    These fields are taken as a snapshot of the candidate’s SEEK profile when they apply through a supported channel.
  • Links to attachments such as the candidate’s resume and cover letter.
  • The candidate’s responses to the job’s screening questions via a seekQuestionnaireSubmission field.
For detailed information on all available fields, refer to the CandidateProfile schema definition .

Operations

Use the GraphQL candidateProfile query to retrieve candidate profiles. You should combine this with the query you use to retrieve attachments and questionnaire submissions.

candidateProfile

QueryVariablesResult
query($id: String!) {
  candidateProfile(id: $id) {
    profileId {
      value
    }
    createDateTime
    candidate {
      person {
        name {
          given
          family
        }
        communication {
          phone {
            formattedNumber
          }
          email {
            address
          }
        }
      }
    }
    associatedPositionOpenings {
      positionOpening {
        positionProfiles {
          seekHirerJobReference
          positionOrganizations {
            id {
              value
            }
            name
          }
          positionUri
        }
      }
      positionUri
    }
    employment {
      organization {
        name
      }
      positionHistories {
        start
        end
        title
      }
    }
    education {
      institution {
        name
      }
      educationDegrees {
        name
        degreeGrantedStatus
        date
      }
    }
    qualifications {
      competencyName
    }
  }
}
Application Export
Application Export