{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PolyOrderbooks","description":"Historical Polymarket order books, prices, and liquidity — discovery and time-series APIs for crypto and sports markets.","colors":{"primary":"#F0B429","light":"#FFD56A","dark":"#D99A09"},"logo":{"light":"https://mintcdn.com/poly-orderbooks/7BBXEWU5dBg13Vkp/logo/light.svg?fit=max\u0026auto=format\u0026n=7BBXEWU5dBg13Vkp\u0026q=85\u0026s=0894efdc72a9f2f23d99ff14a39c3230","dark":"https://mintcdn.com/poly-orderbooks/7BBXEWU5dBg13Vkp/logo/dark.svg?fit=max\u0026auto=format\u0026n=7BBXEWU5dBg13Vkp\u0026q=85\u0026s=6274da672034000dea59a3ecf92f6c3b","href":"https://polyorderbooks.com"},"favicon":"https://mintcdn.com/poly-orderbooks/7BBXEWU5dBg13Vkp/favicon.svg?fit=max\u0026auto=format\u0026n=7BBXEWU5dBg13Vkp\u0026q=85\u0026s=fdd002790375549f8a476567fe32f112","api":{"mdx":{"auth":{"method":"key","name":"X-API-Key"}}},"background":{"decoration":"grid","color":{"light":"#F8FAFC","dark":"#0C0F14"}},"navbar":{"links":[{"href":"https://pypi.org/project/polyorderbooks/","label":"Python SDK"},{"href":"https://github.com/polyorderbookslabs/python-examples","label":"Examples"},{"href":"https://polyorderbooks.com/pricing","label":"Pricing"},{"href":"https://polyorderbooks.com/dashboard","label":"Dashboard"}],"primary":{"type":"button","label":"Get your API key","href":"https://polyorderbooks.com/signup"}},"footer":{"socials":{"x":"https://x.com/polyorderbooks","github":"https://github.com/polyorderbookslabs"},"links":[{"header":"Get the data","items":[{"label":"Free BTC 5-min sample","href":"https://polyorderbooks.com/datasets/polymarket-btc-5min-orderbook-sample"},{"label":"All free datasets","href":"https://polyorderbooks.com/datasets"},{"label":"Zenodo DOI (CC BY 4.0)","href":"https://doi.org/10.5281/zenodo.22084114"},{"label":"Coverage and markets","href":"https://polyorderbooks.com/polymarket-crypto-data"}]},{"header":"Pricing","items":[{"label":"Plans","href":"https://polyorderbooks.com/pricing"},{"label":"Is the Polymarket API free?","href":"https://polyorderbooks.com/polymarket-api-pricing"},{"label":"Data windows","href":"https://polyorderbooks.com/polymarket-historical-data"},{"label":"Enterprise","href":"mailto:contact@polyorderbooks.com?subject=Enterprise%20inquiry"}]},{"header":"Build","items":[{"label":"Get an API key","href":"https://polyorderbooks.com/signup"},{"label":"Python SDK","href":"https://pypi.org/project/polyorderbooks"},{"label":"Python examples","href":"https://github.com/polyorderbookslabs/python-examples"},{"label":"MCP server","href":"https://polyorderbooks.com/polymarket-mcp-server"}]}]},"seo":{"metatags":{"og:site_name":"PolyOrderbooks","og:type":"website","og:locale":"en_US","og:image":"https://polyorderbooks.com/og.png","og:image:width":"1200","og:image:height":"630","og:image:alt":"PolyOrderbooks — historical Polymarket order book and market data API","twitter:card":"summary_large_image","twitter:site":"@polyorderbooks","twitter:image":"https://polyorderbooks.com/og.png","keywords":"Polymarket API, Polymarket historical data, Polymarket order book API, prediction market data, L2 order book history"},"indexing":"all"},"banner":{"content":"**Start free:** pull 250ms-captured L2 order books from the [BTC 5-min sample dataset](https://polyorderbooks.com/datasets/polymarket-btc-5min-orderbook-sample) — no signup. Live 250ms history starts at $19/mo on [pricing](https://polyorderbooks.com/pricing).","dismissible":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"poly-orderbooks","hasAudioNarration":false,"actualSubdomain":"poly-orderbooks","customDomains":["docs.polyorderbooks.com"],"gitSource":{"type":"github","owner":"polyorderbookslabs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ac1ebd0592b6df283a65d11","collectionId":"739824ff-a55e-4566-8d93-95815896ce19","liveDeploymentHistoryId":"6ac1ebd0592b6df283a65d11","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac1ebd0592b6df283a65d11","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Historical","count":9},{"language":"default","tag":"Getting started","count":7},{"language":"default","tag":"Discovery","count":6},{"language":"default","tag":"Backtest AI","count":1},{"language":"default","tag":"Reference","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#topbar-cta-button a>span[class*=bg-primary]{background:#f0b429!important;border-radius:9999px!important}#topbar-cta-button a:hover>span[class*=bg-primary]{background:#d99a09!important;opacity:1!important}#topbar-cta-button a .text-white,#topbar-cta-button a svg{color:#1a1408!important}"}],"page":{"pagePath":"api-reference/history/get-token-order-book-history","slug":"/api-reference/history/get-token-order-book-history","pageMetadata":{"title":"Polymarket Token Order Book API — L2 History","description":"Get historical order book snapshots for a specific token.\n\n**Pagination limits:**\n- Default `limit`: 100 points per page\n- Maximum `limit`: 200 points per page\n- Use `cursor` from `metadata.next_cursor` to fetch the next page\n\n**Aggregation:** The last (most recent) order book in each interval is returned.\n\n**Format:** JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tokens/{token_id}/books","href":"/api-reference/history/get-token-order-book-history","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Get historical order book snapshots for a specific token.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Pagination limits:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"Default \", _jsx(_components.code, {\n children: \"limit\"\n }), \": 100 points per page\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Maximum \", _jsx(_components.code, {\n children: \"limit\"\n }), \": 200 points per page\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Use \", _jsx(_components.code, {\n children: \"cursor\"\n }), \" from \", _jsx(_components.code, {\n children: \"metadata.next_cursor\"\n }), \" to fetch the next page\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Aggregation:\"\n }), \" The last (most recent) order book in each interval is returned.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Format:\"\n }), \" JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Polymarket Token Order Book API — L2 History","description":"Get historical order book snapshots for a specific token.\n\n**Pagination limits:**\n- Default `limit`: 100 points per page\n- Maximum `limit`: 200 points per page\n- Use `cursor` from `metadata.next_cursor` to fetch the next page\n\n**Aggregation:** The last (most recent) order book in each interval is returned.\n\n**Format:** JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tokens/{token_id}/books","href":"/api-reference/history/get-token-order-book-history","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["History"],"summary":"Get token order book history","description":"Get historical order book snapshots for a specific token.\n\n**Pagination limits:**\n- Default `limit`: 100 points per page\n- Maximum `limit`: 200 points per page\n- Use `cursor` from `metadata.next_cursor` to fetch the next page\n\n**Aggregation:** The last (most recent) order book in each interval is returned.\n\n**Format:** JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.","operationId":"get_token_books_v1_tokens__token_id__books_get","parameters":["524fe3e8-f5b9-40d9-9477-16ffcc317689","efd4591c-6c47-461c-9ced-ffae17d6a906","f05778d1-0968-4bb2-89aa-f4e7e2ed77ea","1dfeaf68-f34c-4cb8-909c-b39294bcbbd3","510d9a7a-4c61-42dc-ab04-ce006d358c1f","14973de6-5d1c-4aea-8025-28b8c1a3b38c","21a3340d-fde3-41d2-9882-21e87bdfb98c"],"responses":{"200":"e236ab64-57c5-4a70-a270-06f0345480bc","400":"ccb23df8-4c79-49ee-99be-b43b76358d1c","401":"8e467ff4-b587-4c24-9316-a9d982d7fe14","403":"d7100627-6677-4fb7-a570-736cb2155299","404":"2ebfc8b1-b26f-4aa8-9f51-6aca7ca7e605","422":"d649cc67-5df2-4133-919e-bca9cb206053","429":"89f8547e-bb94-4529-9336-17915d428908","500":"9515a073-5462-4b8f-afa2-91eb268ef3fd"},"x-mint":{"metadata":{"title":"Polymarket Token Order Book API — L2 History"}},"method":"get","type":"path","servers":["0fbe4030-08bf-4862-99a3-dd9d4fdb25e4"],"security":[],"path":"/v1/tokens/{token_id}/books","baseUrlOptions":["https://api.polyorderbooks.com"],"title":"Get token order book history","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"524fe3e8-f5b9-40d9-9477-16ffcc317689":{"name":"token_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"description":"Token ID.","examples":["12345"],"title":"Token Id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Token ID."},"efd4591c-6c47-461c-9ced-ffae17d6a906":{"name":"start_ts","in":"query","required":true,"schema":{"type":"string","description":"Inclusive range start. Accepts ISO 8601 timestamp or Unix seconds.","examples":["2025-09-04T00:00:00Z","1756944000"],"title":"Start Ts","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Inclusive range start. Accepts ISO 8601 timestamp or Unix seconds."},"f05778d1-0968-4bb2-89aa-f4e7e2ed77ea":{"name":"end_ts","in":"query","required":true,"schema":{"type":"string","description":"Exclusive range end. Accepts ISO 8601 timestamp or Unix seconds.","examples":["2025-09-05T00:00:00Z","1757030400"],"title":"End Ts","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Exclusive range end. Accepts ISO 8601 timestamp or Unix seconds."},"1dfeaf68-f34c-4cb8-909c-b39294bcbbd3":{"name":"resolution","in":"query","required":true,"schema":{"type":"string","enum":["250ms","1s","1m","5m","10m","15m","1h","6h","1d"],"title":"Resolution","description":"Aggregation bucket size.","isRequired":true,"uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Aggregation bucket size."},"510d9a7a-4c61-42dc-ab04-ce006d358c1f":{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Maximum number of points to return in this page. Default: 100, max: 200.","examples":[100],"default":100,"title":"Limit","isRequired":false,"uniqueKey":"","typeLabel":"integer"},"description":"Maximum number of points to return in this page. Default: 100, max: 200."},"14973de6-5d1c-4aea-8025-28b8c1a3b38c":{"name":"cursor","in":"query","required":false,"schema":{"oneOf":[{"type":"string","title":"Cursor","description":"Opaque cursor from a previous response metadata.next_cursor.","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Cursor","description":"Opaque cursor from a previous response metadata.next_cursor.","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"},"description":"Opaque cursor from a previous response metadata.next_cursor."},"21a3340d-fde3-41d2-9882-21e87bdfb98c":{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["crypto","sports"],"description":"Restrict results to one category. Omit to search every category this deployment holds.","title":"Category","isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Restrict results to one category. Omit to search every category this deployment holds."}},"responses":{"e236ab64-57c5-4a70-a270-06f0345480bc":{"description":"Historical order book snapshots for a single token.","content":{"application/json":{"schema":{"properties":{"market_id":{"type":"string","title":"Market Id","description":"Canonical market ID.","examples":["618831"],"uniqueKey":"market_id","typeLabel":"string"},"token_id":{"type":"string","title":"Token Id","description":"Requested token ID.","examples":["12345"],"uniqueKey":"token_id","typeLabel":"string"},"token_label":{"type":"string","title":"Token Label","description":"Human-readable token label.","examples":["Yes"],"uniqueKey":"token_label","typeLabel":"string"},"resolution":{"type":"string","title":"Resolution","description":"Applied resolution.","examples":["1h"],"uniqueKey":"resolution","typeLabel":"string"},"data":{"items":{"properties":{"t":{"type":"string","format":"date-time","title":"T","description":"Bucket timestamp in ISO 8601 format.","examples":["2025-09-05T12:00:00Z"],"uniqueKey":"data.items.[INDEX].t","typeLabel":"string\u003cdate-time>"},"bids":{"items":{"items":{"type":"number","uniqueKey":"data.items.[INDEX].bids.items.[INDEX].items.[INDEX]","typeLabel":"number"},"type":"array","uniqueKey":"data.items.[INDEX].bids.items.[INDEX]","typeLabel":"number[]"},"type":"array","title":"Bids","description":"Bid levels as `[price, size]` pairs, best bid first.","examples":[[[0.72,150],[0.71,320]]],"uniqueKey":"data.items.[INDEX].bids","typeLabel":"number[][]"},"asks":{"items":{"items":{"type":"number","uniqueKey":"data.items.[INDEX].asks.items.[INDEX].items.[INDEX]","typeLabel":"number"},"type":"array","uniqueKey":"data.items.[INDEX].asks.items.[INDEX]","typeLabel":"number[]"},"type":"array","title":"Asks","description":"Ask levels as `[price, size]` pairs, best ask first.","examples":[[[0.73,140],[0.74,300]]],"uniqueKey":"data.items.[INDEX].asks","typeLabel":"number[][]"}},"type":"object","title":"OrderBookSnapshot","description":"Single token order book snapshot.","uniqueKey":"data.items.[INDEX]","typeLabel":"OrderBookSnapshot · object"},"type":"array","title":"Data","description":"Chronological order book snapshots for the selected token.","uniqueKey":"data","typeLabel":"OrderBookSnapshot · object[]"},"metadata":{"properties":{"count":{"type":"integer","title":"Count","description":"Number of points returned in this page.","uniqueKey":"metadata.count","typeLabel":"integer"},"limit":{"type":"integer","title":"Limit","description":"Effective page limit used for this response.","uniqueKey":"metadata.limit","typeLabel":"integer"},"next_cursor":{"oneOf":[{"type":"string","title":"Next Cursor","description":"Opaque cursor for the next page. Null when the page is complete.","uniqueKey":"metadata.next_cursor.oneOf.0","typeLabel":"string"},{"type":"null","title":"Next Cursor","description":"Opaque cursor for the next page. Null when the page is complete.","uniqueKey":"metadata.next_cursor.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata.next_cursor","typeLabel":"string | null"}},"type":"object","title":"HistoryPageMetadata","description":"Pagination metadata for this history page.","uniqueKey":"metadata","typeLabel":"HistoryPageMetadata · object"}},"type":"object","title":"BooksResponseSingleToken","description":"Response for `GET /tokens/{token_id}/books`.","example":{"data":[{"asks":[[0.73,140],[0.74,300]],"bids":[[0.72,150],[0.71,320]],"t":"2025-09-05T10:00:00Z"}],"market_id":"618831","metadata":{"count":1,"limit":100},"resolution":"1h","token_id":"12345","token_label":"Yes"},"uniqueKey":"","typeLabel":"BooksResponseSingleToken · object"},"examples":{"Example":{"title":"Example","value":{"data":[{"asks":[[0.73,140],[0.74,300]],"bids":[[0.72,150],[0.71,320]],"t":"2025-09-05T10:00:00Z"}],"market_id":"618831","metadata":{"count":1,"limit":100},"resolution":"1h","token_id":"12345","token_label":"Yes"}}},"exampleType":"generated"}},"exampleType":"generated"},"ccb23df8-4c79-49ee-99be-b43b76358d1c":{"description":"Invalid timestamp format, limit, or cursor.","content":{"application/json":{"example":{"error":"bad_request","message":"Invalid pagination cursor"},"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable code. Branch on this, not on `message`.","examples":["bad_request","unauthorized","forbidden","not_found","rate_limited"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable explanation, usually naming the offending value.","examples":["Unsupported resolution '30s'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"type":"object","title":"ErrorResponse","description":"Error envelope returned for every 4xx and 5xx response.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"bad_request","message":"Invalid pagination cursor"}}},"exampleType":"examples"}},"exampleType":"examples"},"8e467ff4-b587-4c24-9316-a9d982d7fe14":{"description":"API key is missing, invalid, or expired.","content":{"application/json":{"example":{"error":"unauthorized","message":"Invalid or expired API key."},"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable code. Branch on this, not on `message`.","examples":["bad_request","unauthorized","forbidden","not_found","rate_limited"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable explanation, usually naming the offending value.","examples":["Unsupported resolution '30s'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"type":"object","title":"ErrorResponse","description":"Error envelope returned for every 4xx and 5xx response.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"unauthorized","message":"Invalid or expired API key."}}},"exampleType":"examples"}},"exampleType":"examples"},"d7100627-6677-4fb7-a570-736cb2155299":{"description":"Plan does not allow the requested data point, granularity, or date range.","content":{"application/json":{"example":{"error":"forbidden","message":"Your plan does not allow historical order books."},"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable code. Branch on this, not on `message`.","examples":["bad_request","unauthorized","forbidden","not_found","rate_limited"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable explanation, usually naming the offending value.","examples":["Unsupported resolution '30s'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"type":"object","title":"ErrorResponse","description":"Error envelope returned for every 4xx and 5xx response.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"forbidden","message":"Your plan does not allow historical order books."}}},"exampleType":"examples"}},"exampleType":"examples"},"2ebfc8b1-b26f-4aa8-9f51-6aca7ca7e605":{"description":"Requested resource (market or token) was not found.","content":{"application/json":{"examples":{"market":{"title":"market","value":{"error":"not_found","message":"Market not found: 618831"}},"token":{"title":"token","value":{"error":"not_found","message":"Token not found: 12345"}}},"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable code. Branch on this, not on `message`.","examples":["bad_request","unauthorized","forbidden","not_found","rate_limited"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable explanation, usually naming the offending value.","examples":["Unsupported resolution '30s'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"type":"object","title":"ErrorResponse","description":"Error envelope returned for every 4xx and 5xx response.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"},"d649cc67-5df2-4133-919e-bca9cb206053":{"description":"Validation error for one or more request parameters.","content":{"application/json":{"example":{"detail":[{"loc":["query","resolution"],"msg":"Unsupported resolution '2m'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d","type":"enum"}]},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["query","resolution"],"msg":"Unsupported resolution '2m'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d","type":"enum"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"89f8547e-bb94-4529-9336-17915d428908":{"description":"Rate limit exceeded for the current API key.","content":{"application/json":{"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable code. Branch on this, not on `message`.","examples":["bad_request","unauthorized","forbidden","not_found","rate_limited"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable explanation, usually naming the offending value.","examples":["Unsupported resolution '30s'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"type":"object","title":"ErrorResponse","description":"Error envelope returned for every 4xx and 5xx response.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"example":{"error":"rate_limited","message":"Rate limit exceeded. Please try again later."},"examples":{"Example":{"title":"Example","value":{"error":"rate_limited","message":"Rate limit exceeded. Please try again later."}}},"exampleType":"examples"}},"exampleType":"examples"},"9515a073-5462-4b8f-afa2-91eb268ef3fd":{"description":"Unexpected server-side error.","content":{"application/json":{"example":{"error":"internal_error","message":"Failed to fetch data."},"schema":{"properties":{"error":{"type":"string","title":"Error","description":"Stable machine-readable code. Branch on this, not on `message`.","examples":["bad_request","unauthorized","forbidden","not_found","rate_limited"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"Human-readable explanation, usually naming the offending value.","examples":["Unsupported resolution '30s'. Allowed: 250ms, 1s, 60s, 1m, 5m, 10m, 15m, 1h, 6h, 1d"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"type":"object","title":"ErrorResponse","description":"Error envelope returned for every 4xx and 5xx response.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"error":"internal_error","message":"Failed to fetch data."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"b3db9ebf-a55b-4a2e-bd2d-2f34afb868d8":{"Key":{"name":"X-API-Key","type":"apiKey","in":"header"}}},"servers":{"0fbe4030-08bf-4862-99a3-dd9d4fdb25e4":{"url":"https://api.polyorderbooks.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"name":"X-API-Key","type":"apiKey","in":"header"},"schema":{"title":"X-API-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"Key","name":"X-API-Key"}],"title":"Key"}]},"originalFileLocation":"openapi.json"},"subdomain":"poly-orderbooks","siteName":"PolyOrderbooks","title":"Polymarket Token Order Book API — L2 History - PolyOrderbooks","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T17:59:14.228Z","originalFileLocation":"api-reference/history/get-token-order-book-history.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Get historical order book snapshots for a specific token. Pagination limits: - Default limit: 100 points per page - Maximum limit: 200 points per page - Use cursor from metadata.next_cursor to fetch the next page Aggregation: The last (most recent) order book in each interval is returned. Format: JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.\">\u003cmeta data-mint-head name=\"keywords\" content=\"Polymarket API, Polymarket historical data, Polymarket order book API, prediction market data, L2 order book history\">\u003cmeta data-mint-head name=\"application-name\" content=\"PolyOrderbooks\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Polymarket Token Order Book API — L2 History - PolyOrderbooks\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get historical order book snapshots for a specific token. Pagination limits: - Default limit: 100 points per page - Maximum limit: 200 points per page - Use cursor from metadata.next_cursor to fetch the next page Aggregation: The last (most recent) order book in each interval is returned. Format: JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PolyOrderbooks\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://polyorderbooks.com/og.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Polymarket Token Order Book API — L2 History - PolyOrderbooks\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get historical order book snapshots for a specific token. Pagination limits: - Default limit: 100 points per page - Maximum limit: 200 points per page - Use cursor from metadata.next_cursor to fetch the next page Aggregation: The last (most recent) order book in each interval is returned. Format: JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://polyorderbooks.com/og.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/poly-orderbooks/RjSQhR206oCVU6b8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PolyOrderbooks\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F0B429\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"PolyOrderbooks — historical Polymarket order book and market data API\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/history/get-token-order-book-history.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.polyorderbooks.com/#organization\",\"name\":\"PolyOrderbooks\",\"url\":\"https://docs.polyorderbooks.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/poly-orderbooks/7BBXEWU5dBg13Vkp/logo/light.svg?fit=max\u0026auto=format\u0026n=7BBXEWU5dBg13Vkp\u0026q=85\u0026s=0894efdc72a9f2f23d99ff14a39c3230\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.polyorderbooks.com#website\",\"name\":\"PolyOrderbooks\",\"url\":\"https://docs.polyorderbooks.com\",\"publisher\":{\"@id\":\"https://docs.polyorderbooks.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history#webpage\",\"url\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history\",\"name\":\"Polymarket Token Order Book API — L2 History\",\"description\":\"Get historical order book snapshots for a specific token. Pagination limits: - Default limit: 100 points per page - Maximum limit: 200 points per page - Use cursor from metadata.next_cursor to fetch the next page Aggregation: The last (most recent) order book in each interval is returned. Format: JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.\",\"dateModified\":\"2026-10-02T17:59:14.228Z\",\"isPartOf\":{\"@id\":\"https://docs.polyorderbooks.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Historical\",\"item\":\"https://docs.polyorderbooks.com/historical/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Polymarket Token Order Book API — L2 History\",\"item\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history#apireference\",\"headline\":\"Polymarket Token Order Book API — L2 History\",\"name\":\"Polymarket Token Order Book API — L2 History\",\"description\":\"Get historical order book snapshots for a specific token. Pagination limits: - Default limit: 100 points per page - Maximum limit: 200 points per page - Use cursor from metadata.next_cursor to fetch the next page Aggregation: The last (most recent) order book in each interval is returned. Format: JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.\",\"url\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history\",\"mainEntityOfPage\":{\"@id\":\"https://docs.polyorderbooks.com/api-reference/history/get-token-order-book-history#webpage\"},\"image\":\"https://polyorderbooks.com/og.png\",\"dateModified\":\"2026-10-02T17:59:14.228Z\",\"publisher\":{\"@id\":\"https://docs.polyorderbooks.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.polyorderbooks.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PolyOrderbooks\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PolyOrderbooks","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"Polymarket API Documentation","sidebarTitle":"Overview","mode":"wide","href":"/index"},{"title":"Polymarket Python API Quickstart","sidebarTitle":"Quickstart","href":"/quickstart"},{"title":"Polymarket MCP Server — Historical L2 Order Books","sidebarTitle":"MCP server","href":"/integrations/mcp"},{"title":"PolyOrderbooks for AI Agents","sidebarTitle":"AI agents","href":"/integrations/ai-agents"},{"title":"Polymarket API Authentication \u0026 API Keys","sidebarTitle":"Authentication","href":"/authentication"},{"title":"Polymarket API Plan Limits \u0026 Quotas","sidebarTitle":"Pricing \u0026 plans","href":"/pricing"},{"title":"Polymarket API Rate Limits","sidebarTitle":"Rate limits","href":"/rate-limits"},{"title":"Polymarket API Error Handling","sidebarTitle":"Error handling","href":"/error-handling"}]},{"group":"Discovery","pages":[{"title":"Polymarket Markets API — Search \u0026 Discovery","sidebarTitle":"Discovery overview","href":"/discovery/overview"},{"title":"Polymarket Series API — List Series","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/series","href":"/api-reference/discovery/list-series"},{"title":"Polymarket Events API — List Events","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/events","href":"/api-reference/discovery/list-events"},{"title":"Polymarket Markets API — List Markets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets","href":"/api-reference/discovery/list-markets"},{"title":"Polymarket Market Details API","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{id_or_slug}","href":"/api-reference/discovery/get-market-details"},{"title":"Polymarket Market Tags API","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tags","href":"/api-reference/discovery/list-available-tags"}]},{"group":"Historical","pages":[{"title":"Polymarket Historical Data API — Prices, Metrics \u0026 L2 Order Books","sidebarTitle":"Historical overview","href":"/historical/overview"},{"title":"Polymarket API Pagination","sidebarTitle":"Pagination","href":"/historical/pagination"},{"title":"Polymarket Historical Data Resolutions","sidebarTitle":"Resolutions","href":"/historical/resolutions"},{"title":"Working with Polymarket L2 Order Book Data","sidebarTitle":"Working with order books","href":"/historical/order-books"},{"title":"Polymarket Market Price History API — All Tokens in One Market","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{id_or_slug}/prices","href":"/api-reference/history/get-price-history-for-every-token-in-a-market"},{"title":"Polymarket Liquidity \u0026 Volume Metrics API","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{id_or_slug}/metrics","href":"/api-reference/history/get-market-metrics-history"},{"title":"Polymarket Order Book API — L2 History","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/markets/{id_or_slug}/books","href":"/api-reference/history/get-market-order-book-history"},{"title":"Polymarket Single Token Price History API — By Token ID","description":"Get the historical price series (probabilities from 0.0 to 1.0) for a **single** token, addressed by its Polymarket CLOB token id.\n\nUse this when you already know the token id — a persisted outcome id from your own catalog, or the `Yes` / `No` token returned by `/v1/markets/{id_or_slug}`.\n\n**When to use the market-scoped route instead:** to pull every outcome of a market without knowing any token ids, use `/v1/markets/{id_or_slug}/prices`.\n\n**Pagination limits:**\n- Default `limit`: 100 points per page\n- Maximum `limit`: 200 points per page\n- Use `cursor` from `metadata.next_cursor` to fetch the next page\n\n**Aggregation:** Prices are averaged when aggregating to higher resolutions.\n\n**Format:** JSON only. Covers Polymarket crypto and sports markets from the PolyOrderbooks historical archive.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tokens/{token_id}/prices","href":"/api-reference/history/get-price-history-for-one-token-by-clob-token-id"},{"title":"Polymarket Token Order Book API — L2 History","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tokens/{token_id}/books","href":"/api-reference/history/get-token-order-book-history"}]},{"group":"Backtest AI","pages":[{"title":"Backtest AI","description":"Turn a plain-English crypto up/down strategy, or a fully specified Strategy Builder spec, into a replayed backtest over resolved Polymarket markets from the archive. The `strategy` block in the response is the exact specification the engine executed.\n\nAuth: `X-API-Key: pob_...` (or `Authorization: Bearer pob_...`). Available to any authenticated plan; plans differ in monthly run quotas and the history window. Over-quota calls return `429 limit_reached`.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/ai/backtest","href":"/api-reference/backtest-ai/backtest-ai"}]},{"group":"Reference","pages":[{"title":"Polymarket API Usage \u0026 Quota","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/usage","href":"/api-reference/utility/get-usage-information"}]}]},"basePath":"","title":"Polymarket Token Order Book API — L2 History - PolyOrderbooks","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-CX_qQQOL.js","dist-BTZUMDnx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-xpJZXxdP.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","AssistantPageLink-DqdKa2R4.js"]}