Polymarket Scraper - Odds, Volume & Order Books
Pricing
from $1.19 / 1,000 result rows
Polymarket Scraper - Odds, Volume & Order Books
Scrape Polymarket prediction markets for odds, 24h volume, liquidity, order books, trades, and wallets. Unofficial Polymarket API alternative - no login. Export JSON for Python, Node.js, and MCP.
Pricing
from $1.19 / 1,000 result rows
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Polymarket Scraper — Prediction Market Odds, Volume & Order Books
Unofficial community Actor. Not affiliated with Polymarket.
Polymarket scraper for prediction-market odds, 24h volume, liquidity, order books, trades, and wallets across politics, sports, crypto, and elections. It reads the public Gamma, CLOB, and Data APIs — no login, no wallet, no browser — so you can scrape Polymarket with Python or Node.js, call it from MCP / AI assistants, or treat it as a Polymarket API alternative. Export the dataset as JSON, CSV, or Excel.
Related suite
| Actor | Role |
|---|---|
| Polymarket Scraper ◄── you are here | Prediction-market odds, books, trades, wallets |
| PrizePicks Player Props Scraper | DFS player-prop lines |
| Betr Picks Scraper | Betr pick'em board |
| DraftKings Pick6 Scraper | Pick6 player props |
| Underdog Props Scraper | Underdog fantasy lines |
| DFS Multi-Source Props Scraper | Cross-platform prop comparison |
Suite next step: after sports markets on Polymarket, run DFS Multi-Source Props Scraper for the same slate on PrizePicks / Underdog / Pick6.
Disclaimer: This Actor is provided for informational and research purposes only. It does not provide trading or betting advice. You are responsible for complying with applicable laws and platform terms. No warranty as to accuracy or continued availability.
When to use
- Snapshot active Polymarket markets (politics, sports, crypto, elections) with prices and volume
- Resolve event URLs or slugs into structured odds rows
- Pull CLOB order books (bids, asks, spread, mid) for market-making or alerts
- Stream recent trades or filter whale fills by notional
- Read a wallet’s positions / PnL or the public trader leaderboard
- Archive price history and resolved markets for research
When not to use: placing or cancelling orders (this Actor is read-only). For DFS player props rather than prediction markets, use the suite Actors above.
Key features
- Zero-config default — top active markets by 24h volume
- URL + slug input — paste event links or slugs
- Category shortcuts — politics, sports, crypto, nba, nfl, elections, …
- Twelve modes — markets, events, search, orderbook, trades, tags, sports, prices_history, holders, wallet, leaderboard, auto
- Sports live flag + score when Gamma provides them
- HTTP-only — public APIs, proxy optional
- Normalized rows with a
kinddiscriminator for mixed exports
Input
| Field | Description | Default |
|---|---|---|
mode | markets / events / search / orderbook / trades / tags / sports / prices_history / holders / wallet / leaderboard / auto | markets |
startUrls | Event/market URLs, slugs, or 0x wallets | — |
queries | Slugs or keywords. Empty = bulk list | — |
category | Tag shortcut (politics, sports, crypto, …) | — |
tagId | Raw Gamma tag ID | — |
status | active / closed / all | active |
itemType | markets or events grain | markets |
sortBy | volume24hr, volume, liquidity, dates | volume24hr |
maxItems | Dataset cap | 100 |
minVolume24h / minLiquidity / minTotalVolume | USD filters | 0 |
explodeOutcomes | One row per Yes/No (or team) | false |
includeOrderBook | Attach CLOB books to market rows | false |
walletAddress | Proxy wallet for wallet mode | — |
proxyConfiguration | Optional; default off | off |
Example — top active markets
{"mode": "markets","maxItems": 100,"sortBy": "volume24hr"}
Example — politics markets with a volume floor
{"mode": "markets","category": "politics","minVolume24h": 1000,"maxItems": 50}
Example — event URL
{"mode": "auto","startUrls": [{ "url": "https://polymarket.com/event/fed-decision-in-october" }]}
Example — order book
{"mode": "orderbook","queries": ["fed-decision-in-october"],"orderBookDepth": 20}
Example — whale trades
{"mode": "trades","maxItems": 100,"minTradeSize": 10000}
Example — wallet positions
{"mode": "wallet","walletAddress": "0x56687bf447db6ffa42ffe2204a05edaa20f55839","includeTrades": true,"maxItems": 50}
Output
Every row has kind plus scrapedAt. Market rows include:
| Field | Description |
|---|---|
kind | market / event / outcome / orderbook / trade / holder / position / tag / sport / price_point / leaderboard |
question / title / slug / url | Identity and event link |
primaryPrice / yesPrice / noPrice / outcomes | Implied probabilities (0–1); yesPrice only when the outcome is Yes/Up |
bestBid / bestAsk / spread / lastTradePrice | CLOB top of book |
volume / volume24hr / liquidity | USD volume and depth |
category / tags | Gamma labels |
live / score | Sports in-play fields when present |
conditionId / clobTokenIds | On-chain / CLOB identifiers |
endDate / closed / active | Status and schedule |
Sample market row
{"kind": "market","question": "Will Bitcoin reach $100K by December 31?","slug": "will-bitcoin-reach-100k-by-december-31","url": "https://polymarket.com/event/will-bitcoin-reach-100k-by-december-31","category": "Crypto","yesPrice": 0.62,"noPrice": 0.38,"volume24hr": 1250000.5,"liquidity": 480000.0,"bestAsk": 0.63,"spread": 0.01,"active": true,"closed": false,"endDate": "2026-12-31T00:00:00Z"}
Use cases
- Odds dashboards — scheduled snapshots of top markets by 24h volume
- Sports screens — live flag, score, and moneyline prices
- Research / backtests — closed markets + price history
- Whale watch — trades filtered by notional
- Copy-trade research — leaderboard wallets → positions
- Alerts — poll a slug and diff
yesPrice/volume24hr
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/polymarket-scraper').call({mode: 'markets',category: 'politics',maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 3));
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("crawloop/polymarket-scraper").call(run_input={"mode": "search","queries": ["trump"],"maxItems": 20,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("question") or item.get("title"), item.get("yesPrice"))
cURL
curl "https://api.apify.com/v2/acts/crawloop~polymarket-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"markets","category":"sports","maxItems":20}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name.
Example prompts:
- "Run Polymarket Scraper for the top 20 active politics markets and return question, yesPrice, and volume24hr as JSON"
- "Scrape the Polymarket event URL I paste and summarize outcomes, liquidity, and end date"
- "Chain Polymarket Scraper sports markets then DFS Multi-Source Props Scraper for the same NBA slate"
FAQ
Is this a Polymarket API alternative?
Yes for read-only public data: markets, events, books, trades, holders, wallets, and leaderboard. Trading (place/cancel) is out of scope.
How do I scrape Polymarket with Python?
Call crawloop/polymarket-scraper via the Apify Python client (example above). Default mode: markets returns the top active markets by 24h volume as JSON.
Can I get Polymarket order book data?
Yes — mode: orderbook with a slug or event URL, or set includeOrderBook: true on market rows.
Do I need an API key or wallet?
No. Gamma, public CLOB reads, and the Data API do not require credentials.
Do I need a proxy?
Usually no. Enable Apify Proxy only if you hit rate limits on large crawls.
How do I scrape one event?
Paste the event URL in startUrls, or put the slug in queries.
How are prices quoted?
Outcome prices are probabilities in 0–1 (e.g. 0.62 = 62¢ / 62%).
Can I get resolved / historical markets?
Set status: closed and optionally mode: prices_history with a slug.
What is kind?
A discriminator so mixed runs (markets + trades, or exploded outcomes) stay filterable in one dataset.
Related Actors
| Actor | Role |
|---|---|
| PrizePicks Player Props Scraper | PrizePicks lines |
| DFS Multi-Source Props Scraper | Multi-book DFS comparison |
| FotMob Scraper | Scores, fixtures, match stats |