Polymarket — Get a token's price history
polymarket_get_v2_prices_historyThe price-history series for one outcome token, or Uses the caller's OpenAny gateway credentials. Charges and authorization are determined by the gateway.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Window end, epoch seconds, EXCLUSIVE. Requires `start`; on its own it would ask for every point ever recorded up to `end`. | |
| as_of | No | Point-in-time read, epoch seconds, INCLUSIVE: the latest observation at or before this instant. Cannot be combined with a window. `asOf` is an accepted alias. | |
| limit | No | First-page size; defaults to the cap (10,000). Ignored when `cursor` is supplied (the cursor's size wins). | |
| start | No | Window start, epoch seconds, INCLUSIVE. Alone it means "up to the present", and is capped at 15 days back from now. Pass `end` too when paging: a window that tracks the present keeps growing at the tip, and the 15-day cap is re-checked on every page, so a walk that starts near the cap can outlive it. | |
| cursor | No | Opaque pagination cursor from a prior response's `next_cursor`. | |
| interval | No | Relative window INSTEAD of `start`/`end`: `max`, `all`, `1m`, `1w`, `1d`, `6h`, `1h`, matched case-sensitively. An empty `interval=` is a malformed value, not an absent one. `max`/`all` serve the market's WHOLE life (back to 2022 for the oldest markets) at 12-hour buckets by default; at `bucket_seconds` of 10800 or 43200 the window is unbounded, while finer widths keep a 30-day window. The other intervals take a width sized to their own span when `bucket_seconds` is omitted (`1h`/`6h`/`1d` 60, `1w` 300, `1m` 1800), and each still floors an explicit value: 600 for `max`/`all`/`1m`, 300 for `1w`. | |
| token_id | Yes | Outcome token id (the CLOB asset id the chart is keyed by). Required. `tokenId` is an accepted alias. This execution profile requires an explicit non-null value. The original optional/nullable OpenAPI declarations remain in officialOperation. | |
| bucket_seconds | No | Bucket width in SECONDS (60…86400). `bucketSeconds` is an accepted alias. OMIT it and the server sizes the width to the window: the finest tier grain (60, 300, 1800, 10800, 43200) that keeps the series under ~2,500 points, except that an explicit window wider than 12 hours never defaults to the 60s grain (send `bucket_seconds=60` when you want second-by-minute detail over a longer window), and coarsened further if that grain no longer reaches the window's start. So a window up to 12 hours keeps 1-minute detail, half a day through a week defaults to 300, fifteen days to 1800; interval presets keep their own span-derived defaults (`1d` 60s, `1w` 300, `1m` 1800, and the unbounded `max`/`all` 43200). SEND it and it is served exactly as asked, which for a window older than that resolution's retention means an empty page rather than a silent substitution. An explicit value is also floored per interval: 600 for `max`/`all`/`1m`, 300 for `1w`. |