SEEK - Australia's no. 1 jobs, employment, career and recruitment site

Job Posting
API OverviewSEEK’s Job Posting API enables authorised third parties (such as clients, recruitment software providers and job distributors) to post jobs directly to SEEK on behalf of SEEK Advertisers. The Job Ad Posting API allows jobs to be managed throughout its lifecycle. Please read through this documentation to familiarise yourself with the Job Ad Posting API.
AuthorisationEvery application that intends to make use of the Job Posting API will need to register with SEEK in order to obtain a unique OAuth client key and secret.The key and secret must be protected and should not be shared!
API Principles
  1. Requests are made over HTTPS.
  2. Request and response content is typically in JSON format. If a field value is not needed, that field should be omitted.
  3. API clients must send all JSON documents with aContent-Type header to indicate the media type and version of the document in the request, e.g.
  4. Content-Type: application/vnd.seek.advertisement+json;version=1;charset=utf-8
    The API will respond with a 415 Unsupported Media Type status code if a request uses aContent-Type header that is unsupported by the API. Important: The API will default to the latest media type when a media type and/or version is not specified in the request. This may lead to compatibility issues with your client.
  5. API clients must include anAccept header in their request to specify their preferences for a response body’s media type, e.g.
  6. Content-Type: application/vnd.seek.advertisement+json; version=1;charset=utf-8,application/vnd.seek.advertisement-error+json;version=1; charset=utf-8
    The API will respond with a406 Not Acceptable status code if a request uses anAccept header that is unsupported by the API. Important: The API will default to the latest representation of a resource when a media type and/or version is not specified in the request. This may lead to compatibility issues with your client.
  7. Responses include anX-Request-Id header value which API consumers can quote when requesting support. This can speed up diagnosing issues related to the request.
HAL and the Job Posting APIThe HATEOAS (Hypermedia as the Engine of Application State) principle has been implemented by following the HAL (Hypertext Application Language) specification so that the API and its resources can be discovered through links returned in the API responses. The RFC-6570 specification has been followed for specifying URI templates.The expected usage pattern for the Job Posting API is as follows:
  1. The API consumer performs a GET request on the base URL. The response will contain a list of link templates. These link templates can be used to build URIs of resources. Examples:
    1. Use the “Advertisements” link template to build a URI for getting all advertisements or for getting all advertisements for a specific advertiser.
    2. Use the “Advertisement” link template without an advertisementId to build a URI for creating an advertisement via a POST request.
    3. Use the “Advertisement” link template with an existing advertisementId to build a URI for updating, expiring or retrieving an advertisement.
  2. The link templates may be stored temporarily (e.g. in-memory for a few hours) but should be refreshed periodically.
  3. When job ads are created, updated or expired, the affected advertisement is returned in the response. The response contains the advertisementId and a list of links that can be used for additional actions. Link examples:
    1. The “self” link is a relative URI to the returned job ad which means the link can be used to update or expire the job ad.
    2. The “view” link is a relative URI to show the advertisement once it is live on SEEK.
Development and Testing
  1. The Job Posting integration environment should be used for development and testing.
  2. The integration environment is hosted at https://adposting-integration.cloud.seek.com.au/
  3. An OAuth2 key and secret for the integration environment must be obtained from SEEK in order to work with the API.
  4. See the OAuth2 API on Apiary for information on using your OAuth2 key and secret with the Job Posting API.
  5. Additional information detailing HTTP requests and responses as well as a playground connected to the integration environment can be found at the Job Posting API on Apiary. A PACT (consumer contract) definition can be viewed on GitHub for example requests and responses for the Job Ad Posting API.
  6. Once the API integration requirements are fulfilled, an OAuth2 key and secret for the production environment as well as the address for the production will be provided by SEEK.
Please note: The Job Posting integration environment responses will contain simulated data but accepts the same requests and returns the same responses as the production environment.
Functional OverviewThe following sections show the conceptual steps for creating, updating and expiring an advertisement.
Conceptual Steps to Create a Job Advertisement
Conceptual Steps to Update a Job Advertisement
Conceptual Steps to Expire a Job Advertisement
Workflow for Creating or Updating a Job Advertisement