GET
/v2/resolutionsGet resolution state
Complete resolution state by one selector family. Supply exactly one of `question_id`, `condition`, or `event_id`. Condition and event selectors accept comma-separated values and return condition-grain rows in deterministic order, preferring native V2 lifecycle, then UMA lifecycle, then terminal CTF state. Misses return `{ "data": [] }`.
- Base URL
- https://data-api.polymarket.com
- Auth
- Public, no key
- Rate limit
- 800 req / 10s (80 per second)
- Limit applies to
- General (all /v2 endpoints)
Things to know
Every v2 response wraps its payload in a data field. Paginated reads return an opaque cursor in pagination and do not accept offset. Under load the API answers 429 with a Retry-After header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| question_id | query | stringnull | no | One UMA question identifier (`0x` plus 64 hexadecimal characters). |
| condition | query | stringnull | no | Comma-separated Gamma condition identifiers (at most 20 distinct values). |
| event_id | query | stringnull | no | Comma-separated positive Gamma event IDs (at most 20 distinct values). |
Example
curl -X GET "https://data-api.polymarket.com/v2/resolutions"Returns a list of objects with these fields
| Field | Type | Description |
|---|---|---|
| data | object[] |
Responses
| Status | Meaning |
|---|---|
| 200 | Resolution rows for the selected question, markets, or events |
| 400 | Missing, mixed, empty, or invalid selector |
| 429 | Too many requests; retry after `Retry-After` |
| 500 | Internal server error |
| 503 | Timed out (the request deadline, the datastore statement timeout, or the connection pool's acquire budget) or a serving dependency is unavailable; retry after `Retry-After` |
From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.