Kalshi & Polymarket Scraper - Odds, Results & Price History avatar

Kalshi & Polymarket Scraper - Odds, Results & Price History

Pricing

from $1.40 / 1,000 results

Go to Apify Store
Kalshi & Polymarket Scraper - Odds, Results & Price History

Kalshi & Polymarket Scraper - Odds, Results & Price History

Prediction market data from Kalshi and Polymarket in one row shape: live probabilities, bid/ask, volume and open interest, settled results, and price history candles. Sports (NFL, NBA, MLB, NHL, college, soccer, UFC, tennis, F1, golf, esports), politics, economics, crypto, weather and more.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Artsiom Kunitsyn

Artsiom Kunitsyn

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

Prediction market data from Kalshi and Polymarket, the two biggest prediction markets, in one row shape:

  • Open markets: the current probability, best bid and ask, last trade, volume, 24-hour volume, open interest and liquidity.
  • Results: settled markets with the winning outcome, settlement price and settle time. Kalshi results go back to the start of each series (NFL games: September 2025), and Polymarket sports back to 2023.
  • Price history: hourly, daily or minute data per market. Kalshi gives candles (open/high/low/close trade price, bid/ask, volume, open interest); Polymarket gives the price per interval.

Sports are covered in depth: NFL, college football, NBA, WNBA, college basketball, MLB, NHL, the Premier League, Champions League, La Liga, Bundesliga, Serie A, Ligue 1, MLS, Liga MX, UFC, boxing, ATP/WTA tennis, F1, NASCAR, PGA golf, cricket and esports. That includes moneylines, spreads, totals, player and period props, and futures. Every other category works too: politics, elections, economics (Fed, inflation, jobs), finance, crypto, weather, culture, tech and world events.

Prediction market prices are real-money probabilities. Use them next to sportsbook lines, to measure closing-line value, to find differences between Kalshi and Polymarket, or to track elections, Fed decisions and the weather.

What you get

One row per market. On Kalshi a market is one yes/no contract (e.g. "Philadelphia wins"), so a game has a row per team; on Polymarket a game moneyline is one market with both teams as outcomes.

FieldExample
platform, event_title, market_titlepolymarket, Seahawks vs. Broncos, Seahawks vs. Broncos
category, league, competitionsports, nfl, NFL 2026
market_type, market_type_raw, linespread, spreads, -3.5
outcome, outcomes, outcome_pricesSeahawks, ["Seahawks", "Broncos"], [0.565, 0.435]
price, best_bid, best_ask, last_price0.565, 0.56, 0.57, 0.56
volume, volume_24h, open_interest, liquidity1437982.78, 52110.4, 744.3, 20345.1
status, result, winning_outcome, settlement_pricesettled, no, Bears, 0
event_time, open_time, close_time, settled_at2026-10-04T17:00:00Z, ...
teams, score (Polymarket games)["New York Jets", "Chicago Bears"], 12-23
url, rulesthe event page and the resolution rules
  • price is the probability (0 to 1) of outcome. For an open Kalshi market it is the bid/ask midpoint, and for a Polymarket market the price the site displays.
  • result is yes or no for outcome. winning_outcome names the winning entry of outcomes.
  • market_type is moneyline (full-game winner), spread, total, props (player props, period winners, both teams to score and other game markets) or futures (season, awards, tournaments). It is empty outside sports. spread and total include half, quarter and team lines; market_type_raw tells them apart (e.g. first_half_spreads, team_totals, 1st Half Spread).
  • volume is in $1 contracts on Kalshi and in USD on Polymarket.

Price history rows

entityType: "priceHistory" returns one row per interval per market: ts, price, and on Kalshi open, high, low, mean, best_bid, best_ask, volume and open_interest, plus the market fields (event, outcome, league, status, result). price_source tells whether a Kalshi interval had a trade (trade) or only a quote (quote_mid).

