Introduction
The Lightcast ACS API provides access to American Community Survey (ACS) Census data, formatted for easy integration and compatibility with Lightcast area definitions. This API simplifies access to demographic, economic, and housing insights sourced directly from the U.S. Census Bureau’s ACS 5-year estimates, enabling applications in regional analysis, labor market research, and economic modeling.
Lightcast enhances this dataset by translating ACS variables into representative, descriptive metrics, making it easier to retrieve and interpret complex census data.
Users can explore metadata for each metric, such as definitions and underlying ACS variables through the /meta/metrics endpoint.
Note: While the data originates from the U.S. Census Bureau Data API, it is not endorsed or certified by the Census Bureau. By default, all clients are allowed a maximum of 10 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 Lightcast ACS API 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 Lightcast ACS API, the token must include the following scope:
acs(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=acsRequest 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 acs 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 API requests. |
| 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. |
