Skip to main content
The API has a few response shapes. A single object comes back bare, with no wrapper. Events and markets lists come back in named arrays with a cursor. Errors use an RFC 9457 body.

Single objects

A single-object endpoint returns the object at the top level. There is no data wrapper. For example GET /v1/polymarket/price:
{
  "tokenId": "0x1234...",
  "price": 0.63
}
And GET /auth/me:
{
  "keyLabel": "production_read",
  "plan": "starter",
  "callCount": 42,
  "createdAt": "2026-04-01T12:00:00Z",
  "lastUsedAt": "2026-05-25T10:30:00Z",
  "monthlyUsage": {
    "used": 120,
    "limit": 3000,
    "resetsAt": "2026-07-01T00:00:00Z"
  },
  "requestsPerSecond": 10
}

Lists

GET /v1/polymarket/events returns an events array and a nextCursor field. GET /v1/polymarket/markets returns a markets array and a nextCursor field. You use nextCursor to ask for the next page. See Pagination.
{
  "events": [
    {
      "conditionId": "0x1234...",
      "totalVolume": "152340.50",
      "tradeCount": 812,
      "lastPrice": "0.63",
      "openInterest": "48120.00",
      "lastTradeTs": "2026-05-25T10:30:00Z",
      "updatedBlock": 71250334
    }
  ],
  "nextCursor": "eyJjb21wdXRlZF9hdCI6Ij..."
}
nextCursor is null when there are no more pages. GET /v1/polymarket/search returns a composite object with three arrays and its own pagination. It is page-based, not cursor-based:
{
  "events": [...],
  "themes": [...],
  "profiles": [...],
  "pagination": {
    "hasMore": true,
    "totalResults": 57
  }
}
Money amounts like volume, PnL, and open interest come back as strings. This keeps full precision and avoids rounding. Parse them as decimals, not as floats. Live orderbook values like price, midpoint, spread, and size come back as JSON numbers.

Error responses

Errors use Content-Type: application/problem+json. The body follows RFC 9457:
{
  "type": "about:blank",
  "status": 401,
  "title": "Unauthorized",
  "detail": "Invalid API key",
  "requestId": "1748123456-1a"
}
FieldWhat it means
typeThe problem type. Always about:blank for normal HTTP errors.
statusThe HTTP status code.
titleA short title.
detailWhat went wrong this time.
requestIdThe id for this request. Send it to us when you ask for help.
For the full list of error codes, see Errors.
Last modified on July 7, 2026