GET
/v1/markets/historyList Historical Markets (full)
All distinct markets ever stored, including closed and expired. Filter by crypto, timeframe, category, or subcategory. Cached 30s. Use this for backfills and dataset builds; for an always-fresh paginated UI feed, prefer /v1/markets/history/recent.
Query Parameters
formatstringdefault:jsonResponse encoding. csv and tsv return the row array as a flat file instead of a JSON envelope — the envelope moves to X-* response headers and nulls render as \N. REQUIRES SCALE OR ENTERPRISE (json is available on every tier). Works with includebook=true — the bids/asks ladders come through as compact JSON inside their cell, complete and parseable (pandas: df["bids"].apply(json.loads)).
cryptostringdefault:allCryptocurrency to query
timeframestringdefault:allFilter by timeframe. NOT just crypto cadences — it is a per-category discriminator: crypto 5m/15m/1h/4h/1d plus hit-price, sports game, economics rates, social weekly, weather daily-high/daily-low/event/seasonal, equities annual/monthly/daily/event/earnings/quarterly/valuation/comparison/leaderboard.
categorystringFilter by category
subcategorystringFilter by subcategory (BTC, NBA, FOMC, NYC, Elon, SPX, etc.)
Response
200401403404500
Successful Response
Code Snippet
curl -X GET "https://api.resolvedmarkets.com/v1/markets/history" \ -H "X-API-Key: YOUR_API_KEY"
200
{
"total_markets": 55816,
"total_snapshots": 223752161,
"live_count": 1,
"closed_count": 55815,
"markets": [
{
"crypto": "BTC",
"timeframe": "5m",
"market_id": "0x...",
"category": "crypto",
"subcategory": "BTC",
"first_seen": "2026-03-01 10:00:00",
"last_seen": "2026-03-02 15:30:00",
"snapshot_count": "5400",
"is_live": false,
"end_date": "2026-03-02 15:30:00.000",
"question": "Bitcoin Up or Down - March 2, 10:25AM-10:30AM ET"
}
]
}
