Polymarket Perps Order Book API
Resting bids and asks for one Perps instrument, at the depth you choose.
GET /v1/polymarket/perps/instruments/{instrumentId}/book1 credit Failed requests are free
About this endpoint
GET /v1/polymarket/perps/instruments/{instrumentId}/book returns data.bids and data.asks. Bids are best (highest) first and asks best (lowest) first. Each level has price and quantity in contracts. data.instrumentId and data.updatedAt identify the book and its snapshot time.
depth is 10, 100, 500 or 1000 levels per side and defaults to 10. An unknown instrument id returns lookupStatus: not_found with an empty book.
Polymarket Perps Order Book API FAQ
How many levels can I get?
10, 100, 500 or 1000 per side. The route rejects other values. A larger depth returns a bigger response, so start at 10 if you only need the top of book.
What do quantity and price mean?
quantity is contracts resting at that price. price is the Perps contract price, not a probability. These books are for perpetual futures, separate from event market order books.
Is the book live?
It is a snapshot with updatedAt. Between the snapshot and your processing the book can move. Poll it at a sensible rate and do not treat it as an execution guarantee.
What does lookupStatus mean on this route?
found means the object or list was returned. not_found means no matching object exists. HTTP 200 only means the request finished, so branch on data.lookupStatus before storing a row.
How much does this route cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
Other Polymarket endpoints
- EventsGET /v1/polymarket/events
- EventGET /v1/polymarket/events/{eventIdOrSlug}
- Event insightsGET /v1/polymarket/events/{eventIdOrSlug}/insights
- Event annotationsGET /v1/polymarket/events/{eventIdOrSlug}/annotations
- Event commentsGET /v1/polymarket/events/{eventId}/comments
- MarketsGET /v1/polymarket/markets
- Markets batchGET /v1/polymarket/markets/batch
- MarketGET /v1/polymarket/markets/{marketIdSlugOrConditionId}