Polymarket hub

Polymarket Sports API

The leagues Polymarket covers, with the tags and series that mark their events.

GET /v1/polymarket/sports

1 credit Failed requests are free

About this endpoint

GET /v1/polymarket/sports returns data.sports. Each row has id, code (for example nfl), name, image, resolutionSource, tagIds, primaryTagId, seriesId and createdAt. Use the code to filter teams, or the tag or series ids to find the league's events and markets.

Pass sport with a league code to narrow the list. A league with no markets still appears in the list, because the catalog describes coverage rather than live inventory.

Polymarket Sports API FAQ

How do I find the markets for a league?

Use primaryTagId with GET /v1/polymarket/markets?tagId={id}, or seriesId with the events list's seriesId filter. The tagIds array holds every tag that marks the league's events.

What is resolutionSource?

The place the league's results are taken from, as published by Polymarket. It is a description, not a URL you can fetch.

Does a sport with no open events disappear?

No. The list describes the leagues Polymarket covers. An empty market list for a league means there is no open inventory right now, not that the league is gone.

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.