Polymarket Events API
List open or closed events, filtered by tag, volume, series or date, with each event's markets attached.
GET /v1/polymarket/events1 credit Failed requests are free
About this endpoint
GET /v1/polymarket/events returns a page of events in data.events. Each row carries id, slug, url, title, status, featured, volume (total, day, week, month, year), liquidity, openInterest, commentCount, marketCount, tags, series, sports and a markets array with the headline numbers of every market.
Filters include status (open, closed or all), tag (a tag id or slug such as politics), query for words in English event titles, sort (volume, volume24h, liquidity, startDate, endDate, createdAt, closedTime), ascending, featured, seriesId, volume and liquidity bounds, and start/end date ranges. limit is 1 to 25 and defaults to 20; use cursor to read further. Events carry all their markets and the busiest hold hundreds, so a page stays small. status is Polymarket's own flag: an event can still say open after its end date has passed, so filter on endDate when you need events that are still running.
Polymarket Events API FAQ
What is the default page size and sort?
The default sort is volume, largest first, and the default page size is 20. limit accepts 1 to 25. Use ascending=true for the smallest first. Each page is a separate billed request.
How do I get the full market records for an event?
This route returns market summaries. Call GET /v1/polymarket/events/{eventIdOrSlug} for the same event with full market records, including fees, tick size and resolution rules. Use the event id from data.events[].id or the slug from the Polymarket URL.
Can I search event titles?
Set query to words you expect in the title. Titles are English, so pass English words. Chinese, Japanese and Korean characters are rejected with a 400. Use locale to read translated titles after you have found the event.
Why is a page so large?
An event includes every market it holds. A page of 25 busy events can weigh a couple of megabytes. Ask for a smaller limit when you only need titles and headline numbers, or use the full event route for one event at a time.
What does lookupStatus mean on this route?
found means the object or list was returned. not_found means no matching object exists. HTTP 200 only means the request finished, so branch on data.lookupStatus before storing a row.
How much does this route cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
Other Polymarket endpoints
- EventGET /v1/polymarket/events/{eventIdOrSlug}
- Event insightsGET /v1/polymarket/events/{eventIdOrSlug}/insights
- Event annotationsGET /v1/polymarket/events/{eventIdOrSlug}/annotations
- Event commentsGET /v1/polymarket/events/{eventId}/comments
- MarketsGET /v1/polymarket/markets
- Markets batchGET /v1/polymarket/markets/batch
- MarketGET /v1/polymarket/markets/{marketIdSlugOrConditionId}
- Market resolutionGET /v1/polymarket/markets/{conditionId}/resolution