Polymarket Markets Scraper
Pricing
from $2.00 / 1,000 receive results
Polymarket Markets Scraper
Structured Polymarket prediction-market data: live prices, volume, liquidity and tags. Filter by keyword, tag or volume and get clean JSON for research, trading models and journalism.
Pricing
from $2.00 / 1,000 receive results
Rating
0.0
(0)
Developer
Billy DC
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get clean, structured data about Polymarket prediction markets: questions, live outcome prices, trading volume, liquidity, spreads, end dates and category tags. The actor reads Polymarket's public Gamma API — no login, no cookies, no proxies needed.
Who is this for?
- Researchers studying forecasting accuracy and market-implied probabilities
- Traders screening for high-volume or mispriced markets
- Journalists tracking what odds markets assign to elections, geopolitics, sports and crypto events
- Data teams feeding dashboards or alerting pipelines with market probabilities
Features
- Free-text search across markets (same search Polymarket's site uses)
- Filter by category tag (
politics,crypto,sports, ...), active/closed status and minimum volume - Sort by volume, liquidity, end date or creation date
- Parsed outcome prices (probabilities) instead of Polymarket's raw JSON-string encoding
- Automatic pagination, retries with exponential backoff, and partial results if the API hiccups mid-run
Input
{"searchQuery": "bitcoin","active": true,"closed": false,"tagSlug": "crypto","minVolume": 10000,"sortBy": "volume","maxItems": 100}
| Field | Type | Default | Notes |
|---|---|---|---|
searchQuery | string | – | Free-text search. When set, tagSlug is ignored. |
active | boolean | true | Only currently tradeable markets. |
closed | boolean | false | Include resolved markets (set active: false too for purely historical data). |
tagSlug | string | – | Category slug from polymarket.com URLs, e.g. politics. |
minVolume | integer | 0 | Skip markets under this all-time USD volume. |
sortBy | enum | volume | volume, liquidity, endDate (soonest first) or newest. |
maxItems | integer | 100 | Hard cap 5000. |
Output
One dataset item per market:
{"id": "512263","question": "US x Iran permanent peace deal by May 31, 2026?","slug": "us-x-iran-permanent-peace-deal-by-may-31-2026","url": "https://polymarket.com/event/us-x-iran-permanent-peace-deal-by-may-31-2026","outcomes": [{ "outcome": "Yes", "price": 0.045 },{ "outcome": "No", "price": 0.955 }],"volumeUsd": 82819486.16,"liquidityUsd": 947777.08,"endDate": "2026-05-31T12:00:00Z","active": true,"closed": false,"tags": ["politics", "geopolitics"],"spread": 0.01,"dailyVolume": 152340.55,"bestBid": 0.04,"bestAsk": 0.05,"eventTitle": "US x Iran permanent peace deal by May 31, 2026?","eventSlug": "us-x-iran-permanent-peace-deal-by-may-31-2026","timestamp": "2026-07-24T12:00:00.000Z"}
outcomes[].price is the current market price of that outcome share in USD, which doubles as the market-implied probability (0–1).
Pricing
The actor charges per market returned (result-item event), so a run of 100 markets costs 100 events. You only pay for data you actually receive.
Honest limitations
- Prices are snapshots, not a stream. Run the actor on a schedule if you need time series.
- Data comes from the Gamma API, which can lag the trading engine by a few seconds.
tagsare only available when the market's parent event exposes them; some markets have an empty tag list.- Free-text search returns what Polymarket's own search ranks as relevant (roughly the top ~50 events), not an exhaustive keyword scan of every market.
- The Gamma API is public but unversioned; Polymarket may change fields without notice. The actor validates every item and skips malformed ones rather than failing the run.
Usage tips
- Historical/resolved markets:
{ "active": false, "closed": true, "sortBy": "volume" } - Markets resolving soon:
{ "sortBy": "endDate", "minVolume": 50000 } - Everything Polymarket says about an election:
{ "searchQuery": "presidential election" }