Introduction
The US Job Postings API provides access to Lightcast’s comprehensive database of US job postings. It allows you to retrieve postings that can be filtered, sorted, and ranked by various properties such as company, occupation, skills, and geography.
Job postings are collected from multiple sources and enriched with standardized metadata, including company names, job titles, skills, and geographic information.
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 US Job Postings 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 US Job Posting API, the token must include the following scope:
postings:us(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=postings:usRequest 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 postings:usbased on your access. |
Filtering
All endpoints support an extensive filter request object, allowing you to narrow job postings to specific subsets.
Required filter property:
when– Filters job postings by date, either"active"for currently active postings or an object specifyingstartandenddates.
Taxonomy Filters
Many filters correspond to a taxonomy and support ID-based or name-based filtering:
- ID filters – Use taxonomy codes (e.g., skill IDs).
- Name filters – Use exact names of items (e.g., skill names).
Important: Exact matches are required, including capitalization, punctuation, and whitespace. Supported codes/names can be retrieved via
/rankingsor/taxonomies.
Shorthand Filter Example
{
"when": {
"start": "2018-01",
"end": "2018-06"
},
"title_name": [
"Data Scientist",
"Computer Scientist"
]
}Matches postings from January to June 2018 that include either Data Scientist or Computer Scientist as job titles.
Verbose Filter Example
{
"when": {
"start": "2018-01-01",
"end": "2018-04-01"
},
"skills_name": {
"include": [
"SQL (Programming Language)",
"C++ (Programming Language)"
],
"include_op": "and",
"exclude": [
"Java (Programming Language)",
"C Sharp (Programming Language)"
],
"exclude_op": "or"
}
}Matches postings from January 1 to April 1, 2018 that:
- Include postings with both SQL and C++ skills,
- Exclude postings with Java, or C# skills.
Notes
-
include_op/exclude_opdefine how multiple values are matched:and– all items must matchor– any item can match
-
Combining
andon filters with single values per posting (e.g., company, occupation, job title) will always result in 0 matches. -
All filter conditions must be true for a job posting to be included.
Metrics Reference: For a full list of job posting metrics and definitions, see the Job Postings Metrics page
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). |
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 | Authentication error. |
| 404 | Not Found | Resource not found. |
