> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/polymarket/events-eventidorslug>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/polymarket/events-eventidorslug.mdx>

---

# Polymarket Event API

One event by id or slug, with full market records, outcomes, token ids, fees and rules.

`GET /v1/polymarket/events/{eventIdOrSlug}` accepts a numeric event id or the slug from a Polymarket event URL. On `found`, `data.event` carries the event's `title`, `description`, `status`, `volume`, `liquidity`, `openInterest`, `tags`, `series`, `sports` and `markets`. Each market in `data.event.markets` is the full record: `conditionId`, `outcomes[]` with `name`, `tokenId` and `price`, `volume`, `liquidity`, `bestBid`, `bestAsk`, `spread`, `fees`, `tickSize`, `minOrderSize`, `resolution` and dates.

Pass `include=insights,annotations` to add `data.insights` (machine-written market context with `text` and `updatedAt`) and `data.annotations` (dated price-move explanations with `sources`). Each include is another lookup and can come back null. Without the include, both keys are null.

## Request

- **Endpoint:** `GET /v1/polymarket/events/{eventIdOrSlug}`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by id or slug
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/polymarket/events/eventidorslug/get)
- **Platform page:** [/platforms/polymarket](https://www.socialfetch.dev/platforms/polymarket)

## FAQ

### Where do I find the event id or slug?

The slug is the last segment of a Polymarket event URL. The id appears as data.events[].id in the events list and as data.eventId on many market rows. Both work in this path.

### What does include=insights,annotations add?

Insights add data.insights.text and data.insights.updatedAt. Annotations add data.annotations, newest first, with at, title, summary, outcome, priceBefore, priceAfter, priceChange and a sources array. Each include is an extra lookup, and either can be null when the event has none.

### Why are insights or annotations null?

An event without written context returns insights: null. Annotations only exist for events with large price moves, so an empty or null list is normal even on found. The event itself is still returned.

### What happens for an unknown event?

data.lookupStatus is not_found and data.event is null. The HTTP status is still 200, so branch on lookupStatus rather than the status code.

### 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.