How to use it

  • Current odds for upcoming games (the default): just run it. Sports from both sites, 50 rows.
  • This week's NFL moneylines and spreads on both sites: leagues NFL, market types Moneyline and Spread, clear Max items.
  • Yesterday's results: entityType: "results", set From date and To date to yesterday.
  • A whole season of results: entityType: "results", leagues NBA, market types Moneyline, From date 2025-10-01, To date 2026-06-30.
  • Closing-line analysis: entityType: "priceHistory", leagues NFL, market types Moneyline, historyLastHours: 24, a date range.
  • One game or market: paste the Kalshi or Polymarket URL into Event IDs or URLs.
  • Politics, Fed or weather markets: set Categories (and clear the default Sports), optionally with Search (e.g. Fed, New York).
  • A daily feed of newly settled markets: entityType: "results", mode: "incremental", scheduled daily. Each run returns only what earlier incremental runs with the same filters have not.

Input

FieldWhat it does
platformskalshi, polymarket or both (default). With both, maxItems is split between them.
entityTypemarkets (open), results (settled) or priceHistory.
categoriesSports (default), politics, elections, economics, finance, crypto, weather, culture, tech, world. Empty = all.
leagues27 leagues plus "all" entries per sport (soccer, basketball, hockey, baseball, tennis, golf, MMA, cricket, esports).
marketTypesSports only: moneyline, spread, total, props, futures.
searchEvery word must appear in the event, market or outcome text.
dateFrom, dateToResults: settle date (default the last 7 days). Open markets: event start date.
minVolumeSkip markets with less traded volume.
eventIdsKalshi event tickers/URLs and Polymarket event slugs/URLs; every market of each event.
marketStatusPrice history of settled (default) or open markets.
historyInterval, historyLastHoursminute, hour (default) or day; optionally only the last N hours.
modefull or incremental (results only).
maxItemsRow cap, 50 by default. Clear it for everything.

Good to know

  • No login, no proxy. Both sites have public APIs; the actor reads them at about 10 requests per second each.
  • Kalshi results older than about two months come from Kalshi's archive, which is read series by series. Setting leagues and marketTypes keeps that fast (a whole NBA season of moneylines on both sites: about 3 minutes); all sports without leagues reads about 4,000 series.
  • A Polymarket NFL game has about 300 markets (spreads and totals for every quarter and half, team totals, props). marketTypes: ["moneyline"] keeps one market per game; spreads and totals bring every alternate and period line.
  • Price history size: one market's hourly history over two weeks is about 300 rows. Use historyLastHours or day to keep it small.
  • Polymarket's minute data is fetched in 3-day windows. Over a whole market life, interval: minute without historyLastHours makes many requests.
  • Polymarket trade-level data is not collected: it carries trader wallet addresses and usernames.

FAQ

Why does a Kalshi game have two rows? Kalshi lists each team as its own yes/no contract ("Philadelphia wins", "Dallas wins"). Polymarket lists one market with both teams.

How do I compare Kalshi and Polymarket on the same game? Run both platforms with the same league and market type, then match on teams and event_time.

What is open_interest? The number of Kalshi contracts still held. Polymarket reports it per event, not per market, so it is empty there.

Can I get trades? Kalshi candles include per-interval volume. Individual trades are not collected.

  • Action Network Scraper — US sportsbook odds, public betting splits, line movement, props, injuries and futures.
  • Smarkets Scraper — betting exchange back/lay odds, results and traded-price history.
  • Sports Odds History Scraper — opening and closing lines per sportsbook since 2021 and ATS results since 2006.
  • PGA Tour Scraper — golf results, scorecards, odds, tee times and stats.
  • TennisExplorer Scraper — tennis results back to the 1990s, bookmaker odds per match, match statistics and point-by-point.
  • SofaScore Scraper — results, team statistics, lineups with player ratings, incidents and odds for football, basketball, hockey, tennis and 17 more sports.
  • Flashscore Scraper — results, statistics, lineups, incidents and opening/closing odds from ~20 bookmakers for 17 sports.