Polymarket Scraper - Odds, Volume & Order Books avatar

Polymarket Scraper - Odds, Volume & Order Books

Pricing

from $1.19 / 1,000 result rows

Go to Apify Store
Polymarket Scraper - Odds, Volume & Order Books

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

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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.

ActorRole
Polymarket Scraper ◄── you are herePrediction-market odds, books, trades, wallets
PrizePicks Player Props ScraperDFS player-prop lines
Betr Picks ScraperBetr pick'em board
DraftKings Pick6 ScraperPick6 player props
Underdog Props ScraperUnderdog fantasy lines
DFS Multi-Source Props ScraperCross-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 kind discriminator for mixed exports

Input

FieldDescriptionDefault
modemarkets / events / search / orderbook / trades / tags / sports / prices_history / holders / wallet / leaderboard / automarkets
startUrlsEvent/market URLs, slugs, or 0x wallets
queriesSlugs or keywords. Empty = bulk list
categoryTag shortcut (politics, sports, crypto, …)
tagIdRaw Gamma tag ID
statusactive / closed / allactive
itemTypemarkets or events grainmarkets
sortByvolume24hr, volume, liquidity, datesvolume24hr
maxItemsDataset cap100
minVolume24h / minLiquidity / minTotalVolumeUSD filters0
explodeOutcomesOne row per Yes/No (or team)false
includeOrderBookAttach CLOB books to market rowsfalse
walletAddressProxy wallet for wallet mode
proxyConfigurationOptional; default offoff

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:

FieldDescription
kindmarket / event / outcome / orderbook / trade / holder / position / tag / sport / price_point / leaderboard
question / title / slug / urlIdentity and event link
primaryPrice / yesPrice / noPrice / outcomesImplied probabilities (0–1); yesPrice only when the outcome is Yes/Up
bestBid / bestAsk / spread / lastTradePriceCLOB top of book
volume / volume24hr / liquidityUSD volume and depth
category / tagsGamma labels
live / scoreSports in-play fields when present
conditionId / clobTokenIdsOn-chain / CLOB identifiers
endDate / closed / activeStatus 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 ApifyClient
client = 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.

ActorRole
PrizePicks Player Props ScraperPrizePicks lines
DFS Multi-Source Props ScraperMulti-book DFS comparison
FotMob ScraperScores, fixtures, match stats