Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.
/api/v1/public/markets/{id}/pricesGET
Delayed market price series in cents (0-100).
Query Parameters
interval?"1hour" | "1d"
1hour (30d window) or 1d (90d window).
Default: "1hour"
per_page?integer
Rows returned in this response (1-1000).
Default: 1000Min: 1Max: 1000
start?string
Optional ISO-8601 or YYYY-MM-DD lower bound. Clipped to the lookback before end (30d for 1hour, 90d for 1d).
end?string
Optional ISO-8601 or YYYY-MM-DD upper bound, capped at the snapshot pin. The interval window is lookback before this instant.
order?"asc" | "desc"
Sort direction.
Default: "desc"
Response
200 · Price points
data *object[]
Show item properties
timestamp?string (date-time)
Start of the aggregation bucket this point covers, in UTC. Daily buckets are anchored to midnight US Eastern, so a 1d point's timestamp is 04:00 or 05:00 UTC depending on daylight saving.
price?number
Value of the series for this bucket: the last price recorded within it. Equals ohlc.close on the same point where OHLC is returned, and is the same statistic the previous_close_* baselines are measured against. Markets and rates are 0-100. Political indices (UPFI and related families) are roughly 50-150. NTI team indices and NTI composites are a NAV level from base 1000 (quote_convention is points).
price_raw?numbernull
Not currently reachable on any tier, and always absent. The unsmoothed value exists only on the un-bucketed series, but every accepted interval (and the default) maps to a bucketed one, so no request can return it.
volume?numbernull
Not currently populated on any price series, on any tier, and always absent. Reserved: use the market volume fields for traded volume.
ohlc?object | null
Open, high, low and close for the bucket, on the same 0-100 scale as price. Returned on the market and rate price series only (index series omit it), and on a daily series a gap-filled day repeats the previous day's values rather than reporting new trading.
spread?numbernull
Dispersion across the source markets behind a reference-rate value: the highest source price minus the lowest, in the same 0-100 points as price. Meaningful only on rate series, and currently not populated on any price-series response, so it is always absent.
sources?objectnull
Provenance for a reference-rate value: the blending method used, plus the per-source prices and weights behind it. Currently not populated on any price-series response, so it is always absent; use constituents for the per-source breakdown.
constituents?arraynull
The source markets behind a reference-rate value at this timestamp, each with its probability (0-100) and its weight renormalized to sum to 1 across the markets listed. Returned on the authenticated rate price series only, covering markets that were active at the timestamp and traded in that bucket; pass sources=false to omit it.
meta *object
Request example
curl -X GET "https://api.adjacent.markets/api/v1/public/markets/<id>/prices"
Response example
{ "data": [ { "timestamp": "2026-07-29T02:04:00Z", "price": 58 }, { "timestamp": "2026-07-28T04:00:00Z", "price": 58 } ], "meta": { "total": 2, "page": 1, "per_page": 2, "total_pages": 1, "has_next": false, "has_prev": false } }