FRED API for LLMs — Jintel macro time-series
FRED (Federal Reserve Economic Data) is the canonical source for US macro time-series. The native FRED API is REST, requires a personal API key, returns one series at a time, and ships no agent-friendly tooling. Jintel wraps it behind a typed GraphQL field (macroSeries) and an MCP tool (/tools/macroSeries) so any LLM runtime can pull macro data with the same auth and the same per-query x402 pricing as the rest of the schema.
What's covered
Every FRED series ID. Common picks:
| Concept | FRED series ID |
|---|---|
| Real GDP | GDPC1 |
| Nominal GDP | GDP |
| CPI (all urban consumers) | CPIAUCSL |
| Core CPI | CPILFESL |
| Federal funds rate | FEDFUNDS |
| Unemployment rate | UNRATE |
| 10-year Treasury yield | DGS10 |
| 2y/10y spread | T10Y2Y |
| M2 money supply | M2SL |
| Industrial production | INDPRO |
| Consumer sentiment (UMich) | UMCSENT |
| Initial jobless claims | ICSA |
| Case-Shiller home price index | CSUSHPISA |
Plus OECD-sourced equivalents already exposed via gdp, inflation, and interestRates for cross-country macro work.
Call from GraphQL
query Macro {
cpi: macroSeries(seriesId: "CPIAUCSL", filter: { since: "2010-01-01" }) {
date
value
}
fedFunds: macroSeries(seriesId: "FEDFUNDS", filter: { since: "2010-01-01" }) {
date
value
}
unrate: macroSeries(seriesId: "UNRATE") {
date
value
}
}
One round trip pulls three series, batched and cached server-side. Compare with three sequential FRED REST calls + manual rate-limit handling.
Call from an MCP-compatible agent
The same field is exposed as the macroSeries MCP tool:
{
"name": "macroSeries",
"arguments": {
"seriesId": "GDPC1",
"filter": { "since": "2015-01-01" }
}
}
Claude Desktop, Cursor, Continue, Cline, Zed, Windsurf, Raycast AI, the OpenAI Responses API, LangChain, and LlamaIndex all see this tool in tools/list once the Jintel MCP server is wired up.
Why agents use Jintel for FRED
- No personal API key needed. Issue a Jintel Bearer key once (or skip auth entirely with x402 pay-per-query) — the FRED API key is server-side.
- Batched fan-out. Pull GDP + CPI + fed funds + unemployment in one query alongside any non-macro field. The Mercurius loader deduplicates upstream calls within a request.
- Typed dates and filters.
ArrayFilterInput(since,until,limit,sort) is the same shape across every Jintel time-series, so an agent that learned how to filterEntity.newsalready knows how to filtermacroSeries. - Cached + stale fallback. Module-level TTL caches with
getStale()fallbacks mean a transient FRED outage still returns last-known-good data instead ofnull. - Cross-data-source joins. Pair
macroSeries(seriesId: "FEDFUNDS")withentitiesByTickersto score how rate moves correlate with a watchlist's price history — without leaving the schema.
Related
- Economics docs — full list of macro endpoints (FRED, OECD, IMF, ECB)
- Best financial data API for AI agents
- Financial data MCP server