Polymarket Market API
One market by id, slug or condition id, with outcomes, fees and resolution rules.
GET /v1/polymarket/markets/{marketIdSlugOrConditionId}1 credit Failed requests are free
About this endpoint
GET /v1/polymarket/markets/{marketIdSlugOrConditionId} accepts a numeric market id, a market slug, or a condition id (0x and 64 hex digits). On found, data.market carries id, slug, question, description, conditionId, eventId, eventSlug, status, groupTitle, outcomes[] with name, tokenId and price, winningOutcome, lastTradePrice, bestBid, bestAsk, spread, priceChange, volume, liquidity, fees, tickSize, minOrderSize, resolution, acceptingOrders and dates.
Pass locale to translate the question. Descriptions stay in English. An unknown id, slug or condition id returns lookupStatus: not_found with market: null.
Polymarket Market API FAQ
Which identifier should I pass?
Any of the three works. Use the condition id when you have trading data, because books, prices, trades and holders are keyed by condition id or token id. Use the slug when you are working from a Polymarket URL. Use the numeric id when another route returned it.
How do I get the order book for this market?
Read data.market.outcomes[].tokenId and pass those ids to GET /v1/polymarket/books. A multi-outcome market has one token id per outcome, so you need one token id per book you want.
What is in the fees and resolution objects?
fees carries the fee rate curve, taker and maker base fees, rebates and whether fees are enabled. resolution carries the resolution source, the oracle status and the resolver address. The description holds the full rules in prose.
Does locale change the rules?
Only the question and other titles are translated. The description, resolution rules and fee fields stay as published in English.
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.
Other Polymarket endpoints
- EventsGET /v1/polymarket/events
- EventGET /v1/polymarket/events/{eventIdOrSlug}
- Event insightsGET /v1/polymarket/events/{eventIdOrSlug}/insights
- Event annotationsGET /v1/polymarket/events/{eventIdOrSlug}/annotations
- Event commentsGET /v1/polymarket/events/{eventId}/comments
- MarketsGET /v1/polymarket/markets
- Markets batchGET /v1/polymarket/markets/batch
- Market resolutionGET /v1/polymarket/markets/{conditionId}/resolution