Panel
GET /v1/panel returns multiple indicators aligned on a single date grid — one call instead of N, with the alignment already done. Use it to feed charts, models, or spreadsheets that need several series over the same dates.
Pricing: $0.05 per paid x402 request or a premium API key.
Request
curl "https://api.creativeforesight.io/v1/panel?indicators=UNRATE,PAYEMS®ion=US&start_date=2025-01-01" \
-H "Authorization: Bearer cf_live_REPLACE_ME"Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
indicators | string | Yes | Comma-separated indicator codes, 1–10. Duplicates are ignored. |
region | string | No | One region code applied to every series. |
frequency | string | No | Target frequency: monthly, quarterly, or annual. Finer series are downsampled to it; series coarser than the target return 400. daily is accepted only when every series is natively daily. Omit it to align same-frequency panels at their native frequency, or mixed panels at the coarsest. |
resample_method | string | No | How finer series aggregate into target buckets: mean (default), last, or sum. Applies to every resampled series. |
start_date | string | No | YYYY-MM-DD inclusive lower bound. |
end_date | string | No | YYYY-MM-DD inclusive upper bound. |
missing | string | No | Missing-data policy. drop (default) keeps only dates present in every series; ffill uses every date any series has and carries each series’ last value forward (gaps before a series begins stay null). |
Response
{
"dates": ["2025-01-01", "2025-02-01"],
"series": {
"UNRATE": [4.0, 4.2],
"PAYEMS": [158268, 158310]
},
"meta": {
"units": { "UNRATE": "percent", "PAYEMS": "thousands" },
"alignment": { "missing": "drop", "grid_points": 2 },
"region": "US",
"frequency": "monthly"
}
}dates is the shared grid; each series array is positionally aligned to it.
Limits
- Mixed-frequency panels resample finer series to the coarsest frequency (or to an explicit
frequency=);meta.resamplelists each resampled series’ native frequency and the method used. Incomplete trailing buckets are dropped per series before alignment, so a partial month never masquerades as a complete one. - Weekly-only panels must pass
frequency=monthly(or coarser) — weekly is not a resampling target. - The aligned grid holds at most 5,000 points (dates × series). A series with more history than the window allows returns
400— narrowstart_date/end_date. - A panel containing any
cf:*series requires premium access; a panel of standard series works with any valid key. - Unknown indicator codes return
404naming the codes.
Last updated on