curl --request GET \
--url https://api.rook.pm/v1/orderbooks \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/orderbooks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/orderbooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"listing_id": "lst_pm_fed_dec_2026_cut_yes",
"venue": "polymarket",
"status": "LIVE",
"quote_currency": "USDC",
"quantity_unit": "shares",
"snapshot_id": "book_snapshot_1842",
"book_revision": "book_1842",
"bids": [
{
"price": "0.40",
"quantity": "1200",
"cumulative_quantity": "1200",
"cumulative_notional": "480"
},
{
"price": "0.39",
"quantity": "800",
"cumulative_quantity": "2000",
"cumulative_notional": "792"
}
],
"asks": [
{
"price": "0.42",
"quantity": "900",
"cumulative_quantity": "900",
"cumulative_notional": "378"
},
{
"price": "0.43",
"quantity": "600",
"cumulative_quantity": "1500",
"cumulative_notional": "636"
}
],
"returned_depth": 2,
"has_more_depth": true,
"depth_scope": "Top 2 levels per side; cumulative notional excludes fees.",
"best_bid": {
"price": "0.40",
"quantity": "1200"
},
"best_ask": {
"price": "0.42",
"quantity": "900"
},
"times": {
"source_timestamp": "2026-10-19T11:59:59.800Z",
"received_at": "2026-10-19T11:59:59.910Z",
"published_at": "2026-10-19T12:00:00Z"
}
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}Get order books
Get a level-2 bid/ask snapshot for selected Rook listing_ids. Set depth to request the maximum returned price levels per side; quantities are for the listing’s selected outcome and stated quantity unit.
Each result identifies its book revision, source/receipt times, returned depth and whether more depth exists. Cumulative size/notional and derived prices refer to that same revision and actual returned levels. Empty, one-sided, crossed, stale and unavailable books have distinct states. Use these snapshots to inspect liquidity; they do not reserve size or place orders.
curl --request GET \
--url https://api.rook.pm/v1/orderbooks \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/orderbooks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/orderbooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"listing_id": "lst_pm_fed_dec_2026_cut_yes",
"venue": "polymarket",
"status": "LIVE",
"quote_currency": "USDC",
"quantity_unit": "shares",
"snapshot_id": "book_snapshot_1842",
"book_revision": "book_1842",
"bids": [
{
"price": "0.40",
"quantity": "1200",
"cumulative_quantity": "1200",
"cumulative_notional": "480"
},
{
"price": "0.39",
"quantity": "800",
"cumulative_quantity": "2000",
"cumulative_notional": "792"
}
],
"asks": [
{
"price": "0.42",
"quantity": "900",
"cumulative_quantity": "900",
"cumulative_notional": "378"
},
{
"price": "0.43",
"quantity": "600",
"cumulative_quantity": "1500",
"cumulative_notional": "636"
}
],
"returned_depth": 2,
"has_more_depth": true,
"depth_scope": "Top 2 levels per side; cumulative notional excludes fees.",
"best_bid": {
"price": "0.40",
"quantity": "1200"
},
"best_ask": {
"price": "0.42",
"quantity": "900"
},
"times": {
"source_timestamp": "2026-10-19T11:59:59.800Z",
"received_at": "2026-10-19T11:59:59.910Z",
"published_at": "2026-10-19T12:00:00Z"
}
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}Authorizations
Proposed server-to-server API key. No client request HMAC signing scheme is specified.
Headers
Caller correlation reference; not an idempotency guarantee.
Query Parameters
Rook listing IDs from /markets or /markets:resolve. Select the venue and outcome side explicitly; repeat the query parameter for multiple listings.
1Opaque text identifier. Preserve its exact value.
1Maximum price levels requested per book side. Results disclose actual returned depth and whether more levels exist.
x >= 1Response
Success.