Prediction Markets Scraper — Kalshi + Polymarket odds & volume
Pricing
from $2.00 / 1,000 results
Prediction Markets Scraper — Kalshi + Polymarket odds & volume
Every open Kalshi and Polymarket market in one normalized feed: question, YES/NO price, bid/ask, spread, 24h volume, liquidity, open interest, close time, category, resolution rules, links. Optional order-book depth. Filter by text, category, volume, close time. No login, no proxies.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Ezden Notghi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Prediction Markets Scraper — Kalshi + Polymarket
One normalized feed of prediction-market data from the two largest venues. Every item has the same fields whether it came from Kalshi or Polymarket, so you can compare odds, spreads, volume and close times across exchanges without writing two parsers.
- Kalshi — every open (or closed / settled) market via the public trade API: YES/NO bid and ask with sizes, last price, previous price, 24h and lifetime volume, open interest, liquidity, open/close/expiration times, resolution rules, category.
- Polymarket — every active (or resolved) market via the public Gamma API: outcome prices, best bid/ask, spread, last trade, 24h / 1w / lifetime USD volume, liquidity, tags, neg-risk flag, images, CLOB token ids.
- Order books (optional) — top-N YES bids and asks with sizes from each venue's live book.
- Filters — text search, category/tag, status, min 24h volume, min liquidity, closing-within-N-hours, specific Kalshi series or Polymarket tags.
- No login, no proxies, no browser. Both venues publish this data openly; the Actor reads it politely with retries and backoff.
Example output
{"venue": "polymarket","title": "Will the Fed decrease interest rates by 25 bps after the September 2026 meeting?","subtitle": "25 bps decrease","eventTitle": "Fed Decision in September?","category": "fomc","tags": ["fomc", "Economic Policy", "Fed Rates", "Politics", "Economy"],"status": "open","yesPrice": 0.0035, "noPrice": 0.9965,"yesBid": 0.003, "yesAsk": 0.004, "spread": 0.001,"volume24h": 5239468.07, "volume": 29217587.62, "volumeUnit": "usd","liquidity": 4433986.18,"closeTime": "2026-09-16T00:00:00Z","url": "https://polymarket.com/event/fed-decision-in-september-762/will-the-fed-decrease-interest-rates-by-25-bps-after-the-september-2026-meeting-586","orderbook": { "yesBids": [{ "price": 0.003, "size": 41200 }], "yesAsks": [{ "price": 0.004, "size": 18750 }] }}
Kalshi items carry the same keys plus seriesId, openInterest, yesBidSize/yesAskSize, canCloseEarly, expectedExpirationTime and result (yes/no once settled). Kalshi volume is reported in contracts (volumeUnit: "contracts"), Polymarket in USD — the field tells you which.
Input
| Field | Default | Notes |
|---|---|---|
venues | both | kalshi, polymarket |
search | — | substring match on title / subtitle / event title |
categories | — | Kalshi categories (Politics, Economics, Sports, …) or Polymarket tag labels (Crypto, Pop Culture, …) |
status | open | open, closed, settled, all |
minVolume24h, minLiquidity | 0 | numeric floors |
closingWithinHours | — | only markets closing in the next N hours |
maxMarketsPerVenue | 500 | 0 = everything (~10k Kalshi, ~5k Polymarket) |
includeOrderbook / orderbookDepth | off / 5 | one extra request per market |
kalshiSeriesTickers | — | e.g. KXBTC, KXFED, KXHIGHNY |
polymarketTags | — | tag slugs, e.g. crypto, fomc, nfl |
Typical uses
- Cross-venue odds comparison — run with a
searchterm and both venues, sort byyesPrice. - Volume/liquidity screens —
minVolume24h: 100000on Polymarket,minLiquidity: 10000on Kalshi. - Expiry watch —
closingWithinHours: 24on a schedule, feed the dataset into Sheets or a webhook. - Order-book snapshots —
includeOrderbook: truewith a series filter, on a 5-minute schedule, for a depth history. - Research datasets —
status: settled,maxMarketsPerVenue: 0, for resolved outcomes with final prices.
Notes
- Polymarket is read in descending 24h-volume order, so a cap keeps the liquid markets. Kalshi is read in exchange order; use
kalshiSeriesTickersorcategoriesto target. - Polymarket
resultis inferred from final outcome prices on closed markets; Kalshiresultis the exchange's own settlement value. - Kalshi web links point at the series page (the exchange rate-limits deep links);
apiUrlgives the exact market. - A
SUMMARYrecord in the key-value store lists scanned / matched / pushed counts per venue and any API error.
Pricing
Pay per result. One result = one market (with or without order book). Price is shown on the Actor page; the free trial covers a first run.
Support
Open an Issue on the Actor page — API shape changes at either venue get fixed fast.