Polymarket hub

Polymarket Teams API

Teams and fighters, with league, record and colours, for sports market labels.

GET /v1/polymarket/teams

1 credit Failed requests are free

About this endpoint

GET /v1/polymarket/teams returns a page of teams in data.teams. Each row has id, name, league, abbreviation, alias, record, logo, color, createdAt and updatedAt. Filter by league (a code such as nfl) and name.

limit is 1 to 100 and defaults to 100. data.page continues with an opaque cursor. Team rows are the labels and colours behind sports events and markets, so they are useful when rendering a game card.

Polymarket Teams API FAQ

Are fighters included?

Yes. The same list holds teams and individual competitors such as fighters, with league and record fields where Polymarket has them. Treat name and league as the stable identifiers.

How do I filter one league?

Pass league with the lower-case code from the sports list, for example nfl or epl. The route lower-cases the value before matching.

Why is record null?

Not every league or competitor has a win-loss record. A null record means Polymarket has no record for that row, not that the team is missing.

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.