Polymarket
Prediction market prices & history
Read-only access to Polymarket prediction markets. Browse active markets, fetch real-time prices and order books, check spreads, retrieve price history, and calculate market prices for specific order sizes. Track election odds, macro events, sports, and more.
Verify that the public Polymarket CLOB API is reachable before you start making market data calls.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "health_check",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callFetch the current Polymarket CLOB server timestamp so you can align polling or compare event freshness.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_server_time",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callList full CLOB market objects page by page so you can browse condition IDs, questions, tokens, and market metadata.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "list_markets",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callFetch one CLOB market by condition ID when you need the question, tokens, fees, timing, and reward config.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_market",
"input": {
"condition_id": "0x5a8c5193008f76941e75598a31ef2915125ef0a8a7cfcb7369e8c451511c4452"
}
}' \
https://api.toolrouter.com/v1/tools/callList the lighter simplified market feed when you want condition IDs, token IDs, prices, and reward flags quickly.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "list_simplified_markets",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callList full markets that are eligible for sampling or liquidity rewards so you can inspect incentive-backed opportunities.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "list_sampling_markets",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callList the lighter reward-eligible markets feed when you need token IDs and current prices for sampling markets fast.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "list_sampling_simplified_markets",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callFetch the full bid and ask ladder for one Polymarket token so you can inspect liquidity and visible depth.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_order_book",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch multiple Polymarket order books in one request so you can compare liquidity across tokens efficiently.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_order_books",
"input": {
"requests": [
{
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
},
{
"token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400"
}
]
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the current best bid or ask for one token when you need the executable top-of-book price right now.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_market_price",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846",
"side": "BUY"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch best prices for multiple tokens in one call when you need a quick snapshot across a basket of outcomes.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_market_prices",
"input": {
"requests": [
{
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846",
"side": "BUY"
},
{
"token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400",
"side": "SELL"
}
]
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the midpoint between the best bid and ask for a token so you can inspect the displayed implied probability.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_midpoint_price",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch midpoint prices for multiple tokens in one call when you want a compact implied probability snapshot.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_midpoint_prices",
"input": {
"requests": [
{
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
},
{
"token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400"
}
]
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the current bid-ask spread for one token so you can judge liquidity and slippage risk quickly.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_spread",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch spreads for multiple tokens in one request when you want a quick liquidity comparison across outcomes.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_spreads",
"input": {
"requests": [
{
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
},
{
"token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400"
}
]
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the most recent traded price and side for one token when you need the last executed market print.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_last_trade_price",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the latest traded price for multiple tokens in one request so you can compare the last executed prints.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_last_trade_prices",
"input": {
"requests": [
{
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
},
{
"token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400"
}
]
}
}' \
https://api.toolrouter.com/v1/tools/callFetch historical price points for one token so you can chart implied probability changes over time.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_prices_history",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846",
"interval": "1d"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the minimum price increment for a token so you know what price precision the market currently accepts.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_tick_size",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callFetch the base fee rate for a token so you can understand the cost assumptions behind order placement.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_fee_rate",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callCheck whether a token belongs to a negative-risk market so you can reason about complementary outcome mechanics.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "get_neg_risk",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
}
}' \
https://api.toolrouter.com/v1/tools/callEstimate fill price for a given order size by walking the visible order book. Read-only — no order is placed.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "calculate_market_price",
"input": {
"token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846",
"side": "BUY",
"amount": 500,
"order_type": "FOK"
}
}' \
https://api.toolrouter.com/v1/tools/callCall an allowlisted unauthenticated public CLOB endpoint directly when you need a path that is not covered by the typed skills.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "polymarket",
"skill": "raw_public_request",
"input": {
"method": "GET",
"path": "/markets/0x5a8c5193008f76941e75598a31ef2915125ef0a8a7cfcb7369e8c451511c4452"
}
}' \
https://api.toolrouter.com/v1/tools/callQuick Start
claude mcp add --transport stdio \
--env TOOLROUTER_API_KEY=YOUR_API_KEY \
toolrouter -- npx -y toolrouter-mcpcurl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{"tool":"polymarket","skill":"health_check","input":{}}' \
https://api.toolrouter.com/v1/tools/callFrequently Asked Questions
Can I browse markets before looking at prices?
Yes. `list_markets` and `list_simplified_markets` let you browse active markets, condition IDs, token IDs, and metadata before drilling into a specific market.
How do I check current prices and liquidity?
Use `get_market_price`, `get_midpoint_price`, `get_last_trade_price`, `get_order_book`, and `get_spread` to compare executable price, mid, last trade, and visible depth.
Can I estimate the fill price for a larger order?
Yes. `calculate_market_price` walks the visible order book to estimate the fill for a given size. It is read-only, so no order is placed.
Is there a way to check special market flags?
Yes. `get_neg_risk` tells you whether a token belongs to a negative-risk market, and `raw_public_request` is available if you need an allowlisted endpoint that is not covered elsewhere.