---
title: "List markets"
method: GET
path: "/v3/{coin}/markets"
tags: ["v3 - Markets"]
---

# List markets

`GET /v3/{coin}/markets`

Cursor-paginated list of markets for a coin. Sorted by `start_time` desc.

## Path parameters

- `coin` 'btc' | 'eth' | 'sol', required

## Query parameters

- `type` '5m' | '15m' | '1h' | '4h' | '24h'
- `resolved` boolean
- `start_time` string
- `end_time` string
- `limit` integer
- `cursor` string
- `include_count` boolean

## Response `200`

Successful response

- V3MarketsListResponse
  - `data` V3PolymarketMarket[], required
    - `market_id` string, required
    - `event_id` string, required
    - `slug` string, required
    - `market_type` '5m' | '15m' | '1h' | '4h' | '24h', required
    - `start_time` string, date-time, required
    - `end_time` string, date-time, required
    - `{coin}_price_start` number, nullable — Coin price at market start, named per coin queried
    - `{coin}_price_end` number, nullable — Coin price at market end, named per coin queried
    - `condition_id` string, nullable
    - `clob_token_up` string, nullable
    - `clob_token_down` string, nullable
    - `winner` 'up' | 'down', nullable
    - `final_volume` number, nullable
    - `final_liquidity` number, nullable
    - `resolved_at` string, date-time, nullable
  - `pagination` V3Pagination, required — Cursor pagination metadata. `total_count` is omitted unless `?include_count=true` is passed.
    - `next_cursor` string, nullable — Opaque cursor; pass back as `?cursor=` to fetch the next page
    - `has_more` boolean, required
    - `limit` integer, required
    - `count` integer, required — Number of items in this page
    - `total_count` integer, nullable — Only set when ?include_count=true (expensive)
  - `meta` V3Meta, required — Per-response metadata included on every v3 response.
    - `request_id` string, required
    - `timestamp` string, date-time, required

## Other responses

- `400` — Validation error (invalid coin, cursor, parameter, timestamp, …)
- `401` — Authentication failure (missing or invalid API key)
- `402` — Plan upgrade required
- `403` — Endpoint or coin not in the caller's plan
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/polybacktest/apis/polybacktest-api.md) · [All operations](https://skmtc.dev/polybacktest/apis/polybacktest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/polybacktest/polybacktest-api/revisions/262c9a5e60e4/schema)
