Skip to main content
GET /api/v1/orderbook Returns the current live orderbook snapshot for a market, or historical orderbook snapshots when you pass a time range. Supports two modes:
  1. Live snapshot (default): Returns the current orderbook from the exchange.
  2. Historical snapshots (start_ts): Returns a paginated series of L2 orderbook snapshots over a time range from S3 Parquet files. Historical data is tier-gated (Free: 5 days, Pro: 30 days, Scale: unlimited).
If you do not know the market identifiers yet, start with /markets. The response gives you parsec_id, exchange, and exchange_market_id, and you can reuse either selector form here.

Error Semantics

  • 403 means your API key is not authorized for the request.
  • 501 means historical snapshots are not configured on this server.
  • 503 means the upstream exchange is temporarily unavailable.

Parameters

parsec_id
string
Canonical selector. Provide either parsec_id or both exchange + market_id.
exchange
string
Exchange selector used with market_id.
market_id
string
Exchange-native market ID used with exchange.
outcome
string
default:"yes"
Outcome to fetch, typically yes or no for binary markets.
limit
number
default:"50"
Max price levels per side (live mode, range: 1-100) or max snapshots (historical mode, default 500, max 1000).
depth
number
default:"50"
Alias for limit. If both are provided, limit takes precedence.
start_ts
number
Unix seconds start timestamp (inclusive). When present, switches to historical mode and returns orderbook snapshots instead of a live snapshot. Defaults to 1 day before end_ts if only end_ts is provided. Historical data is tier-gated (Free: 5 days, Pro: 30 days, Scale: unlimited).
end_ts
number
Unix seconds end timestamp. Defaults to now in historical mode.
cursor
string
Pagination cursor from a previous historical response.

Response

Live Mode (default)

(root)
object

Historical Mode

Returned when start_ts is provided.
(root)
object

Examples

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/orderbook?parsec_id=polymarket:572473&outcome=yes&depth=10"
{
  "parsec_id": "polymarket:572473",
  "exchange": "polymarket",
  "outcome": "Yes",
  "token_id": "50310842821...",
  "market_id": "572473",
  "bids": [[0.65, 1000.0], [0.64, 2500.0]],
  "asks": [[0.66, 800.0], [0.67, 1500.0]],
  "timestamp": "2026-03-10T18:34:56Z",
  "tick_size": 0.01
}

Historical snapshots (1 hour window)

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/orderbook?parsec_id=polymarket:572473&outcome=yes&start_ts=1773100800&end_ts=1773187200&limit=2"
{
  "parsec_id": "polymarket:572473",
  "exchange": "polymarket",
  "outcome": "Yes",
  "token_id": "50310842821...",
  "market_id": "572473",
  "snapshots": [
    {
      "timestamp": "2026-03-09T00:00:00Z",
      "bids": [[0.63, 900.0]],
      "asks": [[0.64, 850.0]]
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Paginate through historical snapshots

# Fetch the next page using the cursor from the previous response
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parsecapi.com/api/v1/orderbook?parsec_id=polymarket:572473&outcome=yes&start_ts=1771581600&end_ts=1771585200&limit=100&cursor=eyJ0cyI6MTc0MDIyMDg0Mn0"
Data availability: Historical orderbook snapshots are served from S3 Parquet files. Snapshot frequency varies by market. For real-time orderbook data, use the live endpoint (omit start_ts) or the WebSocket API.
For real-time streaming, use the WebSocket API.