{"openapi":"3.0.3","info":{"title":"Gnist Context — FRED (Federal Reserve)","description":"U.S. economic time series — GDP, inflation, interest rates, and 800k+ indicators.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/fred/`\n- **Toolkit page:** `/toolkits/fred`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/fred/get_series":{"post":{"tags":["Economics"],"summary":"get_series","description":"Get economic time series observations from FRED.\n\nFRED (Federal Reserve Bank of St. Louis) hosts 800,000+ economic time\nseries from 100+ sources: BLS, BEA, Census, Federal Reserve, IMF, OECD,\nWorld Bank, and more. This is the primary tool for fetching data when\nyou already know the series ID.\n\nCommon series IDs:\n- FEDFUNDS — Federal Funds Rate (monthly, %)\n- CPIAUCSL — CPI All Urban Consumers (monthly, index)\n- UNRATE — Civilian Unemployment Rate (monthly, %)\n- GDP — Gross Domestic Product (quarterly, billions USD)\n- DGS10 — 10-Year Treasury Yield (daily, %)\n- DGS2 — 2-Year Treasury Yield (daily, %)\n- T10Y2Y — 10-Year minus 2-Year Treasury spread (daily, %)\n- M2SL — M2 Money Stock (monthly, billions USD)\n- MORTGAGE30US — 30-Year Fixed Mortgage Rate (weekly, %)\n- DEXUSEU — USD/EUR exchange rate (daily)\n- PAYEMS — Total Nonfarm Payrolls (monthly, thousands)\n\nArgs:\n    series_id: FRED series identifier (e.g. \"FEDFUNDS\", \"UNRATE\", \"GDP\").\n    observation_start: Start date (YYYY-MM-DD). If omitted, fetches from the series start.\n    observation_end: End date (YYYY-MM-DD). If omitted, fetches to the latest available observation.\n    frequency: Aggregate to lower frequency. Options: \"d\" (daily), \"w\" (weekly), \"bw\" (biweekly),\n               \"m\" (monthly), \"q\" (quarterly), \"sa\" (semiannual), \"a\" (annual).\n    aggregation_method: How to aggregate when changing frequency. Options: \"avg\" (default), \"sum\", \"eop\".\n    limit: Maximum observations to return (default 100, max 100000).\n\nReturns:\n    series_id, title, units, frequency, seasonal_adjustment, last_updated,\n    observation_count, and observations list of {\"date\": \"YYYY-MM-DD\", \"value\": float}.","operationId":"fred_get_series","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"series_id":{"description":"FRED series identifier (e.g. \"FEDFUNDS\", \"UNRATE\", \"GDP\").","type":"string"},"observation_start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start date (YYYY-MM-DD). If omitted, fetches from the series start."},"observation_end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End date (YYYY-MM-DD). If omitted, fetches to the latest available observation."},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Aggregate to lower frequency. Options: \"d\" (daily), \"w\" (weekly), \"bw\" (biweekly), \"m\" (monthly), \"q\" (quarterly), \"sa\" (semiannual), \"a\" (annual)."},"aggregation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"How to aggregate when changing frequency. Options: \"avg\" (default), \"sum\", \"eop\"."},"limit":{"default":100,"description":"Maximum observations to return (default 100, max 100000).","type":"integer"}},"required":["series_id"],"type":"object"}}}}}},"/rest/fred/search_series":{"post":{"tags":["Economics"],"summary":"search_series","description":"Search FRED for economic time series matching a query.\n\nSearches across series titles, notes, and tags. Returns ranked results\nsorted by relevance. Use this when you don't know the series ID — then\nuse get_series() or get_series_info() with the returned series_id.\n\nExample queries:\n- \"federal funds rate\"\n- \"consumer price index urban\"\n- \"unemployment rate\"\n- \"GDP quarterly\"\n- \"Norway GDP\" (FRED includes international series from IMF/OECD/World Bank)\n- \"yield curve spread\"\n- \"housing starts\"\n\nArgs:\n    query: Search terms to match against FRED series names and notes.\n    limit: Maximum results to return (default 20, max 1000).\n\nReturns:\n    count and list of matching series with series_id, title, frequency, units,\n    seasonal_adjustment, date range, last_updated, popularity, and a truncated notes field.","operationId":"fred_search_series","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Search terms to match against FRED series names and notes.","type":"string"},"limit":{"default":20,"description":"Maximum results to return (default 20, max 1000).","type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/fred/get_series_info":{"post":{"tags":["Economics"],"summary":"get_series_info","description":"Get metadata for a FRED series without fetching observations.\n\nUseful for verifying a series ID and understanding its characteristics\nbefore fetching data: units, frequency, date range, and whether it is\nseasonally adjusted.\n\nArgs:\n    series_id: FRED series identifier (e.g. \"FEDFUNDS\", \"UNRATE\", \"GDP\").\n\nReturns:\n    Full metadata: series_id, title, frequency, units, seasonal_adjustment,\n    observation_start, observation_end, last_updated, popularity, and notes.","operationId":"fred_get_series_info","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"series_id":{"description":"FRED series identifier (e.g. \"FEDFUNDS\", \"UNRATE\", \"GDP\").","type":"string"}},"required":["series_id"],"type":"object"}}}}}},"/rest/fred/get_category":{"post":{"tags":["Economics"],"summary":"get_category","description":"Browse FRED's category hierarchy.\n\nFRED organizes its 800,000+ series into a tree of categories covering\ndomains like Money, Banking & Finance; National Accounts; Prices; Labor\nMarket; International Data; and more. Use this tool to discover series\nby topic area. category_id=0 returns the top-level categories.\n\nArgs:\n    category_id: Integer category ID. Default 0 returns the root categories.\n                 Pass a child category ID to drill down. IDs for common\n                 top-level categories:\n                 - 32991: Money, Banking & Finance\n                 - 10: National Accounts\n                 - 9: Population, Employment, & Labor Markets\n                 - 22: Prices\n                 - 3008: U.S. Regional Data\n                 - 32263: Business Cycles\n\nReturns:\n    Category name, parent_id, children_count, and list of children each with id, name, parent_id.","operationId":"fred_get_category","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"category_id":{"default":0,"description":"Integer category ID. Default 0 returns the root categories. Pass a child category ID to drill down. IDs for common top-level categories: - 32991: Money, Banking & Finance - 10: National Accounts - ...","type":"integer"}},"type":"object"}}}}}},"/rest/fred/compare_series":{"post":{"tags":["Economics"],"summary":"compare_series","description":"Fetch multiple FRED series aligned to a common time axis.\n\nRetrieves all requested series and returns their observations aligned\nby date — only dates where all series have a value are included.\nIdeal for correlation analysis, charting, and comparing economic indicators.\n\nExample use cases:\n- compare_series([\"FEDFUNDS\", \"DGS10\", \"DGS2\"]) — Fed Funds vs. yield curve\n- compare_series([\"UNRATE\", \"CPIAUCSL\"], frequency=\"q\") — unemployment vs. CPI quarterly\n- compare_series([\"GDP\", \"PAYEMS\"], observation_start=\"2020-01-01\") — GDP vs. payrolls post-COVID\n\nArgs:\n    series_ids: List of 2–10 FRED series IDs to compare.\n    observation_start: Start date (YYYY-MM-DD) applied to all series.\n    observation_end: End date (YYYY-MM-DD) applied to all series.\n    frequency: Aggregate all series to this frequency before aligning (e.g. \"q\" for quarterly, \"a\" for annual).\n\nReturns:\n    series metadata dict (title, units, frequency per series), aligned_observation_count,\n    and observations list where each row is {\"date\": \"YYYY-MM-DD\", \"<series_id>\": float, ...}.","operationId":"fred_compare_series","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"series_ids":{"description":"List of 2–10 FRED series IDs to compare.","items":{"type":"string"},"type":"array"},"observation_start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Start date (YYYY-MM-DD) applied to all series."},"observation_end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"End date (YYYY-MM-DD) applied to all series."},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Aggregate all series to this frequency before aligning (e.g. \"q\" for quarterly, \"a\" for annual)."}},"required":["series_ids"],"type":"object"}}}}}},"/rest/fred/report_feedback":{"post":{"tags":["Economics"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"fred_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Economics","description":"Data sources: Economics"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}