Tools / Polymarket
Polymarket icon

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.

23 skillsv0.02
Health Check

Verify that the public Polymarket CLOB API is reachable before you start making market data calls.

Returns: A simple health status string confirming whether the public CLOB service responded
Example
Check whether the public Polymarket CLOB API is up
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "health_check",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
Get Server Time

Fetch the current Polymarket CLOB server timestamp so you can align polling or compare event freshness.

Returns: The current CLOB server time as a Unix timestamp in seconds
Example
Get the current Polymarket server time
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_server_time",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
List Markets

List full CLOB market objects page by page so you can browse condition IDs, questions, tokens, and market metadata.

Returns: A paginated page of full CLOB market objects plus the cursor for the next page
Parameters
next_cursorstringPagination cursor from the previous response. Leave empty to start from the first page.
max_resultsnumberMaximum number of items to return from the fetched page before trimming locally
Example
List the first page of Polymarket CLOB markets
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "list_markets",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
Get Market

Fetch one CLOB market by condition ID when you need the question, tokens, fees, timing, and reward config.

Returns: One full market object for the requested condition ID
Parameters
condition_id *stringPolymarket condition ID for the market you want to inspect
Example
Get a market by condition ID
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_market",
  "input": {
    "condition_id": "0x5a8c5193008f76941e75598a31ef2915125ef0a8a7cfcb7369e8c451511c4452"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
List Simplified Markets

List the lighter simplified market feed when you want condition IDs, token IDs, prices, and reward flags quickly.

Returns: A paginated page of simplified market rows with token IDs and current prices
Parameters
next_cursorstringPagination cursor from the previous response. Leave empty to start from the first page.
max_resultsnumberMaximum number of items to return from the fetched page before trimming locally
Example
List the first page of simplified Polymarket markets
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "list_simplified_markets",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
List Sampling Markets

List full markets that are eligible for sampling or liquidity rewards so you can inspect incentive-backed opportunities.

Returns: A paginated page of reward-eligible full market objects
Parameters
next_cursorstringPagination cursor from the previous response. Leave empty to start from the first page.
max_resultsnumberMaximum number of items to return from the fetched page before trimming locally
Example
List reward-eligible sampling markets
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "list_sampling_markets",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
List Sampling Simplified Markets

List the lighter reward-eligible markets feed when you need token IDs and current prices for sampling markets fast.

Returns: A paginated page of reward-eligible simplified market rows
Parameters
next_cursorstringPagination cursor from the previous response. Leave empty to start from the first page.
max_resultsnumberMaximum number of items to return from the fetched page before trimming locally
Example
List reward-eligible simplified markets
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "list_sampling_simplified_markets",
  "input": {}
}' \
  https://api.toolrouter.com/v1/tools/call
Get Order Book

Fetch the full bid and ask ladder for one Polymarket token so you can inspect liquidity and visible depth.

