Economic Indicators List API
Last updated:
Retrieve the complete catalog of US economic indicators covered by Business Quant, along with the full descriptor block for each one — code, name, category, release frequency, seasonal adjustment status, display unit, decimal precision, and direction. This is the discovery endpoint for the macro dataset: every code it returns is immediately valid on the Economic Data API and the Economic Calendar API, and the sorted categories array it hands back can be bound straight to a filter dropdown. Because the catalog changes rarely it is served from a long lived cache, so call it once at startup, keep the result, and stop hard-coding indicator codes into your application. The API is free to use.
Use this endpoint to:
https://data.businessquant.com/economic/list?category={categories}&code={codes}&api_key={api_key}
Related endpoints: Pass any code from this catalog to the Economic Data API for its full historical time-series. Check when the next print lands with the Economic Calendar API, which accepts the same codes and categories. For the equivalent discovery endpoint on the equities side, see the Securities Universe API.
1. Request Parameters
Only the API key is required. Calling the endpoint bare returns every covered indicator, which is the usual way to use it. The two optional filters exist for narrower cases: pulling a single thematic group, or confirming descriptors on a known set of codes without transferring the whole catalog. Unlike the historic endpoint, there is no cap on how many codes you can pass here.
| Parameter | Description |
|---|---|
| api_key |
Required
Your unique API key for authentication.
|
| category |
Optional
Comma separated list of categories to filter by. Values are matched exactly, so use the strings returned in the categories array of an unfiltered call. Remember to URL encode any category containing a space.
Format:
category=Inflation,Employment |
| code |
Optional
Identifier
Comma separated list of specific indicator codes. Case insensitive, and the E: prefix is optional. Combining this with category narrows on both conditions together.
Format:
code=CPIYOY,UNRATE,GDP |
Filters that match nothing return 404. This differs from the Economic Calendar API, where an empty filtered result is a valid 200. Here an empty result means the category or code you asked for does not exist, which is a client error worth surfacing rather than rendering as an empty list.
curl -X GET "https://data.businessquant.com/economic/list?api_key=YOUR_API_KEY"
curl -X GET "https://data.businessquant.com/economic/list?category=Inflation&api_key=YOUR_API_KEY"
curl -X GET "https://data.businessquant.com/economic/list?code=CPIYOY,UNRATE&api_key=YOUR_API_KEY"
2. Sample Response
The catalog arrives in the standard two key envelope. Note that metadata here describes the result set rather than a security: how many indicators matched, and which categories are represented. Switch to JSON to inspect the descriptor objects in data, which carry every field you need to render an indicator correctly without a second call.
File not found:
templates/api-responses/economic-list.json
3. Response Field Reference
The metadata block summarises the result set, and data holds one descriptor object per indicator. These descriptor fields are identical to the ones returned in the metadata array of the Economic Data API, so a single parser handles both responses.
Metadata Fields
| Field | Type | Description |
|---|---|---|
| security_type | array | Always ["Economic Indicator"]. Present so the envelope stays consistent with the equity and fund endpoints, where this field distinguishes asset classes. |
| total_indicators | integer | Number of indicators returned after any filters were applied. |
| categories | array | Sorted, de-duplicated list of the categories present in this result. Bind it directly to a filter control rather than maintaining your own list. |
Data Fields — Indicator Descriptors
| Field | Type | Description |
|---|---|---|
| indicator_id | integer | Internal series key. Stable across code changes, which makes it the safer choice for a primary key in your own store. |
| code | string | Canonical indicator code in its stored form. Pass this to the historic and calendar endpoints. |
| name | string | Full descriptive name of the indicator, suitable for chart titles and table labels. |
| category | string | Thematic grouping, for example Inflation, Employment, Housing, or Interest Rates. Matches the values accepted by the category filter. |
| direction | string | Whether a rising value is economically favourable. Use it to decide whether an increase should render green or red, since a rising unemployment rate and a rising GDP figure carry opposite meanings. |
| freq | string | Short release frequency code, convenient for grouping and sorting. |
| freq_long | string | Human readable release frequency, for example Monthly or Quarterly. Display this one. |
| seasonal_adj | string | Seasonal adjustment status. Worth surfacing, since adjusted and unadjusted variants of the same measure are not interchangeable in analysis. |
| display_unit | string | Unit the raw values are expressed in, for example percent, index level, or thousands of units. Use it to label axes instead of assuming a unit per indicator. |
| decimals | integer | Precision the publisher reports at. Format values to this rather than defaulting to two places, which would misrepresent indicators reported to one or three. |
4. Recommended Usage
Call it once, then cache
The catalog is served from a long lived server side cache because it changes rarely. Fetch it when your application starts, store it locally keyed on indicator_id, and refresh on a daily or weekly schedule. There is no benefit to calling it on every page load.
Never hard-code indicator codes
Display codes are strings and are expected to change over time, which is exactly why history is joined on indicator_id internally. Resolve codes through this endpoint at runtime so a renamed series does not silently break a chart in production.
Drive your formatting from the descriptors
Between display_unit, decimals, and direction you have everything needed to render any indicator correctly without special casing. That means a new indicator added to our coverage appears in your interface formatted properly with no code change.
Build the filter UI from the response
The categories array is already sorted and de-duplicated, so it maps one to one onto a dropdown or a set of tabs. Those same strings are valid filters on this endpoint and on the Economic Calendar API.
Economic Indicators List Request Examples
Copy any request below directly into your application.
https://data.businessquant.com/economic/list?api_key=YOUR_API_KEY
https://data.businessquant.com/economic/list?category=Employment&api_key=YOUR_API_KEY
https://data.businessquant.com/economic/list?category=Inflation,Interest%20Rates&api_key=YOUR_API_KEY
https://data.businessquant.com/economic/list?code=CPIYOY,UNRATE,GDP,PAYEMS&api_key=YOUR_API_KEY
Frequently Asked Questions
What does the Economic Indicators List API return?
The complete catalog of US economic indicators we cover, with a full descriptor for each: code, name, category, release frequency, seasonal adjustment status, display unit, decimal precision, and direction. The metadata block adds a total count and a sorted list of every category represented in the result.
How do I find valid economic indicator codes?
This endpoint is the source of truth. Every code it returns is immediately valid on the Economic Data API and the Economic Calendar API. New indicators are added to coverage over time, so resolving codes at runtime is safer than maintaining a hard-coded list.
Is there a limit on how many codes I can request?
No. The five code cap applies only to the historic time-series endpoint, where each code can return thousands of observations. Descriptors are small, so you can pass as many codes as you like here, or omit the filter entirely for the full catalog.
How often does the catalog change?
Rarely, which is why the response is served from a long lived cache. Fetch it at application startup and refresh on a daily or weekly schedule. Calling it on every request wastes quota without returning anything new.
Why should I store indicator_id rather than code?
Because codes are display strings and can be renamed, while indicator_id is a stable internal key. Our own history tables join on the id for exactly this reason. Keep the id as your primary key and treat the code as a label you refresh from this endpoint.
Is the Economic Indicators List API free to use?
Yes, the Economic Indicators List API is free to use. Sign up for an API key to retrieve the full indicator catalog immediately.