> **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/markets>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/polymarket/markets.mdx>

---

# Polymarket Markets API

Filter the market catalog by tag, status, sports type, condition id or token id.

`GET /v1/polymarket/markets` returns a page of full market records in `data.markets`. Each market carries `id`, `slug`, `question`, `conditionId`, `eventId`, `eventSlug`, `status`, `outcomes[]` with `name`, `tokenId` and `price`, `volume`, `liquidity`, `bestBid`, `bestAsk`, `spread`, `fees`, `tickSize`, `resolution` and dates.

Filter by `status` (`open` default, or `closed`), `tagId`, `conditionIds` (up to 50), `tokenIds` (up to 30), `sportsMarketType`, volume and liquidity bounds, and `sort` (`volume`, `volume24h`, `liquidity`, `startDate`, `endDate`, `createdAt`, `closedTime`). When you filter by condition ids or token ids and omit `status`, open and closed markets are both searched. `limit` is 1 to 100 and defaults to 50.

## Request

- **Endpoint:** `GET /v1/polymarket/markets`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by tag or condition ids
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/polymarket/markets/get)
- **Platform page:** [/platforms/polymarket](https://www.socialfetch.dev/platforms/polymarket)

## FAQ

### How do I look up more than 50 ids at once?

Use GET /v1/polymarket/markets/batch, which accepts up to 100 condition ids and token ids combined in one request. The list route caps condition ids at 50 and token ids at 30 to keep the query URL within limits.

### What is the difference between this and markets/batch?

This route filters and lists markets by tag, status, volume and sort. The batch route takes a known set of ids and returns one result per id, in request order, with a summary. Use batch when you already have the ids.

### Why were no closed markets returned?

status defaults to open. Pass status=closed for ended or resolved markets. When you pass conditionIds or tokenIds and leave status out, both open and closed markets are searched.

### Where do I find a tag id?

Call GET /v1/polymarket/tags and use data.tags[].id, or use data.events[].tags[].id from an event. tagId takes the numeric id, not the slug.

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