Introduction
The Titles API provides access to Lightcast’s comprehensive library of job titles. It supports normalization of raw job titles into standardized Lightcast titles and includes curated mappings to occupations and relevant skills.
Each title is connected to a combination of Standard Occupational Classifications (SOCs) and skills. The skills listed are not exhaustive but are considered significant or distinguishing for that role.
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 Titles section.
Request Headers
(*) Indicates the action to be required
All requests must include the following headers:
Header Key | Value | Description |
---|---|---|
*Authorization | Bearer <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-Type | application/json | Required 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 Titles API, the token must include one of the following scopes:
lightcast_open_free
(for open/free-tier access)emsi_open
(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=lightcast_open_free
Request Parameters
Parameter | Type | Description |
---|---|---|
client_id | string | The client ID provided by Lightcast. |
client_secret | string | The client secret associated with your client ID. |
grant_type | string | Must be set to client_credentials. |
scope | string | Use lightcast_open_free or emsi_open 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
Parameter | Type | Description |
---|---|---|
access_token | string | The token used to authorize the API request. |
expires_in | integer | Number of seconds before the token expires. |
token_type | string | Indicates the type of token. (Always Bearer) |
Job Title Mappings
Mappings combine occupations and skills to describe what a job title represents.
Note: Job Title mappings no longer contain a name value. For structural reasons, the field remains but will always be empty.
Example Job Title Mapping
{
"name": "",
"skills": [
{
"id": "KS121846ZPGFX2YXB1KN",
"name": "Burn Care"
},
{
"id": "KS442546YGKQC49SH18W",
"name": "Wound Care"
}
],
"socs": [
{
"id": "29-1141",
"name": "Registered Nurses"
}
]
}
Status Code Summary
Code | Meaning | Description |
---|---|---|
200 | OK | Request was successful. |
400 | Bad Request | The request was unacceptable, often due to missing a required parameter. |
401 | Unauthorized | Auth error. |
404 | Not Found | Resource not found. |