Skip to content
scrapeatlas.Dashboard

Get Polymarket price history

Try in Playground

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.

GET/v1/polymarket/price-historyx-api-key
x-api-keystringrequiredheader

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

Query parameters
9
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
intervalenumquery

Relative 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

Example1w
startstringquery

Window start, Unix seconds, inclusive.

endstringquery

Window end, Unix seconds, exclusive; requires start and must be later.

bucketSecondsstringquery

Bucket width in seconds, 60–86400. Defaults to a width the source chooses for the window.

Example3600
limitstringquery

Points per page, 1–5,000; defaults to 1,000.

cursorstringquery

Optional nextCursor from the previous response. Send the same other parameters with it; omit it for the first page.

Response fields
21
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.

historySourceenum

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

points.timestampinteger

Always included.

points.pricenumber

Always included.

points.resolution_secondsintegeroptional

Optional.

nextCursorstringnullable

Cursor for the next page, or null when the source has no further page.

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.