Polymarket Scraper — Live Odds, Prices & Volume avatar

Polymarket Scraper — Live Odds, Prices & Volume

Pricing

$5.00 / 1,000 market returneds

Go to Apify Store
Polymarket Scraper — Live Odds, Prices & Volume

Polymarket Scraper — Live Odds, Prices & Volume

Get Polymarket prediction market prices, bid, ask, spread and implied probability. Track odds over time, screen by 24h volume and liquidity, search markets by topic, or pull resolved outcomes for backtesting. No API key. Pay per market returned.

Pricing

$5.00 / 1,000 market returneds

Rating

0.0

(0)

Developer

Ikko Eltociear Ashimine

Ikko Eltociear Ashimine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Pull every Polymarket prediction market as clean, typed rows: each outcome with its price and implied probability, the live best bid / best ask / spread, 1h / 24h / 1w price moves, volume, liquidity, resolution date and the parent event.

No API key. No browser. No proxy. Straight against Polymarket's public Gamma API, so runs are fast and cheap and there is no anti-bot layer to break.

You pay per market returned — $0.005. Duplicates, markets your filters reject, and markets that fail to parse are not charged.

What it does, in the words you'd ask for it

  • Get Polymarket market prices, bid, ask and spread for every open market.
  • Get the implied probability of a prediction market — each outcome's price converted to a percentage, ready to compare against your own model.
  • Track prediction market odds over time — put a slug watchlist on a schedule and each run appends a snapshot.
  • Find prediction markets by topic — free-text search over live events (bitcoin, fed rate, election, ceasefire).
  • Screen for liquid prediction markets — filter on 24h volume, order-book liquidity and spread, so you only see markets you could actually trade.
  • Get resolved prediction market outcomes for backtesting — settled markets with their final prices, for calibration against known results.
  • Get betting odds for an event — the price of each outcome is the odds, already normalised to a probability.
  • Get election odds data — political markets are one of Polymarket's largest categories; search by candidate, race or date.
  • Get crypto prediction market data — price-threshold markets on BTC, ETH and others, with the same quotes and volume as every other market.
  • Pull event probability data for a forecasting model — implied probability per outcome, plus 1h/24h/1w moves so you can see which way it is drifting.
  • Export a resolved market outcomes dataset — turn on closed markets and take the whole settled history as training or calibration data.

What you can do with it

Track a watchlist on a schedule. Put your market slugs in Exact market slugs, set the Actor to run every 15 minutes, and you get a time series of bid/ask and volume for exactly the markets you care about — nothing else, nothing extra to pay for.

slugs: ["will-the-fed-decrease-interest-rates-by-25-bps-after-the-september-2026-meeting"]

Find today's movers. Sort by 24h price change over the whole open board to see what repriced while you were asleep.

sortBy: "priceChange24h", maxMarkets: 100, minVolume24hUsd: 5000

Screen for tradeable markets only. Most of the board is illiquid. Filter on liquidity and spread so you only see markets you could actually get size into.

minLiquidityUsd: 25000, minSpread: 0.02

Backtest. Turn on Include closed markets to get settled markets with their final prices, for calibration work against known outcomes.

Research one topic. Free-text Search covers live events: bitcoin, fed rate, election, ceasefire.


Sample output

{
"question": "Will the price of Bitcoin be above $68,000 on August 7?",
"slug": "will-the-price-of-bitcoin-be-above-68000-on-august-7",
"url": "https://polymarket.com/event/bitcoin-above-68000-august-7",
"outcomes": [
{ "name": "Yes", "price": 0.135, "implied_probability_pct": 13.5 },
{ "name": "No", "price": 0.865, "implied_probability_pct": 86.5 }
],
"best_bid": 0.13,
"best_ask": 0.14,
"mid_price": 0.135,
"spread": 0.01,
"last_trade_price": 0.14,
"price_change_1h": -0.004,
"price_change_24h": 0.021,
"price_change_1w": -0.083,
"volume_usd": 4821330.4,
"volume_24h_usd": 193660.2,
"volume_1w_usd": 1044201.8,
"liquidity_usd": 88214.0,
"start_date": "2026-08-01T00:00:00Z",
"end_date": "2026-08-07T23:59:59Z",
"active": true,
"closed": false,
"accepting_orders": true,
"event_title": "Bitcoin price on August 7",
"event_slug": "bitcoin-above-68000-august-7",
"tags": ["Crypto", "Bitcoin"],
"resolution_source": "",
"condition_id": "0x…",
"market_id": "512345"
}

Input reference

FieldTypeDefaultWhat it does
querystringFree-text search over live events. Ignored if slugs is set.
slugsstring[]Exact market lookup. Takes priority over query.
maxMarketsinteger100Hard cap on rows — and therefore your spending cap.
sortByenumvolume24hrvolume24hr, volume, liquidity, endDate, priceChange24h. Board mode only.
ascendingbooleanfalseReverse the sort. Pair with endDate for "resolving soonest".
minVolume24hUsdinteger0Drop illiquid markets.
minLiquidityUsdinteger0Order-book depth floor.
minSpreadnumber0Keep only markets at least this wide.
includeClosedbooleanfalseInclude settled markets, for backtesting.
tagIdstringRestrict to one Polymarket tag by numeric id.

Things this Actor is careful about

These are the details that decide whether prices data is usable or quietly wrong.

  • Outcome prices are paired positionally, or not at all. Gamma sends outcomes and outcomePrices as two separate JSON-encoded strings. If their lengths ever disagree, the mapping is unknowable, so outcomes comes back empty rather than guessed — a swapped Yes/No price is the one error that still looks completely plausible downstream.
  • No order book means null, not 0. Markets with no live quotes get best_bid: null, spread: null, mid_price: null. A fabricated 0.0 spread would read as a perfectly liquid market.
  • You are never charged twice for one market. Rows are de-duplicated by market id before anything is billed.
  • Pagination is real. Gamma silently caps every response at 100 rows regardless of the limit requested; this Actor pages past that, so maxMarkets: 2000 returns 2000.
  • Filters are honest. A high minVolume24hUsd can legitimately return zero rows — most of the board trades under $1,000 a day. The log says so instead of failing quietly.

Limits

  • Prices are the Gamma API's published quotes, refreshed per run. This is not a websocket feed — for sub-second data use Polymarket's CLOB stream directly.
  • Free-text query searches live events only; use includeClosed with board mode to reach settled markets.
  • tags are only populated for markets whose parent event carries them.