GET
/api/v1/markets
List markets tracked by Q
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| topic | query | string | Case-insensitive exact Event/market tag or category filter. Direct tags do not need a Category assignment. |
| venue | query | "polymarket" | "polymarket_us" | "kalshi" | "limitless" | Optional prediction-market venue filter. Omit it on catalog/feed routes to include every covered venue. On legacy slug or condition-ID lookups, omission retains the Polymarket namespace; prefer marketKey for collision-safe cross-venue lookup. |
| max_forecast_age | query | integer | Maximum forecast age in hours. Windows forecast_count and latest_forecast_at — only forecasts created within this window are counted. Markets with no in-window forecast are still included if they have signals. Default: 48 |
| changed_within | query | integer | Only markets whose latest forecast was created within this many hours — 'recently updated by Q'. Evaluated against the unwindowed latest forecast, independent of max_forecast_age. |
| sort | query | "updated_desc" | "volume_desc" | "signal_count_desc" | Sort order. Default: updated_desc |
Response fields
| Field | Type | Meaning |
|---|---|---|
| markets | MarketListItem[] | |
| venue_facets | object[] |
Billing and limits
Calls are billed to prepaid credits, or per call over x402. The price above is the reference price; the 402 challenge returned at request time is what a call actually costs.
One request may be in flight at a time, and request starts must be at least one second apart. A rejected 429 is not billed. See rate limits.
curl
curl -H "x-quotient-api-key: qt_…" \
"https://quotient-api-gateway.onrender.com/api/v1/markets"Run sends this request with preset parameters on Quotient’s demo key. Your credits are not spent.
200 · application/json
{
"markets": [
{
"venue": "kalshi",
"nativeMarketId": "KXGOLD-26AUG-T2500",
"nativeEventId": "KXGOLD-26AUG",
"seriesTicker": "KXGOLD",
"marketKey": "kalshi:KXGOLD-26AUG-T2500",
"slug": null,
"marketUrl": null,
"sourceUrl": null,
"question": "Will gold settle above $2,500 in August?",
"event": {
"id": "KXGOLD-26AUG",
"title": "Gold price in August",
"slug": null
},
"tags": [
"Commodities",
"Metals",
"Gold"
],
"categories": [
"Commodities"
],
"end_date": "2026-08-31T20:00:00Z",
"market_odds": 0.46,
"inDispute": false,
"clarifications": null,
"volume_24h": null,
"signal_count": 0,
"forecast_count": 1,
"latest_forecast_at": "2026-08-08T14:30:00Z",
"market_updated_at": "2026-08-08T15:02:11Z",
"latest_forecast_delta": 0.03,
"latest_forecast_refresh_reason": "price_move",
"quotientUrl": "https://app.quotient.social/market/kalshi%3AKXGOLD-26AUG-T2500",
"polymarketUrl": null
}
],
"venue_facets": [
{
"venue": "kalshi",
"count": 1
}
]
}