fred_series_observations
Retrieve time series observations (date/value pairs) for a FRED series ID. Handles missing values as null, not zero. Requires a free FRED API key.
Instructions
Fetch a FRED series' time series of date/value observations (FRED /fred/series/observations; api.stlouisfed.org). ★REQUIRES a free FRED_API_KEY (FRED has NO keyless tier — without it this tool THROWS an honest config error; get one at https://fred.stlouisfed.org/docs/api/api_key.html). Input: seriesId (required, e.g. 'GDP', 'CPIAUCSL', 'UNRATE', 'DGS10', 'PPIACO'; discover with fred_search_series), optional startDate/endDate (YYYY-MM-DD), limit (default 100, max 100000), offset, sortOrder (asc|desc). Returns { observations:[{ date, value }] } + honest meta. ★MISSING-VALUE HONESTY (the crux): FRED encodes a missing observation as the literal '.', which maps to value:null (missing) — NEVER 0; a genuine reported 0 is preserved as 0. HONESTY: totalAvailable is FRED's EXACT count (offset pagination via hasMore/nextOffset — never fabricated); a 400 (bad seriesId / missing key) ⇒ invalid_input CARRYING FRED's error_message (never a fake empty); a genuine empty ⇒ honest empty; a 5xx ⇒ THROWS; a 200 non-JSON / non-array observations ⇒ schema_drift. seriesId is charclass-validated (^[A-Za-z0-9.-]+$) and dates are YYYY-MM-DD; the key rides ONLY in the &api_key= query param.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max observations to return (default 100, max 100000). Offset-paginated. | |
| offset | No | Row offset for pagination (default 0). Page with _meta.pagination.nextOffset. | |
| endDate | No | Latest observation date (YYYY-MM-DD). Maps to FRED observation_end. | |
| seriesId | Yes | A FRED series id, e.g. 'GDP', 'CPIAUCSL' (CPI), 'UNRATE' (unemployment), 'DGS10' (10-yr Treasury), 'PPIACO' (PPI). Discover ids with fred_search_series. Validated ^[A-Za-z0-9._-]+$. Required. | |
| sortOrder | No | Observation date order: 'asc' (oldest first, FRED default) or 'desc' (newest first). | |
| startDate | No | Earliest observation date (YYYY-MM-DD). Maps to FRED observation_start. |