> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmquantdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Macro Indicators Catalog

> Browse and search the supported U.S. macro indicators catalog (~50 series).

<Note icon="sparkles">
  **Available as MCP tool**: `macro_indicator_search` — call directly from Claude / Cursor / any MCP client. See [MCP Server](/en/integration/mcp-server) for the 60-second setup.
</Note>

<Badge color="green" icon="circle-check">Live</Badge>
 
<Badge color="gray" size="sm">free · 0 credits</Badge>

## What it does for your agent

`macro_indicator_search` returns the LLMQuant Data **supported catalog of \~50 U.S. macro indicators** — Inflation (CPI / PCE), Rates (Fed Funds, Treasury yields), Labor (UNRATE, payrolls), Growth (GDP), Housing, Liquidity (M2, Fed balance sheet), Financial Conditions, FX, and more. Use it as a **catalog discovery step**: when an agent needs to figure out which `indicator` alias or `series_id` to feed into `macro_indicator_history` / `macro_indicator_snapshot`, call this tool first to browse the catalog by `category`, `frequency`, or free-text keyword.

It does **not** expose every possible macro series — only the curated, attribution-cleared supported catalog. Call with no parameters to list everything.

## Response

<ResponseField name="data" type="MacroIndicatorCatalogItem[]" required>
  Curated catalog entries. Each entry is one supported indicator.

  <Expandable title="MacroIndicatorCatalogItem fields">
    <ResponseField name="indicator" type="string" required>
      Stable platform alias. Pass to `macro_indicator_history` / `macro_indicator_snapshot` (e.g. `us.cpi.headline`, `us.rates.fed_funds`).
    </ResponseField>

    <ResponseField name="series_id" type="string" required>
      Raw series ID (e.g. `CPIAUCSL`, `FEDFUNDS`). Also accepted by history/snapshot tools.
    </ResponseField>

    <ResponseField name="title" type="string" required>
      Human-readable indicator title.
    </ResponseField>

    <ResponseField name="category" type="string" required>
      Theme bucket: `Growth`, `Consumption`, `Inflation`, `Labor`, `Housing`, `Rates`, `Inflation Expectations`, `Liquidity`, `Conditions`, `FX`, `Credit`, `Sentiment`, `Energy`.
    </ResponseField>

    <ResponseField name="frequency" type="string" required>
      Native release cadence: `Daily`, `Weekly`, `Monthly`, `Quarterly`, `Annual`.
    </ResponseField>

    <ResponseField name="units" type="string" required>
      Unit string (e.g. `Index 1982-1984=100`, `Percent`, `Thousands of Persons`).
    </ResponseField>

    <ResponseField name="observation_start" type="string" required>
      Earliest observation date currently available (YYYY-MM-DD).
    </ResponseField>

    <ResponseField name="observation_end" type="string" required>
      Most recent observation date currently available (YYYY-MM-DD).
    </ResponseField>

    <ResponseField name="copyright_status" type="string" required>
      Either `Public Domain: Citation requested` or `Copyrighted: Citation required`. `Pre-approval required` series are not listed.
    </ResponseField>

    <ResponseField name="attribution" type="string" required>
      Required attribution string. Surface this when displaying the data.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta.creditsUsed" type="number">Always `0` — catalog discovery is free.</ResponseField>
<ResponseField name="meta.remainingCredits" type="number">Credits left on your balance after this call.</ResponseField>

