Get Polymarket price history
Retrieve the price history of one outcome token as timestamped points. Choose a relative interval or a start and end time, set the bucket width, and page with the returned cursor.
/v1/polymarket/price-historyx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Outcome token ID (the CLOB asset ID, decimal). Use tokenId or market, not both.
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
example-candidate-wins-2028Outcome 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
YesRelative window: 1h, 6h, 1d, 1w, 1m, all or max. Defaults to 1d when start is not set. Cannot be combined with start.
one of: 1h, 6h, 1d, 1w, 1m, all, max
1wWindow start, Unix seconds, inclusive.
Window end, Unix seconds, exclusive; requires start and must be later.
Bucket width in seconds, 60–86400. Defaults to a width the source chooses for the window.
3600Points per page, 1–5,000; defaults to 1,000.
Optional nextCursor from the previous response. Send the same other parameters with it; omit it for the first page.
Request correlation UUID.
Upstream requests, decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data is returned; inspect status and coverage for omissions.
success, partial, failed or challenged. HTTP 200 can be partial.
one of: success, partial
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
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.
Always included.
Always included.
Always included.
Outcome token ID (the CLOB asset ID, decimal). Use tokenId or market, not both.
Outcome name when market is used, such as Yes or No (case-insensitive). Defaults to the market’s first outcome.
data_api for Polymarket’s Data API; clob when the Data API holds no points for the token and the CLOB price history is returned instead (older markets). clob points carry no resolution_seconds and no cursor; a window with more points than limit keeps its newest points (warning point_limit).
one of: data_api, clob
Price points in time order: timestamp (Unix seconds), price (0–1) and resolution_seconds (the bucket width).
up to 5000 items
Always included.
Always included.
Optional.
Cursor for the next page, or null when the source has no further page.
No fields match.
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.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with level_limit, point_limit, market_limit, comment_row_limit or *_unavailable warnings. |
| 400 | invalid_request | Missing, duplicate, conflicting, unsafe or unsupported parameters, a URL outside polymarket.com, or a cursor the source rejects. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 404 | not_found | Unknown event, market, outcome, token, series, handle or wallet. |
| 429 | upstream_rate_limited | Polymarket throttled the request; no automatic retry. |
| 502 | upstream_challenged | Polymarket rejected the request or answered with a challenge page. |
| 502 | unsupported_page | Malformed, mismatched or non-JSON source data, or a profile page without its wallet address. |
| 502 | response_too_large payload_too_complex | Response exceeded byte or parsing limits. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded source retrieval could not complete. |
| 503 | busy | All worker slots and queue places are occupied. |
| 504 | timeout | Total request deadline expired. |