> ## 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 Indicator Snapshot

> Latest value + previous value + delta for a single U.S. macro indicator.

<Note icon="sparkles">
  **Available as MCP tool**: `macro_indicator_snapshot` — 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 · latest</Badge>

## What it does for your agent

`macro_indicator_snapshot` returns the **latest observation** for a U.S. macro indicator plus the **previous value** and the **delta** between them. Use it as a **macro checkpoint**: when an agent needs to answer "what's the current Fed Funds rate?", "is unemployment up or down vs last month?", or tag the current macro regime — without pulling the full historical series.

`macro_indicator_snapshot({ indicator })` → `latest`, `previous`, `delta_abs`, `delta_pct`. That's it. For the full series, use [`macro_indicator_history`](/en/api/macro/historical).

## Response

<ResponseField name="data" type="MacroSnapshot" required>
  <Expandable title="MacroSnapshot fields">
    <ResponseField name="indicator" type="string" required>
      Stable platform alias (e.g. `us.rates.fed_funds`).
    </ResponseField>

    <ResponseField name="series_id" type="string" required>
      Raw series ID (e.g. `FEDFUNDS`).
    </ResponseField>

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

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

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

    <ResponseField name="latest" type="object" nullable required>
      Latest observation. `null` if no observations are available yet.

      <Expandable title="latest fields">
        <ResponseField name="date" type="string" required>Observation date (YYYY-MM-DD).</ResponseField>
        <ResponseField name="value" type="number" nullable>Reported value, or `null`.</ResponseField>
        <ResponseField name="realtime_start" type="string" required>First date this value was published.</ResponseField>
        <ResponseField name="realtime_end" type="string" required>Last date this value remained current.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="previous" type="object" nullable required>
      Previous observation. `null` if only one print is available.

      <Expandable title="previous fields">
        <ResponseField name="date" type="string" required>Previous observation date.</ResponseField>
        <ResponseField name="value" type="number" nullable>Previous value.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="delta_abs" type="number" nullable required>
      `latest.value − previous.value`. `null` when either side is missing.
    </ResponseField>

    <ResponseField name="delta_pct" type="number" nullable required>
      Percent change vs previous (i.e. `delta_abs / previous.value * 100`). `null` when either side is missing or `previous.value == 0`.
    </ResponseField>

    <ResponseField name="attribution" type="string" required>
      Required attribution string for display.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta.creditsUsed" type="number">Always `0` — this endpoint is free.</ResponseField>
<ResponseField name="meta.remainingCredits" type="number">Account credits remaining.</ResponseField>

```json title="200 OK · macro_indicator_snapshot" expandable theme={null}
{
  "data": {
    "indicator": "us.unemployment_rate",
    "series_id": "UNRATE",
    "title": "Unemployment Rate",
    "frequency": "Monthly",
    "units": "Percent",
    "latest": {
      "date": "2026-03-01",
      "value": 4.1,
      "realtime_start": "2026-04-04",
      "realtime_end": "2026-04-04"
    },
    "previous": {
      "date": "2026-02-01",
      "value": 4.0
    },
    "delta_abs": 0.1,
    "delta_pct": 2.5,
    "attribution": "Source: U.S. Bureau of Labor Statistics via FRED"
  },
  "meta": {
    "creditsUsed": 0,
    "remainingCredits": 99
  }
}
```

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

## Notes

<Tip>
  **Revision-aware**: snapshots return the **latest vintage** — not the value originally released. If a recent print has been revised, you'll see the revised value. Check `latest.realtime_start` to see when the value was last published.
</Tip>

<Tip>
  Snapshot returns far fewer tokens than `macro_indicator_history`, and this endpoint is free. Reach for snapshot when the agent needs "what is it now?" and doesn't need a series.
</Tip>

<Warning>
  **Supported catalog only.** \~50 curated U.S. indicators. Use `macro_indicator_search` to discover what's available; arbitrary `series_id` values outside the catalog return `404`.
</Warning>

<Warning>
  Frequency-aware freshness: daily/weekly indicators refresh within 24 h; monthly/quarterly within 7 days. The snapshot may be a few hours behind the absolute latest release.
</Warning>

## Direct invocation

<Accordion title="HTTP / SDK examples" icon="terminal">
  <CodeGroup>
    ```typescript MCP (Claude / Cursor) theme={null}
    {
      "method": "tools/call",
      "params": {
        "name": "macro_indicator_snapshot",
        "arguments": { "indicator": "us.unemployment_rate" }
      }
    }
    ```

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

    resp = requests.get(
        "https://api.llmquantdata.com/api/macro/snapshot",
        headers={"Authorization": f"Bearer {os.environ['LLMQUANT_API_KEY']}"},
        params={"indicator": "us.unemployment_rate"},
    ).json()
    d = resp["data"]
    print(f"{d['indicator']}: {d['latest']['value']}{d['units'][:1]} "
          f"({d['delta_abs']:+.2f} vs prev)")
    ```

    ```bash cURL theme={null}
    curl "https://api.llmquantdata.com/api/macro/snapshot?indicator=us.unemployment_rate" \
      -H "Authorization: Bearer $LLMQUANT_API_KEY"
    ```
  </CodeGroup>
</Accordion>

## Full parameter reference

<Accordion title="macro_indicator_snapshot — request parameters" icon="sliders">
  <ParamField query="indicator" type="string">
    Platform alias (e.g. `us.cpi.headline`, `us.rates.fed_funds`, `us.unemployment_rate`). Use this **OR** `series_id`.
  </ParamField>

  <ParamField query="series_id" type="string">
    Raw series ID (e.g. `UNRATE`, `FEDFUNDS`). Use this **OR** `indicator`. Must be in the supported catalog.
  </ParamField>
</Accordion>

## Related

<Columns cols={2}>
  <Card title="Macro Historical" icon="chart-line" href="/en/api/macro/historical">
    Full latest-vintage time series for the same indicator (Recent or Range mode).
  </Card>

  <Card title="Macro Indicators Catalog" icon="landmark" href="/en/api/macro/indicators">
    Browse the \~50-indicator catalog (free).
  </Card>
</Columns>