```json title="200 OK · macro_indicator_search" expandable theme={null}
{
  "data": [
    {
      "indicator": "us.cpi.headline",
      "series_id": "CPIAUCSL",
      "title": "Consumer Price Index for All Urban Consumers: All Items in U.S. City Average",
      "category": "Inflation",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "observation_start": "1947-01-01",
      "observation_end": "2026-03-01",
      "copyright_status": "Public Domain: Citation requested",
      "attribution": "Source: U.S. Bureau of Labor Statistics via FRED"
    },
    {
      "indicator": "us.unemployment_rate",
      "series_id": "UNRATE",
      "title": "Unemployment Rate",
      "category": "Labor",
      "frequency": "Monthly",
      "units": "Percent",
      "observation_start": "1948-01-01",
      "observation_end": "2026-03-01",
      "copyright_status": "Public Domain: Citation requested",
      "attribution": "Source: U.S. Bureau of Labor Statistics via FRED"
    }
  ],
  "meta": {
    "creditsUsed": 0,
    "remainingCredits": 500
  }
}
```

<Note>
  Each catalog entry carries its own `attribution` string (FRED source notice) under `data` — surface it when you display the data. The catalog uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.
</Note>

## Notes

<Tip>
  **Two-step pattern**: call `macro_indicator_search` first (free) to find the right alias, then `macro_indicator_history` (1 credit) for time series or `macro_indicator_snapshot` (free) for the latest print. Catalog calls don't burn credits, so call freely.
</Tip>

<Tip>
  Prefer the platform `indicator` alias (`us.cpi.headline`) over raw `series_id` (`CPIAUCSL`) — aliases are stable across raw series naming changes and give clearer intent in agent traces.
</Tip>

<Warning>
  **Supported catalog only.** Roughly 50 U.S. macro series. Arbitrary `series_id` values outside the catalog return `404`. If you need a series that isn't listed, file a request.
</Warning>

<Warning>
  Catalog rows are **not real-time**: `observation_end` reflects the latest known release time available to LLMQuant Data, not necessarily today.
</Warning>

## Direct invocation

<Accordion title="HTTP / SDK examples" icon="terminal">
  <CodeGroup>
    ```typescript MCP (Claude / Cursor) theme={null}
    {
      "method": "tools/call",
      "params": {
        "name": "macro_indicator_search",
        "arguments": { "category": "Inflation", "limit": 10 }
      }
    }
    ```

    ```python Python (HTTP) theme={null}
    import os, requests

    resp = requests.get(
        "https://api.llmquantdata.com/api/macro/indicators",
        headers={"Authorization": f"Bearer {os.environ['LLMQUANT_API_KEY']}"},
        params={"category": "Inflation", "limit": 10},
    ).json()
    for item in resp["data"]:
        print(f"{item['indicator']}  ({item['series_id']})  {item['frequency']}")
    ```

    ```bash cURL theme={null}
    curl "https://api.llmquantdata.com/api/macro/indicators?category=Inflation&limit=10" \
      -H "Authorization: Bearer $LLMQUANT_API_KEY"
    ```
  </CodeGroup>
</Accordion>

## Full parameter reference

<Accordion title="macro_indicator_search — request parameters" icon="sliders">
  <ParamField query="q" type="string">
    Free-text keyword. Matches indicator alias, indicator title, and `series_id`.
  </ParamField>

  <ParamField query="category" type="string">
    Filter by theme. Values: `Growth`, `Consumption`, `Inflation`, `Labor`, `Housing`, `Rates`, `Inflation Expectations`, `Liquidity`, `Conditions`, `FX`, `Credit`, `Sentiment`, `Energy`.
  </ParamField>

  <ParamField query="frequency" type="string">
    Filter by release cadence. Values: `Daily`, `Weekly`, `Monthly`, `Quarterly`, `Annual`.
  </ParamField>

  <ParamField query="limit" type="number" default={20}>
    Max items returned. Range `1–100`.
  </ParamField>
</Accordion>

## Related

<Columns cols={2}>
  <Card title="Macro Historical" icon="chart-line" href="/en/api/macro/historical">
    Time-series observations for one indicator (Recent or Range mode).
  </Card>

  <Card title="Macro Snapshot" icon="gauge-high" href="/en/api/macro/snapshot">
    Latest print + previous value + delta for one indicator.
  </Card>
</Columns>
