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

# Market-data API

> Event bootstrap, outcome snapshots, immutable chart history, search modes, and read quotas

Use the market-data APIs to load a useful event view, subscribe to selected outcomes, and render finalized chart history before its forming tail.

The canonical guide is published as a static Markdown download at **[agg.market/docs/market-data-api.md](https://agg.market/docs/market-data-api.md)**. It includes verified SDK examples, delivery states, timestamp/checksum semantics, browser Worker ownership, and the route-family rate-limit table. Keeping that table in one public guide avoids publishing competing quota values.

| Read                                      | Route                             | SDK method                |
| ----------------------------------------- | --------------------------------- | ------------------------- |
| First event view and bounded market slice | `GET /venue-events/:id/bootstrap` | `getEventBootstrap`       |
| Authorized immutable history references   | `GET /charts/history/manifest`    | `getChartHistoryManifest` |
| Batched current outcome snapshots         | `GET /orderbooks/outcomes`        | `getOutcomeOrderbooks`    |
| Canonical bars / unfinished tail          | `GET /charts/bars`                | `getChartBars`            |
| Instant suggestions or full search        | `GET /search`                     | `search` with `mode`      |

All of these reads retain app authorization and visibility checks. Supply `x-app-id`; backend API keys belong on the server, not in browser Worker assets. Inspect delivery state, freshness, null snapshot entries, and per-item errors rather than treating an empty HTTP 200 response as a healthy chart or book.

The scoped quotas apply in addition to existing global quotas, combine instant/full search into one family, and charge outcome snapshot batches by distinct outcome IDs; the active single-outcome route shares that budget at one unit per read. A 429 includes `Retry-After` in seconds; unavailable scoped limiting returns 503 with a retry hint. Neither response belongs in a shared cache. See the [complete quota and retry rules](https://agg.market/docs/market-data-api.md#rate-limits-and-retry-responses).

For detailed API schemas, use the **API Reference** tab. For integration patterns, see [real-time charts](/recipes/websocket-charts), [WebSocket orderbooks](/recipes/websocket-orderbook), and [server API keys](/recipes/server-api-keys).
