Prediction markets API
Prediction markets, ranked by volume, liquidity or open interest
A ranked page of prediction MARKETS -- the tradeable instrument on an event. Use it to find a market id; per-outcome prices come from the single-market read.
/api/external/prediction/prediction-marketsWhat it returns
A market-wide ranking across every prediction market this endpoint covers — no chain and no token/wallet subject in the request at all. This is a DIFFERENT universe from the rest of this API: a market id here is never a token mint or contract address, and nothing this endpoint returns can be looked up against this API's six chains. Use id on any row with GET /prediction/prediction-market, GET /prediction/prediction-market-bars or GET /prediction/prediction-token-holders for more detail on one market.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/prediction/prediction-markets"
| Parameter | Description |
|---|---|
phrasequery · string · optional | Free-text search over the market question, e.g. "Fed rate". |
statusquery · string · optional | Filter to one market status.OPENSUSPENDEDRESOLVEDCANCELLEDPENDING |
sort_byquery · string · optional | Which figure to sort by. Defaults to 24h volume.volumeUsd24hliquidityUsdtrendingScore24hopenInterestUsdcreatedAt |
sort_typequery · string · optional | Sort direction. Defaults to descending.ASCDESC |
offsetquery · integer · optional | 0-based row offset, for paging through the ranking. |
limitquery · integer · optional | How many rows to return. Defaults to 10; this endpoint caps it at 25. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
markets | object[] | |
markets[].id | string | null | The market id. Not a token mint or contract address. |
markets[].eventId | string | null | The event this market belongs to, or null for a standalone market. |
markets[].eventLabel | string | null | The parent event's own headline label. |
markets[].protocol | string | null | The venue this market trades on, e.g. "POLYMARKET" or "KALSHI". |
markets[].status | string | null | One of OPEN, SUSPENDED, RESOLVED, CANCELLED, PENDING. |
markets[].question | string | null | The market's own question. |
markets[].label | string | null | A short label for this market within its event, when it has a parent event. |
markets[].networkId | number | null | The on-chain settlement network id (e.g. 137 for Polygon/Polymarket) — null for a Kalshi market, which has none. |
markets[].opensAt | number | null | Unix seconds the market opened for trading. |
markets[].closesAt | number | null | Unix seconds trading closes. |
markets[].categories | string[] | null | Category slugs this market is tagged under. |
markets[].outcome0 | object | |
markets[].outcome0.id | string | null | The outcome id — pass to GET /prediction/prediction-outcome-order-book. |
markets[].outcome0.label | string | null | The outcome's label, e.g. "Yes". |
markets[].outcome0.lastPriceUsd | number | null | The outcome's last traded price, USD (0-1 for a binary market). |
markets[].outcome0.liquidityUsd | number | null | Liquidity currently backing this outcome, USD. |
markets[].outcome1 | object | |
markets[].outcome1.id | string | null | The outcome id — pass to GET /prediction/prediction-outcome-order-book. |
markets[].outcome1.label | string | null | The outcome's label, e.g. "Yes". |
markets[].outcome1.lastPriceUsd | number | null | The outcome's last traded price, USD (0-1 for a binary market). |
markets[].outcome1.liquidityUsd | number | null | Liquidity currently backing this outcome, USD. |
markets[].liquidityUsd | number | null | Current total liquidity across both outcomes, USD. |
markets[].volumeUsd24h | number | null | Trading volume over the last 24h, USD. |
markets[].trades24h | number | null | Number of trades over the last 24h. |
markets[].uniqueTraders24h | number | null | Distinct trading accounts over the last 24h — null on venues that do not report it (measured: Kalshi). |
markets[].trendingScore24h | number | null | A trending score over the last 24h. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key