> For the complete documentation index, see [llms.txt](https://resolvedmarkets.com/llms.txt). Every docs page is also served as Markdown: append `.md` to its URL or send `Accept: text/markdown`.

# List Recent Markets

### GET /v1/markets/history/recent — List Recent Markets

Paginated, replay-aware feed of markets. Cached 10s. Defaults to recently-active markets (newest first); use since / before / order to browse OLDER historical markets (e.g. months-old markets from historical backfill). Each market is tagged with replay_locked (true if the caller cannot replay it under their tier).

**Query parameters**

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `format` | string | no | json | Response 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)). |
| `crypto` | string | no | — | Cryptocurrency filter |
| `timeframe` | string | no | — | Filter 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. |
| `category` | string | no | — | Filter by category |
| `subcategory` | string | no | — | Filter by subcategory |
| `since` | string | no | — | Only markets active on/after this date (YYYY-MM-DD or ISO 8601) |
| `before` | string | no | — | Only markets active on/before this date (YYYY-MM-DD or ISO 8601) |
| `order` | string | no | — | Sort direction: newest (default) or oldest (walk back through history) |
| `limit` | number | no | 100 | Max rows (default 100, max 500) |

**Example response**

```json
{
  "total_markets": 55816,
  "total_snapshots": 223752161,
  "live_count": 1,
  "closed_count": 55815,
  "returned_live": 0,
  "returned_closed": 1,
  "limit": 100,
  "status": "all",
  "markets": [
    {
      "market_id": "0x...",
      "category": "crypto",
      "subcategory": "BTC",
      "crypto": "BTC",
      "timeframe": "5m",
      "slug": "btc-updown-5m-...",
      "question": "Bitcoin Up or Down - March 2, 10:25AM-10:30AM ET",
      "first_seen": "2026-03-02 15:25:00",
      "last_seen": "2026-03-02 15:30:00",
      "snapshot_count": "2814",
      "is_live": false,
      "end_date": "2026-03-02 15:30:00.000",
      "event_title": null,
      "neg_risk_id": null,
      "replay_locked": false
    }
  ],
  "replay_quota": {
    "unlimited": false,
    "tier": "free",
    "perBucket": 5,
    "allowedCount": 5
  }
}
```
