Polymarket Scraper — Markets, Prices, Odds & Order Books avatar

Polymarket Scraper — Markets, Prices, Odds & Order Books

Pricing

from $2.00 / 1,000 market scrapeds

Go to Apify Store
Polymarket Scraper — Markets, Prices, Odds & Order Books

Polymarket Scraper — Markets, Prices, Odds & Order Books

Export live Polymarket prediction-market data as clean rows: question, Yes/No prices, implied probability, spread, liquidity, 24h volume, resolution date and optional order-book depth.

Pricing

from $2.00 / 1,000 market scrapeds

Rating

0.0

(0)

Developer

Pixflor

Pixflor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Get every live Polymarket prediction market as a clean spreadsheet row: the question, the Yes price, implied probability, spread, liquidity, 24-hour volume, and when it resolves.

No API keys. No wallet. No login. Paste a filter, press start, export CSV or JSON.


What you get

One row per market, already parsed into the columns you'd otherwise have to derive yourself:

ColumnExample
questionWill the Fed cut rates in September?
yesPrice0.62
impliedProbability62.0
probabilityOfYes
noPrice0.38
bestBid / bestAsk / spread0.61 / 0.63 / 0.02
volume24hr / volume / liquidity184203.55
oneDayPriceChange-0.04
endDate2026-09-18T00:00:00Z
urldirect link to the market

Polymarket's own API hands you outcomes and outcomePrices as strings containing JSON, with no Yes price and no probability column. This Actor unpacks all of that, so the data lands ready for Excel, Sheets, pandas, or a dashboard.

Every priced market gets a probability — including the ones that aren't Yes/No. Sports and esports markets use team names as outcomes, and several sit in the top ten by volume. probabilityOf tells you which outcome the percentage refers to, and isBinary flags whether it's a straight Yes/No question. No null columns to work around.

Turn on Include order book depth and each outcome also carries live bid/ask ladders.


Typical uses

  • Track a topic over time. Schedule it hourly on searchQuery: "election" and build a probability time series.
  • Find the liquid markets. Sort by 24h volume, set minLiquidity, ignore the noise.
  • Backtest. Set status to Resolved and pull settled markets with final prices.
  • Feed a model or an LLM. Clean JSON, stable field names, one row per market.
  • Monitor a watchlist. Pass exact slugs and get just those markets, every run.

Example input

{
"mode": "markets",
"status": "open",
"searchQuery": "fed",
"sortBy": "volume24hr",
"minLiquidity": 5000,
"maxItems": 200
}

Watchlist mode — only these markets, filters ignored:

{
"mode": "markets",
"slugs": ["will-bitcoin-hit-150k-in-2026"],
"includeOrderBook": true,
"orderBookDepth": 10
}

Grouped view — one row per event, with every candidate nested inside:

{ "mode": "events", "status": "open", "sortBy": "volume", "maxItems": 50 }

Settings that matter

  • Markets vs EventsMarkets gives one row per tradable question. Events groups related questions under one headline, which is what you want for elections and any multi-candidate race.
  • minLiquidity / minVolume24hr — the fastest way to cut thin, untraded markets. Most serious markets sit above 1,000 liquidity.
  • maxItems — your cost ceiling. Set it deliberately.
  • includeOrderBook — off by default because it's slower and billed separately. Turn it on only when you need depth rather than just price.

Pricing

Pay per event — you pay for what comes back, not for runtime.

EventPrice
Actor start$0.002 per run
Market or event row$0.0015 each
Order book (per outcome)$0.0008 each

1,000 markets ≈ $1.50. Order books are only charged when you enable them.


Reliability

This Actor talks to Polymarket's documented public API over plain HTTP — no headless browser, no bot-detection workarounds. That's a deliberate choice: it keeps runs fast and cheap, and it means the Actor doesn't break every time a page layout changes.

Every request retries with exponential backoff, and a failed page degrades the run instead of killing it. If a filter matches nothing, you get a clear message saying which filter to loosen rather than an empty dataset with no explanation.


Notes

  • Data comes from Polymarket's public Gamma and CLOB APIs and is provided as-is for research and analysis. It is not financial advice and carries no warranty of accuracy, completeness, or timeliness.
  • Prices move constantly. A row is a snapshot at scrapedAt, not a live feed — schedule the Actor if you need a series.
  • Polymarket restricts trading in some jurisdictions. Reading public market data is a separate matter from trading; check your local rules before acting on anything here.

Questions or a bug?

Open an issue on the Issues tab of this Actor. Include your input JSON and the run ID — that's usually enough to reproduce it immediately.