Prediction Hunt/ API
REST API / Polymarket (Admin) / Candlesticks by Token

Candlesticks by Token (Polymarket)

ADMIN-ONLY (gated, not yet public). OHLCV for a single Polymarket outcome token. Unlike the condition-level endpoint, prices are NOT normalized — NO-token prices stay as NO prices (e.g. ~$0.30 in a 70/30 market). Use this when you want to chart each side of a binary market separately. Source: clob.polymarket.com/prices-history (mid prices, OHLC degenerate, volume null).

GET/v2/polymarket/candlesticks/token/{token_id}

Query Parameters

token_idstring (path)Required

Polymarket outcome token ID (path parameter).

intervalinteger

Bucket size in minutes. Allowed: 0 (auto-pick), 1, 5, 15, 60, 1440. Default: 0.

start_tsinteger

Start of range, unix seconds. Optional.

end_tsinteger

End of range, unix seconds. Optional.

Response Schema

candlesticksobject[]

OHLCV candles in ascending timestamp order.

tinteger

Unix timestamp (seconds) of the bucket start.

onumber

Open price (mid). Raw token price — NOT normalized to YES.

hnumber

High price. Currently equals open (degenerate — see _meta).

lnumber

Low price. Currently equals open (degenerate).

cnumber

Close price. Currently equals open (degenerate).

vnumber | null

Volume. Currently null — coming in a follow-up via market_trades aggregation.

intervalinteger

Resolved interval in minutes.

interval_secondsinteger

Resolved interval in seconds.

first_trade_tsinteger | null

Earliest timestamp in the response.

last_trade_tsinteger | null

Latest timestamp in the response.

token_idstring

The requested token ID.

_metaobject

Source metadata.

sourcestring

polymarket_clob_prices_history.

volume_availableboolean

Currently false.

notestring

Caveat about degenerate OHLC.

Authentication

API Key

To secure your requests, we strongly recommend passing your API key via the X-API-Key header. This prevents sensitive keys from being exposed in access logs or browser history.

Request HeaderX-API-Key: pmx_test_5e8f...

Rate Limits

API rate limits are enforced based on the tier associated with your API key. Limits are tracked on two dimensions: requests per second and requests per month. Each completed request counts toward the global monthly quota. Separate endpoint-group monthly limits (matched markets, arbitrage, EV) only advance when the response body has success: true.

Usage is returned on responses via headers such as:

Response Headers (global)X-RateLimit-Limit-Second: 10X-RateLimit-Remaining-Second: 9X-RateLimit-Limit-Month: 1000X-RateLimit-Remaining-Month: 842Example (endpoint-group, when applicable)X-RateLimit-Limit-Arb-Month: 500X-RateLimit-Remaining-Arb-Month: 412

If you exceed a rate limit, the API returns a 429 status with a Retry-After header indicating when you can resume.

Request

Live API Key

Demo Mode
Verified

Parameters

Token IDRequired
Interval (minutes)
Start (unix seconds)
End (unix seconds)

Response

Click EXECUTE to send a request →