Polymarket Scraper — Odds, Volume & Liquidity API
Pricing
$5.00 / 1,000 market scrapeds
Polymarket Scraper — Odds, Volume & Liquidity API
Scrape Polymarket prediction markets with parsed odds, implied probability, bid/ask spread, volume and liquidity. Outcomes and prices come back as real arrays and numbers, not JSON-encoded strings.
Pricing
$5.00 / 1,000 market scrapeds
Rating
0.0
(0)
Developer
Abhinav Gupta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Polymarket Scraper — odds, volume and liquidity in one clean schema
Scrape Polymarket prediction markets with the numbers already parsed: implied probability, the favoured outcome, bid/ask spread, 24-hour and lifetime volume, and resting liquidity.
Why this one
Polymarket's API returns several fields as JSON-encoded strings inside JSON.
outcomes arrives as '["Yes", "No"]' and outcomePrices as
'["0.0065", "0.9935"]'. Prices and volumes arrive as strings too. Every buyer
ends up writing the same unwrapping code before they can do anything.
This does it once:
- Real arrays and real numbers.
outcomesis an array,outcomePricesis an array of numbers, volumes are numbers you can sort on. impliedProbability— the Yes price as a percentage, which is the number most people actually want and no field gives you directly.topOutcomeandtopOutcomePrice— the favourite and its price, for any market. About a third of markets are not Yes/No (Fritz vs Nakashima), so a Yes-only field is blank for them. These are populated on every row.- A working
url. Built from the parent event slug, which the market object only carries in a nested array. - Stable columns. Missing values are
null, never absent, so CSV exports line up and downstream code does not break.
Input
{"status": "active","searchQuery": "fed","orderBy": "volume24hr","minVolume": 1000,"minLiquidity": 0,"maxItems": 500}
status is active, closed or all. orderBy is volume24hr, volume,
liquidity or none. searchQuery matches the question and the event title.
Output
One row per market:
{"marketId": "559651","question": "Will the Fed decrease interest rates by 25 bps after the September meeting?","url": "https://polymarket.com/event/fed-decision-in-september/fed-decrease-25-bps","eventTitle": "Fed decision in September","outcomes": ["Yes", "No"],"outcomePrices": [0.0105, 0.9895],"topOutcome": "No","topOutcomePrice": 0.9895,"yesPrice": 0.0105,"noPrice": 0.9895,"impliedProbability": 1.05,"bestBid": 0.01, "bestAsk": 0.011, "spread": 0.001,"volumeTotal": 48211900.4, "volume24hr": 1458896.2, "liquidity": 402113.9,"startDate": "2026-07-30T00:00:00.000Z","endDate": "2026-09-17T00:00:00.000Z","active": true, "closed": false, "acceptingOrders": true,"conditionId": "0x7d0a...","clobTokenIds": ["27146...", "33212..."]}
clobTokenIds are included so you can go straight to the CLOB order book for a
specific outcome without a second lookup.
A RUN_SUMMARY record reports how many markets were scanned, matched and delivered.
Who this is for
- Traders and quants tracking odds movement, spreads and liquidity
- Researchers studying prediction-market accuracy against real outcomes
- Journalists and analysts citing market-implied odds on elections, rates or sport
- Arbitrage against other venues, using bid/ask rather than last trade
Notes
- Reads Polymarket's public Gamma API. No login, no cookies, no CAPTCHA solving, no proxies.
- Prices are point-in-time. Schedule the Actor if you want a series.
impliedProbabilityis null for markets that are not Yes/No, by design. UsetopOutcomeandtopOutcomePricefor those.