Polymarket Markets API
Discover Polymarket prediction markets (question, outcome prices, volume, liquidity, and end dates) by keyword or sorted by activity, as normalized JSON.
Call it
Make your first request
import os, requests res = requests.post( "https://api.getanyapi.com/v1/run/polymarket.markets", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={ "query": "" }, ) print(res.json())
{
"data": {
"items": [
{
"endsUtc": 12.5,
"eventTitle": "Example title",
"id": "a1b2c3d4",
"image": "https://example.com/image.jpg",
"liquidityUsd": 1024,
"outcomes": [
{
"name": "Example title",
"price": 19.99
}
],
"status": "active",
"title": "Example title",
"url": "https://example.com/page",
"volume24hUsd": 12500,
"volumeUsd": 12500
}
]
},
"found": true
}interface PolymarketMarketsResponse {
data: {
items: {
endsUtc?: number;
eventTitle?: string;
id: string;
image?: string;
liquidityUsd?: number;
outcomes?: {
name?: string;
price?: number;
}[];
status?: string;
title: string;
url: string;
volume24hUsd?: number;
volumeUsd?: number;
}[];
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-16 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/polymarket.markets \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"limit":10,"query":"election"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| query | string | "election"Search term for markets (e.g. election, bitcoin, super bowl). |
| limit | integer | 10Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less. |
| sortBy | enum | How discovered markets are ordered before results are returned (e.g. volume_24hr for recent momentum). |
| status | enum | Return "active" markets for current prices and volume, or "resolved" markets for historical outcomes. |
| Response | ||
| data | object | The result wrapper, or null when nothing was found. |
| data.items | object[] | Prediction-market records: market question, outcomes with current prices, volume, liquidity, and end date. Populated whenever the provider has data for the entity. |
| data.items[].endsUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the market resolves/ends. |
| data.items[].eventTitle | string | Title of the parent event grouping this market. |
| data.items[].id | string | Polymarket market identifier. Populated whenever the provider has data for the entity. |
| data.items[].image | string | Event image URL. |
| data.items[].liquidityUsd | number | Available liquidity in USD. |
| data.items[].outcomes | object[] | Market outcomes with their current implied prices. |
| data.items[].outcomes[].name | string | Outcome label, e.g. Yes or No. |
| data.items[].outcomes[].price | number | Current implied probability price for the outcome (0 to 1). |
| data.items[].status | string | Market status, e.g. active or closed. |
| data.items[].title | string | The market question. Populated whenever the provider has data for the entity. |
| data.items[].url | string | Polymarket URL for the market event. Populated whenever the provider has data for the entity. |
| data.items[].volume24hUsd | number | Traded volume in USD over the past 24 hours. |
| data.items[].volumeUsd | number | Total traded volume in USD. |
| found | boolean | True when at least one market record was returned. |
| Price | ||
| Price per request (ceiling) | USD | $0.132 |
| Price /1k results | USD | $5.28 |
FAQ
About the Polymarket Markets API
The AnyAPI Polymarket Markets API returns Polymarket markets data as normalized JSON from one POST call to /v1/run/polymarket.markets. Discover Polymarket prediction markets (question, outcome prices, volume, liquidity, and end dates) by keyword or sorted by activity, as normalized JSON. AnyAPI returns one normalized schema whichever source serves it. It costs $5.28 per 1,000 results, and never more than $0.132 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Polymarket markets calls through AnyAPI succeeded, with a median response time of 7.6 seconds across 11 measured calls.