Previewing a job ad

The SEEK API provides the ability for a hirer to preview a job ad as it would appear on SEEK.By integrating job ad preview into your posting flow, hirers will be able to:
  • Preview how their job ad will display in the SEEK search results and job details page.
  • See how their job ad will look on desktop and mobile devices.
  • Verify that their company logo and cover image is as expected.
  • Spot issues with their job ad prior to posting, reducing the need to update their job ad later.
A job ad preview can be programmatically retrieved by your software when posting or updating a job ad. This allows you to build your own button, write your own query to the SEEK API and choose how it is handled.

Browser support

The Job Ad Preview page tracks our standard browser support policy.

Before you begin

  • SEEK recommends using a browser token to generate a job ad preview directly from a hirer’s browser. For the browser token to work, you will need to include the query:posted-position-profile-previews scope in your request.
  • You can also generate a job ad preview URL for a hirer from your backend using a partner token.

Building job ad preview

Your implementation will need to:
  1. Display a button for hirers to click on to preview the job ad.The button should only be enabled if the hirer has provided a positionTitle and a seekAnzWorkTypeCode.
  2. Execute the postedPositionProfilePreview query to generate a job ad preview when the button is clicked.Your software must provide the state of the job ad to the positionProfile argument. It should match what you eventually post for an accurate preview.When rendering the job ad preview during a job ad update workflow, include the profileId obtained from the PositionProfilePosted event for the ad as part of the postedPositionProfilePreview query. For additional information, refer to PostedPositionProfilePreview_PositionProfileInput.
  3. With the previewUri field from the query response, open a new tab for the hirer or render an <iframe /> in flow.The URI is valid for 24 hours.

Example query

QueryVariablesResult
query ($positionProfile: PostedPositionProfilePreview_PositionProfileInput!) {
  postedPositionProfilePreview(positionProfile: $positionProfile) {
    previewUri {
      url
    }
  }
}