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

# Market data

> Venue-specific observations with explicit units, timestamps and coverage.

Market-data reads select explicit `listing_ids`, obtained from the listings beneath canonical outcomes. Prices remain venue-specific observations; they are not blended probabilities or customer fair values.

| Endpoint | Proposed data |
| - | - |
| [`GET /quotes`](/api-reference/get-quotes) | Bid, ask, midpoint, spread, last trade and freshness |
| [`GET /price-history`](/api-reference/list-price-history) | Captured observations for a stated field and time window |
| [`GET /orderbooks`](/api-reference/get-order-books) | L2 levels, returned depth, book revision and scoped depth totals |
| [`GET /trades`](/api-reference/list-trades) | Public executions with identity, price, quantity and timestamps |
| [`GET /market-stats`](/api-reference/get-market-stats) | Supported windowed volume, counts, prices, liquidity and open interest |
| [`GET /fee-schedules`](/api-reference/get-fee-schedules) | Published fees, effective versions and account-dependent caveats |

## Freshness and missing fields

Responses distinguish source time, Rook receipt time and publication time. A fresh heartbeat does not imply a fresh upstream quote. Last-trade timestamps remain separate from quote timestamps.

Every requested listing has an explicit result status. Empty, one-sided, crossed, stale and unavailable books remain distinguishable. A midpoint requires two usable sides. Missing prices, dates or fees are not fabricated zeros.

## Books and price history

Books contain aggregate price levels, with bids descending and asks ascending. Derived top of book and depth metrics refer to the same revision. Depth totals cover the returned levels or named price band, not an implied full book.

Price history uses `[start_time, end_time)` with a selected `BID`, `ASK`, `MIDPOINT` or `LAST_TRADE` field. Coverage identifies capture windows, gaps, supported sampling and carry-forward conventions. A carried-forward last trade is not a new execution. This public surface does not provide candles.

## Trades, statistics and fees

Public prints are separate from customer fills. Stable identities support deduplication; corrections and cancellations are identified. Aggressor direction is included only when known.

Statistics disclose units, windows, methods and underlying market scope. Shared YES/NO market totals have a scope key to avoid double-counting. Open interest is not inferred from turnover.

Published fees may still depend on customer tier or rebates. Missing account-dependent inputs stay unknown. Actual retention, fields and limits are disclosed through [coverage](/guides/coverage-versioning).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.