Polymarket hub

Polymarket Batch Market API

Up to 100 markets by condition id or token id, returned in request order.

GET /v1/polymarket/markets/batch

1 credit per market id Up to 100 market ids per request Max 100 credits Failed requests are free

About this endpoint

GET /v1/polymarket/markets/batch takes conditionIds and tokenIds, repeated or comma separated, up to 100 combined. data.results has one entry per requested id, in request order, with idType (conditionId or tokenId), id, lookupStatus and market (the full market record or null). data.summary counts requested, found and notFound.

The route charges one credit per requested id, so a batch of 10 ids costs 10 credits. A missing id does not fail the batch: its entry is not_found and the rest are returned.

Polymarket Batch Market API FAQ

How is a batch billed?

One credit per requested id, whether or not it matched a market. The response meta.creditsCharged is the final charge. A batch of 100 ids is the maximum and costs 100 credits.

Does one missing id fail the request?

No. Each id has its own lookupStatus. A missing id is not_found with market: null, and the summary counts it under notFound. The request succeeds if the input is valid.

Can I mix condition ids and token ids?

Yes, up to 100 combined. Each result says which kind of id you passed in idType, so you can match results back to your input without relying only on order.

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.