Returns: A full order book snapshot with bids, asks, tick size, minimum size, and the book hash
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Get the full order book for an active Polymarket token
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_order_book",
  "input": {
    "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Get Order Books

Fetch multiple Polymarket order books in one request so you can compare liquidity across tokens efficiently.

Returns: An array of order book snapshots for the requested token IDs
Parameters
requests *arrayBatch of token requests. Each item needs a token_id and can optionally include side.
Example
Fetch order books for both sides of a market
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/call
Get Market Price

Fetch the current best bid or ask for one token when you need the executable top-of-book price right now.

Returns: The best currently executable price for the requested token and side
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
side *stringOrder side to price or evaluate. BUY means taking asks; SELL means hitting bids.
Example
Get the best ask price for buying a token
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/call
Get Market Prices

Fetch best prices for multiple tokens in one call when you need a quick snapshot across a basket of outcomes.

Returns: A token-indexed map of best prices for the requested token IDs
Parameters
requests *arrayBatch of token requests. Each item needs a token_id and can optionally include side.
Example
Get best prices for both sides of a market
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/call
Get Midpoint Price

Fetch the midpoint between the best bid and ask for a token so you can inspect the displayed implied probability.

Returns: The midpoint price for the requested token
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Get the midpoint price for a token
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_midpoint_price",
  "input": {
    "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Get Midpoint Prices

Fetch midpoint prices for multiple tokens in one call when you want a compact implied probability snapshot.

Returns: A token-indexed map of midpoint prices for the requested tokens
Parameters
requests *arrayBatch of token requests. Each item needs a token_id and can optionally include side.
Example
Get midpoint prices for both outcomes in a market
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/call
Get Spread

Fetch the current bid-ask spread for one token so you can judge liquidity and slippage risk quickly.

Returns: The current bid-ask spread for the requested token
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Get the spread for a token
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_spread",
  "input": {
    "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Get Spreads

Fetch spreads for multiple tokens in one request when you want a quick liquidity comparison across outcomes.

Returns: A token-indexed map of current spreads for the requested tokens
Parameters
requests *arrayBatch of token requests. Each item needs a token_id and can optionally include side.
Example
Get spreads for multiple tokens
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/call
Get Last Trade Price

Fetch the most recent traded price and side for one token when you need the last executed market print.

Returns: The latest traded price and side for the requested token
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Get the latest executed trade price for a token
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/call
Get Last Trade Prices

Fetch the latest traded price for multiple tokens in one request so you can compare the last executed prints.

Returns: An array of latest-trade snapshots for the requested token IDs
Parameters
requests *arrayBatch of token requests. Each item needs a token_id and can optionally include side.
Example
Get the latest trade prices for both outcomes in a market
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/call
Get Prices History

Fetch historical price points for one token so you can chart implied probability changes over time.

Returns: Historical price points for the requested token and interval
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
start_tsnumberOptional Unix timestamp in seconds for the start of the requested history window
end_tsnumberOptional Unix timestamp in seconds for the end of the requested history window
fidelitynumberOptional numeric fidelity value for the history response, such as minutes between points
intervalstringHistory interval bucket to request from Polymarket
Example
Get one-day interval history for a token
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/call
Get Tick Size

Fetch the minimum price increment for a token so you know what price precision the market currently accepts.

Returns: The current minimum tick size for the requested token
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Get the tick size for a token
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_tick_size",
  "input": {
    "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Get Fee Rate

Fetch the base fee rate for a token so you can understand the cost assumptions behind order placement.

Returns: The base fee rate in basis points for the requested token
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Get the fee rate for a token
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_fee_rate",
  "input": {
    "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Get Negative Risk Flag

Check whether a token belongs to a negative-risk market so you can reason about complementary outcome mechanics.

Returns: A boolean showing whether the requested token is part of a negative-risk market
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
Example
Check whether a token uses negative risk
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "polymarket",
  "skill": "get_neg_risk",
  "input": {
    "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Calculate Market Price

Estimate fill price for a given order size by walking the visible order book. Read-only — no order is placed.

Returns: An estimated fill price based on visible order book depth for the requested trade size
Parameters
token_id *stringPolymarket token ID for the outcome token you want to inspect
side *stringOrder side to price or evaluate. BUY means taking asks; SELL means hitting bids.
amount *numberBUY uses dollar amount to spend; SELL uses number of shares to sell
order_typestringOrder execution assumption for market price estimation. FOK requires full liquidity; other values allow the worst visible fallback.
Example
Estimate the fill price for buying 500 dollars worth of a token
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/call
Raw Public Request

Call an allowlisted unauthenticated public CLOB endpoint directly when you need a path that is not covered by the typed skills.

Returns: The raw payload from an allowlisted unauthenticated public CLOB endpoint
Parameters
methodstringHTTP method for the allowlisted public CLOB endpoint
path *stringAllowlisted public CLOB path such as /orderbook-history, /ohlc, /markets, /markets/<condition_id>, or /prices
queryobjectOptional query-string parameters for GET requests. Scalar arrays are sent as repeated query keys.
requestsarrayRequired for POST batch endpoints. Each item needs a token_id and can optionally include side.
Example
Fetch a raw market payload directly from the public endpoint
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/call
Loading reviews...
Loading activity...
v0.022026-03-22
  • Added subtitle, expanded description, and agent instructions
v0.012026-03-21
  • Initial release with unauthenticated public CLOB market, price, orderbook, and raw request skills

Quick Start

MCP (Claude Code)
claude mcp add --transport stdio \
  --env TOOLROUTER_API_KEY=YOUR_API_KEY \
  toolrouter -- npx -y toolrouter-mcp
REST API
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{"tool":"polymarket","skill":"health_check","input":{}}' \
  https://api.toolrouter.com/v1/tools/call

Frequently 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.