Polymarket API reference / Gamma API
GET/markets/keyset

List markets (keyset pagination)

Returns markets using cursor-based (keyset) pagination for stable, efficient paging through large result sets. Use `next_cursor` from each response as `after_cursor` in the next request. The `offset` parameter is explicitly rejected; use `after_cursor` instead.

Base URL
https://gamma-api.polymarket.com
Auth
Public, no key
Rate limit
300 req / 10s (30 per second)
Limit applies to
/markets

Parameters

NameInTypeRequiredDescription
limitqueryintegernoMaximum number of results to return (max 100)
orderquerystringnoComma-separated list of JSON field names to order by, e.g. volume_num,liquidity_num
ascendingquerybooleannoSort direction. Only used when order is set.
after_cursorquerystringnoOpaque cursor token from a previous response's next_cursor
offsetqueryintegernoNot allowed. Returns 422 if provided.
idqueryinteger[]no
slugquerystring[]no
closedquerybooleanno
decimalizedquerybooleanno
clob_token_idsquerystring[]no
condition_idsquerystring[]no
question_idsquerystring[]no
liquidity_num_minquerynumberno
liquidity_num_maxquerynumberno
volume_num_minquerynumberno
volume_num_maxquerynumberno
start_date_minquerystringno
start_date_maxquerystringno
end_date_minquerystringno
end_date_maxquerystringno
tag_idqueryinteger[]no
related_tagsquerybooleanno
tag_matchquerystringno
cyomquerybooleanno
rfq_enabledquerybooleanno
uma_resolution_statusquerystringno
game_idquerystringno
sports_market_typesquerystring[]no
include_tagquerybooleannoWhen true, includes Tags relation on each market
localequerystringno

Example

curl -X GET "https://gamma-api.polymarket.com/markets/keyset"

Response fields

FieldTypeDescription
marketsobject[]Array of Market objects. Empty array if none found.
next_cursorstringOpaque cursor token for fetching the next page. Present only when the number of returned markets equals the effective limit. Omitted on the last page.

Responses

StatusMeaning
200Paginated list of markets. Includes Events and Events.Series relations. Tags included only when include_tag=true. Nested clob_rewards and fee_schedule are populated on each market.
422Validation error. Returned when offset is provided, cursor is invalid, order fields are not valid, or other filter validation fails.
500Internal server error (DB failures, cursor encode failures)
503Service unavailable when keyset pagination is not configured

Related endpoints

Polymarket's API serves current state only, so it cannot show what a market's book looked like after it resolved. PolyTest records Up/Down markets while they run and keeps the snapshots. Try it free, or read the full rate limit reference.

From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.