Overview

Introduction

The Compensation API provides estimated salary ranges for a candidate or employee based on factors such as region, skills, occupation, and experience. Estimates are derived from Lightcast’s extensive dataset of job postings with reported compensation, combined with SOC-level earnings data available at both national and regional levels.

This API supports compensation analysis for workforce planning, benchmarking, and market research applications.

Note: By default, all clients are allowed a maximum of 5 requests per second. Contact us if you require higher limits.

API Endpoint

There are multiple endpoints within this category. Refer to individual API docs under the Compensation API section.

Request Headers

(*) Indicates the action to be required

All requests must include the following headers:

Header KeyValueDescription
*AuthorizationBearer <ACCESS_TOKEN>This is the token obtained from the Authentication API. Include it in this header to authorize the request. (This must be included in all authenticated requests)
Content-Typeapplication/jsonRequired for endpoints that accept a request body. Specifies that the body is in JSON format.

Authentication

All endpoints in this category require an OAuth 2.0 Bearer Token for authentication. Tokens are granted through Lightcast’s Authentication API and are valid for 1 hour.

To access the Compensation API, the token must include the following scope:

  • emsiauth (for expanded access)

Sample Request

curl --request POST \
  --url https://auth.emsicloud.com/connect/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data client_id=CLIENT_ID \
  --data client_secret=CLIENT_SECRET \
  --data grant_type=client_credentials \
  --data scope=emsiauth

Request Parameters

ParameterTypeDescription
client_idstringThe client ID provided by Lightcast.
client_secretstringThe client secret associated with your client ID.
grant_typestringMust be set to client_credentials.
scopestringUse emsiauth based on your access.

Sample Response

{
  "access_token": "<ACCESS_TOKEN>",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Note that the Tokens expire after 3600 seconds. To maintain uninterrupted access, refresh the token before it expires. To know more about this, refer to the Authentication guide.

Response Parameters

ParameterTypeDescription
access_tokenstringThe token used to authorize API requests.
expires_inintegerNumber of seconds before the token expires.
token_typestringIndicates the type of token. (Always Bearer)

Status Code Summary

CodeMeaningDescription
200OKRequest was successful.
400Bad RequestThe request was unacceptable, often due to missing a required parameter.
401UnauthorizedAuthentication error.
404Not FoundResource not found.