Skip to content
scrapeatlas.Dashboard

Get a Polymarket order book

Try in Playground

Retrieve the live order book for one outcome token: every bid and ask level as the CLOB serves it, the best bid and ask, tick size, minimum order size and last trade price.

GET/v1/polymarket/orderbookx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
3
tokenIdstringquery

Outcome token ID (the CLOB asset ID, decimal). Use tokenId or market, not both.

marketstringquery

Market slug, numeric market ID, condition ID (0x plus 64 hex characters), or a polymarket.com/event/<event>/<market> or /market/<slug> URL. An event URL without a market segment selects the single market that shares the event slug. Use with outcome to pick an outcome token.

min 1 chars · max 600 chars

Exampleexample-candidate-wins-2028
outcomestringquery

Outcome name when market is used, such as Yes or No (case-insensitive). Defaults to the market’s first outcome.

min 1 chars · max 100 chars

ExampleYes
Response fields
36
requestIdstring

Request correlation UUID.

Upstream requests, decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

Public Polymarket page the data describes, or the public API URL when no page exists (an order book or price history requested by token ID).

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

complete is false when a warning names an omission, such as market_limit, level_limit, point_limit, comment_row_limit or stats_unavailable.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

tokenIdstring

Outcome token ID (the CLOB asset ID, decimal). Use tokenId or market, not both.

outcomestringoptional

Outcome name when market is used, such as Yes or No (case-insensitive). Defaults to the market’s first outcome.

The CLOB book: market (condition ID), asset_id (token ID), timestamp (milliseconds, string), hash, bids, asks, min_order_size, tick_size, neg_risk and last_trade_price. Prices and sizes are decimal strings.

book.marketstring

Always included.

book.asset_idstring

Always included.

book.timestampstring

Always included.

book.hashstring

Always included.

Always included.

up to 1000 items

book.bids.pricestring

Always included.

book.bids.sizestring

Always included.

Always included.

up to 1000 items

book.asks.pricestring

Always included.

book.asks.sizestring

Always included.

book.min_order_sizestringoptional

Optional.

book.tick_sizestringoptional

Optional.

book.neg_riskbooleanoptional

Optional.

book.last_trade_pricestringoptional

Optional.

Always included.

bestBid.pricestring

Always included.

bestBid.sizestring

Always included.

Always included.

bestAsk.pricestring

Always included.

bestAsk.sizestring

Always included.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
11
HTTPfailure.codeMeaning
200partialUsable data with level_limit, point_limit, market_limit, comment_row_limit or *_unavailable warnings.
400invalid_requestMissing, duplicate, conflicting, unsafe or unsupported parameters, a URL outside polymarket.com, or a cursor the source rejects.
401unauthorizedMissing or invalid worker API key.
404not_foundUnknown event, market, outcome, token, series, handle or wallet.
429upstream_rate_limitedPolymarket throttled the request; no automatic retry.
502upstream_challengedPolymarket rejected the request or answered with a challenge page.
502unsupported_pageMalformed, mismatched or non-JSON source data, or a profile page without its wallet address.
502response_too_large payload_too_complexResponse exceeded byte or parsing limits.
502unsafe_redirect request_limit upstream_errorBounded source retrieval could not complete.
503busyAll worker slots and queue places are occupied.
504timeoutTotal request deadline expired.