GET
/events/keysetList events (keyset pagination)
Returns events 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
- 500 req / 10s (50 per second)
- Limit applies to
- /events
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | no | Maximum number of results to return (max 100) |
| order | query | string | no | Comma-separated list of JSON field names to order by |
| ascending | query | boolean | no | Sort direction. Only used when order is set. |
| after_cursor | query | string | no | Opaque cursor token from a previous response's next_cursor |
| offset | query | integer | no | Not allowed. Returns 422 if provided. |
| id | query | integer[] | no | |
| slug | query | string[] | no | |
| closed | query | boolean | no | |
| live | query | boolean | no | |
| featured | query | boolean | no | |
| cyom | query | boolean | no | |
| title_search | query | string | no | |
| liquidity_min | query | number | no | |
| liquidity_max | query | number | no | |
| volume_min | query | number | no | |
| volume_max | query | number | no | |
| start_date_min | query | string | no | |
| start_date_max | query | string | no | |
| end_date_min | query | string | no | |
| end_date_max | query | string | no | |
| start_time_min | query | string | no | |
| start_time_max | query | string | no | |
| tag_id | query | integer[] | no | |
| tag_slug | query | string | no | |
| exclude_tag_id | query | integer[] | no | Tag IDs to exclude. Cannot overlap with tag_id. |
| related_tags | query | boolean | no | |
| tag_match | query | string | no | |
| series_id | query | integer[] | no | |
| game_id | query | integer[] | no | |
| event_date | query | string | no | |
| event_week | query | integer | no | |
| featured_order | query | boolean | no | |
| recurrence | query | string | no | |
| created_by | query | string[] | no | |
| parent_event_id | query | integer | no | |
| include_children | query | boolean | no | |
| partner_slug | query | string | no | When set, external_partners are attached to matching events |
| include_chat | query | boolean | no | When true, includes Chats and Series.Chats relations |
| include_template | query | boolean | no | When true, includes Templates relation |
| include_best_lines | query | boolean | no | When true, includes BestLines relation |
| locale | query | string | no |
Example
curl -X GET "https://gamma-api.polymarket.com/events/keyset"Response fields
| Field | Type | Description |
|---|---|---|
| events | object[] | Array of Event objects. Empty array if none found. |
| next_cursor | string | Opaque cursor token for fetching the next page. Present only when the number of returned events equals the effective limit. Omitted on the last page. |
Responses
| Status | Meaning |
|---|---|
| 200 | Paginated list of events. Always includes Series, Tags, Markets, and EventCreators relations. Chats/Series.Chats, Templates, and BestLines are optional via their respective include_ flags. |
| 422 | Validation error. Returned when offset is provided, cursor is invalid, order fields are not valid, tag_id overlaps with exclude_tag_id, invalid recurrence, or other filter validation fails. |
| 500 | Internal server error (DB failures, cursor encode failures) |
| 503 | Service unavailable when keyset pagination is not configured |
Related endpoints
- GET /events Gamma API
- GET /events/pagination Gamma API
- GET /events/results Gamma API
- GET /events/{id} Gamma API
- GET /events/{id}/tweet-count Gamma API
- GET /events/{id}/comments/count Gamma API
From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.