Market data

The read endpoints an integration lives on — list, detail, order book, trade tape, and price history.

Market data is public: the endpoints below need no authentication (they sit on the generous markets rate-limit bucket). Full request/response schemas are in the API Reference; this is the orientation tour.

List markets

$curl "https://staging.drazill.com/api/v1/markets?status=ACTIVE&limit=20&sort_by=volume"
  • GET /api/v1/markets — a filterable, sortable page of markets.
  • GET /api/v1/markets/cursor — the same data with signed-cursor pagination for stable deep iteration (the response exposes X-Next-Cursor).

Each market embeds its outcomes and their prices.

Market detail

  • GET /api/v1/markets/{market_id} — a single market by id.
  • GET /api/v1/markets/slug/{slug} — the same, by human-readable slug.

Order book

$curl "https://staging.drazill.com/api/v1/orders/book/{outcome_id}?depth=5"

GET /api/v1/orders/book/{outcome_id} returns the resting limit orders (bids and asks) for an outcome. Because the engine is hybrid, market orders also fill against the AMM when the book is thin — the book you read is the peer-to-peer layer over that always-on liquidity (How pricing works).

Trade tape

  • GET /api/v1/markets/{market_id}/trades — recent executed trades on a market.
  • GET /api/v1/trades/cursor — the trade tape with signed-cursor pagination, for walking the full history without gaps or duplicates.

Price history & candles

  • GET /api/v1/markets/{market_id}/price-history — the outcome price (implied probability) time series.
  • GET /api/v1/markets/{market_id}/ohlc — OHLC candles.

Both accept selectable ranges/intervals — see the API Reference for the exact query parameters rather than assuming a preset here.

Realtime instead of polling

For anything you’d otherwise poll — prices, the book, the tape — subscribe over the WebSocket feed instead. See Realtime and Quickstart step 5.