Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Indices

Use an index when a single market is too narrow. Adjacent combines many prediction markets into a value that you can track over time.
The catalog includes political examples such as red and blue, along with red_tr (RED-TR), a total-return index, NFL team indices (methodology nti), NBA team indices (methodology bti), implied-level indices (methodology implied_level), and claim-ladder total-return indices (methodology kpi_tr). Other index methodologies can use the same endpoints.

What an index helps you answer

Use an index when you want to follow a group of markets without choosing one market at a time. The index detail gives you its current level and recent change. The constituents endpoint shows which markets contribute to that level and how much each one weighs.
Use price history to chart the index. Use candles when you want the open, high, low, and close of each bucket. Use the export endpoints when you want to work with the series in a spreadsheet or analysis script.

Read an index value

The RED, BLUE, and UPFI political indices use a 50–150 scale. They do not use a 0–100 probability scale or a dollar price. The formula is value = 50 + (the index party's aggregate win-probability, in percent). The scale runs from 50 (0%) through 100 (an even 50/50) to 150 (100%). Subtract 50 from the value to get the implied win probability. For example, 95 ≈ 45%, 109 ≈ 59%, and 130 ≈ 80%.
For the political examples, red above 100 means Republicans are favored across its races and blue above 100 means Democrats are favored. Other indices can use a different scale, so check the index's methodology before comparing values. A constituent market's price is a 0–100% Yes probability, which is different from the index scale.
Set ADJ_TOKEN to an API key before running these examples. See Authentication.

Find an index

Start by listing indices if you do not know which index id to use.
curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/indices"

Read an index

The response includes the latest price and 1-day and 7-day changes.
curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/indices/red"
The index response gives you the current value and recent changes. Use the constituents link when you need to explain what moved the index.
curl -H "Authorization: Bearer $ADJ_TOKEN" \ "https://api.adjacent.markets/api/v1/indices/red/constituents"

Understand an index's composition

Each constituent carries a kind (market for leaf markets, index for a composite's child sub-indices) alongside its computed weight.
The current political catalog defines two composites:
CompositeTickerChild sub-indices and fixed weights
redREDpresr_kalshi / PRESR 40%, senater_kalshi / SENR 30%, houser_kalshi / HOUSER 20%, govr_kalshi / GOVR 8%, mayorr_kalshi / MAYORR 2%
blueBLUEpresd_kalshi / PRESD 40%, senated_kalshi / SEND 30%, housed_kalshi / HOUSED 20%, govd_kalshi / GOVD 8%, mayord_kalshi / MAYORD 2%
Sub-index market weights use the UPFI methodology factors. Presidential and Senate weights use lifetime cumulative contract or share count and time-to-resolution. House, Governor, and Mayoral weights use jurisdiction population. House and Governor use state population. Mayoral uses city population. There is no impact factor.
RED and BLUE publish a trailing 1-hour SMA of the raw composite value. Sub-indices publish their raw per-cycle value.
red_tr / RED-TR does not use the 50–150 scale. It is a path-dependent total-return index over RED's eligible constituents: 100 is its base value, 125 is a cumulative return of 25%, and the value is not SMA-smoothed.
NFL team indices (methodology nti, quote_convention points) also skip the 50-150 scale. Each leaf index tracks one team across four sleeves (Super Bowl, conference, division, win-total). At reconstitution each sleeve is sized to an equal dollar share of NAV (Q_i = 250 / P_admit; the wrapping win-total pair splits 125 each). The level starts at 1000 and compounds that NAV, NTI_t = NTI_{t-1} × (NAV_t / NAV_{t-1}), floored at zero. A composite of NTI team indices is also methodology nti and quote_convention points: it is an equal-weight blend of the children's raw NAV, not a 50-150 probability and not a trailing SMA. Index detail returns those holdings as sleeves and the latest official daily print as official_daily_value. Read the official daily series and recent sleeve admissions or settlements on these routes. An index that does not publish that series returns an empty list:
curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/indices/{id}/daily-values" curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/indices/{id}/membership-events"
NBA team indices (methodology bti, quote_convention points) use the same daily-value stamp as NTI. Each leaf tracks one club across four sleeves (championship, conference, division, win-total). The level starts at 1000. Index detail returns those holdings as sleeves and the latest official daily print as official_daily_value.
Implied-level indices (methodology implied_level, quote_convention points) publish sleeve levels as implied_sleeves and release dates as implied_releases. official_daily_value is the weekday print at or after 5:30 p.m. Eastern. latest_price is the published level from those sleeve prints. Misery is their sum. A one-sleeve index is that sleeve's level.
Claim-ladder total-return indices (methodology kpi_tr, quote_convention points) start at 1000. The level compounds the prices of the at-least contracts the index holds. official_daily_value is the print from 4:00 p.m. to 4:15 p.m. Eastern on a calculation day. The daily-values route returns that series.
AI Capability Efficiency indices (methodology ace, quote_convention points) start at 1000. The level is a price return of two equal sleeves: an equal-weight average of published above-threshold rates, and one minus that average on the compute sleeve. official_daily_value is the 4:15 p.m. Eastern print on a weekday, including a holiday. The daily-values route returns that series. Index detail includes methodology_detail.ace.members, one row per rate that entered the latest published print. Each row has rate_id, sleeve (capability or compute), roll_weight (that rate's share of the average, from 0 to 1), price (the rate, from 0 to 1), mark_rung (two_sided or last_trade), and active true. A rate that did not enter the print is omitted. methodology_detail is omitted when that list is empty. methodology stays the id string ace. constituents_count is the number of those rows. On the public index, those members are as of the same time as latest_price. Public price history stays 1hour and 1d and does not include mark_rung.

Track an index over time

curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/indices/red/prices?interval=1hour&per_page=24"

Candles

Each candle is the open, high, low, and close of the published index level. timestamp is the end of the bucket. A 1hour level printed at 12:00Z is the candle that ends at 13:00Z. A 1d candle ends at the next midnight in US Eastern time. Hours and days with no level are omitted. The public series ends 15 minutes ago. Official daily values stay on /daily-values.
curl "https://api.adjacent.markets/api/v1/public/indices/red/candles?interval=1hour&per_page=24" curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/indices/red/candles?interval=1hour&per_page=24"

Download the data

You can download index listings and price history as CSV or TSV for offline analysis.
curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/export/indices/csv" curl -H "Authorization: Bearer $ADJ_TOKEN" "https://api.adjacent.markets/api/v1/export/indices/red/prices.csv?interval=1hour"
See the API reference for full schemas.