Skip to main content
GET
/
polymarket
/
order-book
/
spread
Get spread history
curl --request GET \
  --url https://api.struct.to/v1/polymarket/order-book/spread
[
  {
    "ts": 123,
    "position_id": "<string>",
    "condition_id": "<string>",
    "best_bid": 123,
    "best_ask": 123,
    "mid_price": 123,
    "spread": 123,
    "bid_liquidity_usd": 123,
    "ask_liquidity_usd": 123,
    "bid_levels": 123,
    "ask_levels": 123
  }
]

Query Parameters

position_id
string

Token ID (required if condition_id / market_slug not set)

condition_id
string

Condition ID — returns spread history for all positions in this market

market_slug
string

Market slug (alternative to condition_id)

from
integer<int64>

Start timestamp (Unix milliseconds, inclusive)

to
integer<int64>

End timestamp (Unix milliseconds, inclusive)

min_spread
number<double>

Only return rows with spread >= this value

max_spread
number<double>

Only return rows with spread <= this value

min_liquidity
number<double>

Only return rows where total liquidity (bid + ask) >= this value

limit
integer<int64>

Number of results (default: 100, max: 1000)

pagination_key
string

Cursor from previous response's pagination.pagination_key

Response

Spread time series rows, newest first. ts is Unix milliseconds.

ts
integer<int64>
required
position_id
string
required
condition_id
string
required
best_bid
number<double> | null
best_ask
number<double> | null
mid_price
number<double> | null
spread
number<double> | null
bid_liquidity_usd
number<double> | null
ask_liquidity_usd
number<double> | null
bid_levels
integer<int32> | null
ask_levels
integer<int32> | null
Last modified on March 17, 2026