Locations

Locations

SEEK uses proprietary location IDs to specify the location of positions. Precisely locating positions helps candidates search for the most relevant jobs. They are also used as an input into SEEK’s ad pricing.
Locations are represented as a hierarchy from a larger parent location to smaller child locations. Each scheme has an independent hierarchy of location IDs used for job ads in their market.
The SEEK ANZ hierarchy starts with four top-level areas: Australia, New Zealand, UK and Other. Depending on the location, the hierarchy becomes more specific until an individual suburb is identified.

Before you begin

Partners can use location queries via partner and browser tokens.
  • SEEK recommends using a browser token to query locations directly from a hirer’s browser. For the browser token to work, you will need to include the query:ontologies scope in your request.
  • You can also query locations from your backend using a partner token.

Operations

Partners can use one of the following SEEK API queries for location data:
  • locationSuggestions returns locations matching a provided text string.
  • nearestLocations returns locations relevant to the provided geolocation, ordered by distance.
  • location returns a location for a given SEEK location ID.

locationSuggestions

The locationSuggestions query returns an array of likely locations for a provided text string. You can limit the number of results using the first argument.
You must use the PositionPosting usage type when the suggestions will be used for posting a job ad. This filters out locations that are too general to be associated with a job ad.
QueryVariablesResult
query(
  $first: Int!
  $hirerId: String!
  $schemeId: String!
  $text: String!
  $usageTypeCode: String!
) {
  locationSuggestions(
    first: $first
    hirerId: $hirerId
    schemeId: $schemeId
    text: $text
    usageTypeCode: $usageTypeCode
  ) {
    location {
      id {
        value
      }
      name
      contextualName
      countryCode
      parent {
        id {
          value
        }
        name
        parent {
          id {
            value
          }
          name
        }
      }
    }
  }
}

nearestLocations

The nearestLocations query returns an array of locations closest to the specified latitude & longitude, ordered by distance. You can limit the number of results using the first argument.
This can be used to:
  • Suggest the location nearest to an end user based on their geolocation from a native or web API.
  • Map from your own internal location to a SEEK location.
QueryVariablesResult
query($first: Int!, $geoLocation: GeoLocationInput!, $schemeId: String!) {
  nearestLocations(
    first: $first
    geoLocation: $geoLocation
    schemeId: $schemeId
  ) {
    id {
      value
    }
    name
    contextualName
    countryCode
    parent {
      id {
        value
      }
      name
      parent {
        id {
          value
        }
        name
      }
    }
  }
}

location

The location query returns the location for a given location ID. This can be useful for debugging or exploratory testing:
QueryVariablesResult
query($id: String!) {
  location(id: $id) {
    name
    contextualName
    countryCode
    children {
      name
    }
  }
}
Job Posting