Indicators
Indicators describe available time series. Use GET /v1/indicators for search and paging, then GET /v1/indicators/{code} for detail.
List indicators
GET /v1/indicators is anonymous and cached.
curl "https://api.creativeforesight.io/v1/indicators?search=unemployment&limit=5"Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
source | string | No | Filter by source slug. |
category | string | No | Filter by top-level taxonomy domain, such as labor or government-finance. |
frequency | string | No | Filter by source frequency. |
search | string | No | Text search across indicator metadata. |
include_inactive | boolean | No | Include inactive indicators. Defaults to false. |
limit | integer | No | Page size, 0 to 100. Defaults to 50. |
offset | integer | No | Page offset. Defaults to 0. |
Indicator object
| Field | Type | Description |
|---|---|---|
id | uuid | Internal stable identifier. |
code | string | Provider or Creative Foresight indicator code. |
name | string | Display name. |
description | string or null | Description when available. |
source | string or null | Source slug. |
category | string or null | Top-level taxonomy domain. |
subcategory | string or null | Kebab-case taxonomy subcategory. |
access_tier | free or premium | Access tier. premium requires an API key granting creative-foresight, or x402. |
unit | string or null | Unit label. |
frequency | string or null | Source frequency. |
is_active | boolean | Whether the indicator is currently active. |
Response
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "UNRATE",
"name": "Unemployment Rate",
"description": "Civilian unemployment rate.",
"source": "fred",
"category": "labor",
"subcategory": "unemployment",
"access_tier": "free",
"unit": "percent",
"frequency": "monthly",
"is_active": true
}
],
"meta": {
"total": 1,
"limit": 5,
"offset": 0
}
}Get indicator detail
GET /v1/indicators/{code} returns source detail, default region, available regions, and date range.
curl "https://api.creativeforesight.io/v1/indicators/UNRATE"Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
source | string | No | Disambiguate duplicate provider codes. |
include_inactive | boolean | No | Include inactive indicators. Defaults to false. |
Response
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"code": "UNRATE",
"name": "Unemployment Rate",
"description": "Civilian unemployment rate.",
"source": {
"slug": "fred",
"name": "FRED"
},
"category": "labor",
"subcategory": "unemployment",
"access_tier": "free",
"unit": "percent",
"frequency": "monthly",
"default_region": {
"code": "US",
"name": "United States"
},
"available_regions": ["US"],
"date_range": {
"start": "1948-01-01",
"end": "2026-05-01"
}
},
"meta": {
"ambiguous_with": []
}
}Errors
| Status | Code | Meaning |
|---|---|---|
400 | INVALID_PARAMETER | A query parameter is invalid. |
404 | RESOURCE_NOT_FOUND | The requested indicator was not found. |
500 | INTERNAL_SERVER_ERROR | Indicator catalog or availability could not be loaded. |
Last updated on