Salary

Salary

Hirers must specify a pay type, salary range and description of the remuneration package for their job ad.
Remuneration packages are specified in the offeredRemunerationPackage field within all job posting mutations, and its schema is defined by the input type RemunerationPackageInput .

Pay type

A hirer must specify the pay type for the remuneration package. This is expressed using a combination of two fields:
  1. The basisCode defines how the remuneration for the position is calculated.
  2. The intervalCode defines the period of time the minimum & maximum amounts are calculated over.
There are currently four valid pay types:
basisCode
intervalCode
Description
CommissionOnly
Year
Employment paid exclusively a results-based commission
Salaried
Year
Employment paid on an annual basis
SalariedPlusCommission
Year
Employment paid on an annual basis plus a results-based commission
Hourly
Hour
Employment paid for the number of hours worked
The CommissionOnly basis is being phased out; it does not need to be supported in new SEEK API integrations.

Currency

The currency for the salary range is specified in the currency field within the RemunerationRangeInput.minimumAmount and RemunerationRangeInput.maximumAmount fields. It accepts a three-letter ISO 4217 currency code, in uppercase.
Currently, a single currency is accepted in each location:
  • NZD is used by locations in New Zealand. These are locations that have a countryCode of NZ.
  • GBP is used by locations in the UK & Ireland. These are locations that have a countryCode of GB or IE.
  • AUD is used by all other locations.

Salary range

When posting a job ad, the hirer must specify a salary range with a minimum and optional maximum amount. The amount is a floating point value in the major currency unit (e.g. dollars), calculated over the provided interval.
The salary range is used to provide more relevant job search results to candidates, but it’s not displayed on the job ad. Hirers can provide a salary description to communicate the remuneration package to the candidate.

Validation

Your software should be capable of informing the hirer when they have provided an invalid salary.
Validation rules for salary are subject to change and therefore it is recommended to display any validation errors from the SEEK API against the relevant salary fields on your job posting form.

Error example

When a hirer specifies an hourly salary minimum of 50 and a maximum of 40, the SEEK API will respond with a set of invalid fields like the following:
JSON
Copy
{
  "errors": [
    {
      "message": "Invalid remuneration",
      "extensions": {
        "code": "BAD_USER_INPUT",
        "invalidFields": {
          "/input/positionProfile/offeredRemunerationPackage/ranges/0/minimumAmount/value": "remuneration minimum 50 must be less than or equal to the maximum or default maximum",
          "/input/positionProfile/offeredRemunerationPackage/ranges/0/maximumAmount/value": "remuneration minimum must be less than or equal to the maximum or default maximum 40"
        }
      }
    }
  ],
  "data": null
}

Salary description

Salary ranges are used to refine candidate job searches but aren’t directly visible to candidates. The hirer must provide a free text description if they want to communicate the position’s remuneration.
The RemunerationPackageInput.descriptions field displays a friendly remuneration package description to candidates. Hirers can use this field to give a short summary of remuneration, including further benefits such as bonus options and superannuation.
For example, if a hirer set the salary description field to $100k–$120k + super + bonus it will appear on SEEK like so:
Salary on SEEK