Polymarket hub

Polymarket Tags API

The topic tags attached to events and markets, with ids and slugs.

GET /v1/polymarket/tags

1 credit Failed requests are free

About this endpoint

GET /v1/polymarket/tags returns a page of tags in data.tags. Each tag has id, label (for example Politics), slug, createdAt and updatedAt. Use the numeric id with the markets list's tagId filter, or pass the slug to GET /v1/polymarket/tags/{idOrSlug}.

limit is 1 to 100 and defaults to 100. data.page continues the list with an opaque cursor. Tags are the stable way to group events and markets without parsing titles.

Polymarket Tags API FAQ

Should I filter markets by tag id or slug?

The markets list takes a numeric tagId. The single tag route accepts an id or a slug. Use data.tags[].id from this list for filtering, and the slug for a readable lookup.

How many tags are there?

The list is paged, with up to 100 tags per request and an opaque cursor for the next page. Follow data.page.nextCursor while data.page.hasMore is true.

Can I see related tags?

Call GET /v1/polymarket/tags/{idOrSlug} with include=related to add related tags, closest first, each with activeEvents. The list route does not include related tags.

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.