Skip to main content
GET
/
v1
/
orderbook
/
{token_id}
Order book
curl --request GET \
  --url https://api.polynode.dev/v1/orderbook/{token_id} \
  --header 'x-api-key: <api-key>'
{
  "market": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
  "asset_id": "114694726451307654528948558967898493662917070661203465131156925998487819889437",
  "timestamp": "1773901991806",
  "hash": "b811dc1233a0f250a60018bc94f377955c9a513e",
  "bids": [
    {
      "price": "0.01",
      "size": "1130220"
    },
    {
      "price": "0.02",
      "size": "76910"
    },
    {
      "price": "0.03",
      "size": "94333.34"
    },
    {
      "price": "0.04",
      "size": "119706"
    },
    {
      "price": "0.05",
      "size": "16328"
    },
    {
      "price": "0.46",
      "size": "18"
    }
  ],
  "asks": [
    {
      "price": "0.99",
      "size": "24292"
    },
    {
      "price": "0.98",
      "size": "2048"
    },
    {
      "price": "0.97",
      "size": "13333.33"
    },
    {
      "price": "0.96",
      "size": "1024"
    },
    {
      "price": "0.95",
      "size": "14100"
    },
    {
      "price": "0.47",
      "size": "687"
    }
  ],
  "min_order_size": "5",
  "tick_size": "0.01",
  "neg_risk": false,
  "last_trade_price": "0.540",
  "metadata": {
    "question": "Netanyahu out by end of 2026?",
    "slug": "netanyahu-out-before-2027-684-719-226",
    "outcomes": [
      "Yes",
      "No"
    ],
    "condition_id": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
    "image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/netanyahu-out-in-2025-Vc7bE4GtiJzM.jpg"
  }
}
Returns the full order book for a Polymarket token or market.

Identifier types

The {token_id} parameter accepts three identifier types. The response format depends on which type you use:
IdentifierFormatReturns
Token IDAll digits, 70+ charsSingle book for one outcome (Polymarket-compatible)
Condition IDStarts with 0xBoth outcomes for one market (Yes + No)
SlugHuman-readable stringAll outcomes across all markets in the event

By token ID (single outcome)

Best when you already have a specific token ID and want the exact Polymarket-compatible format.
curl "https://api.polynode.dev/v1/orderbook/114694726451307654528948558967898493662917070661203465131156925998487819889437" \
  -H "x-api-key: YOUR_KEY"
Response matches Polymarket’s CLOB /book format exactly, plus a metadata field:
{
  "market": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
  "asset_id": "114694726451307654528948558967898493662917070661203465131156925998487819889437",
  "timestamp": "1773901991806",
  "hash": "b811dc1233a0f250a60018bc94f377955c9a513e",
  "bids": [
    {"price": "0.01", "size": "1130220"},
    {"price": "0.02", "size": "76910"},
    {"price": "0.46", "size": "18"}
  ],
  "asks": [
    {"price": "0.99", "size": "24292"},
    {"price": "0.98", "size": "2048"},
    {"price": "0.47", "size": "687"}
  ],
  "min_order_size": "5",
  "tick_size": "0.01",
  "neg_risk": false,
  "last_trade_price": "0.540",
  "metadata": {
    "question": "Netanyahu out by end of 2026?",
    "slug": "netanyahu-out-before-2027-684-719-226",
    "outcomes": ["Yes", "No"],
    "condition_id": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
    "image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/netanyahu-out-in-2025-Vc7bE4GtiJzM.jpg"
  }
}

By condition ID (both outcomes)

Best when you want both sides of a market at once. Condition IDs start with 0x.
curl "https://api.polynode.dev/v1/orderbook/0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96" \
  -H "x-api-key: YOUR_KEY"
Response wraps both outcomes:
{
  "condition_id": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
  "question": "Netanyahu out by end of 2026?",
  "event_title": "Netanyahu out by...?",
  "outcomes": [
    {
      "outcome": "Yes",
      "token_id": "114694726451307654528948558967898493662917070661203465131156925998487819889437",
      "market": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
      "bids": [{"price": "0.01", "size": "1130220"}, "..."],
      "asks": [{"price": "0.99", "size": "24292"}, "..."],
      "min_order_size": "5",
      "tick_size": "0.01",
      "neg_risk": false,
      "last_trade_price": "0.540"
    },
    {
      "outcome": "No",
      "token_id": "66255671088804707681511323064315150986307471908131081808279119719218775249892",
      "market": "0xd1796c09d0d6f876f8580086ae9808ec991784e3a74b25a1830a25de71a78c96",
      "bids": [{"price": "0.01", "size": "821530"}, "..."],
      "asks": [{"price": "0.99", "size": "13720.65"}, "..."],
      "min_order_size": "5",
      "tick_size": "0.01",
      "neg_risk": false,
      "last_trade_price": "0.540"
    }
  ]
}

By slug (all outcomes across markets)

Best for getting a complete view of an event. Slugs are the human-readable event identifiers from Polymarket (e.g. netanyahu-out-before-2027). An event may have multiple markets, each with their own outcomes.
curl "https://api.polynode.dev/v1/orderbook/netanyahu-out-before-2027" \
  -H "x-api-key: YOUR_KEY"
Response includes all outcomes across all markets in the event. Same format as the condition ID response, but with slug instead of condition_id at the top level.

Fields (single-token response)

FieldTypeDescription
marketstringMarket condition ID (hex)
asset_idstringToken ID
timestampstringUnix timestamp in milliseconds
hashstring40-character hex hash of the book state
bidsarrayBid price levels, sorted ascending by price
asksarrayAsk price levels, sorted descending by price
min_order_sizestringMinimum order size for this market
tick_sizestringMinimum price increment (e.g. "0.01" or "0.001")
neg_riskbooleanWhether this is a neg-risk market
last_trade_pricestringLast traded price
metadataobjectPolyNode enrichment: question, slug, outcomes, condition_id, image

Notes

  • tick_size and min_order_size vary per market. They are sourced from the Gamma API, not hardcoded.
  • Bids are sorted ascending by price (best bid is the last element). Asks are sorted descending (best ask is the last element). This matches Polymarket’s sort order.
  • If no book exists for the requested identifier, returns a 404 with {"error": "No orderbook exists for the requested token id"}.

Authorizations

x-api-key
string
header
required

Path Parameters

token_id
string
required

Token ID (all digits), condition ID (starts with 0x), or event slug. Token ID returns a single book; condition ID and slug return all outcomes.

Response

Order book snapshot

Full order book snapshot. Base fields match Polymarket's CLOB /book response exactly. The metadata field is a PolyNode addition.

market
string
required

Market condition ID (hex)

asset_id
string
required

Token ID

timestamp
string
required

Unix timestamp in milliseconds (as string)

hash
string
required

40-character hex hash of the book state

bids
object[]
required

Bid price levels, sorted ascending by price

asks
object[]
required

Ask price levels, sorted descending by price

min_order_size
string
required

Minimum order size for this market (e.g. "5")

tick_size
string
required

Minimum price increment for this market (e.g. "0.01" or "0.001")

neg_risk
boolean
required

Whether this is a neg-risk market

last_trade_price
string
required

Last trade price (e.g. "0.540")

metadata
object

PolyNode market metadata enrichment (not present in Polymarket's CLOB API).