Prediction Markets API — Kalshi & Polymarket Odds
Pricing
from $2.80 / 1,000 markets
Prediction Markets API — Kalshi & Polymarket Odds
Kalshi and Polymarket in one table: implied probability, yes and no price, best bid and ask, 24h move, volume, liquidity and close date for every market. Election odds, sports and economic event contracts, with price history and order book. No API key.
Pricing
from $2.80 / 1,000 markets
Rating
0.0
(0)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Prediction Markets API puts Kalshi and Polymarket into one table. Every market comes back with the implied probability in per cent, the yes and no price, best bid and ask, the 24-hour move, volume, liquidity, the close date and a link — the same field names for both venues, so you can sort, filter and chart the whole prediction market at once instead of writing two clients.

Five modes: markets (one row per tradable contract), events (one row per question with every outcome and its probability), search by keyword, price history, and the order book. Both APIs are public: no key, no proxy, no browser. A run over both venues takes a few seconds.
What is Prediction Markets API?
It is a data feed for people who watch what the crowd actually prices: traders, journalists, researchers, dashboard builders and AI agents that get asked "what are the odds the Fed cuts in September". Kalshi is the CFTC-regulated US exchange; Polymarket is the global crypto-settled venue. Their questions overlap on the big themes — rates, elections, wars, crypto, sport — and their prices do not always agree.
What data does it return?
Markets
| Field | Example |
|---|---|
platform, marketId, slug | kalshi · KXOAIANTH-40-OAI · same ticker |
question, shortTitle, eventTitle | Will OpenAI or Anthropic IPO first? — OpenAI |
probability, yesPrice, noPrice | 6.0 (per cent) · 0.06 · 0.94 |
bestBid, bestAsk, spread, lastPrice | 0.05 · 0.07 · 0.02 · 0.06 |
priceChange24h | -0.03 — the move in price, so ±0.03 is three points of probability |
volume, volume24h, volume1w, liquidity, openInterest | 171,344 · 4,120 · … |
status, result | open · empty until it settles |
openTime, closeTime, endDate | ISO 8601 |
category, tags | Economics · ["Fed Rates", "Politics"] |
outcomes | [{name: "Yes", price: 0.06, probability: 6.0}, {name: "No", …}] |
rules, url | resolution text · link to the market |
Polymarket rows also carry image and clobTokenIds; Kalshi rows carry seriesTicker, marketType and strikeType.
Events
One row per question with outcomes sorted most likely first, favourite and favouriteProbability, outcomeCount, total volume and liquidity, and a ready summary sentence. This is the shape for "who will win" questions: one row for Brazil Presidential Election with all five candidates and their probabilities, instead of five separate contracts.
Price history and order book
History returns one row per point with time, price and probability — a week at hourly resolution by default, up to 90 days. The order book returns both sides with price and size per level.
How much does it cost?
Pay per row, and only for rows you actually get:
| Event | Price |
|---|---|
| Market | $0.004 |
| Event | $0.002 |
| Price point | $0.0004 |
| Order book snapshot | $0.003 |
Error rows are never charged. There is no browser and no proxy — two public JSON APIs — so platform usage on top of that is negligible.
| Job | Cost |
|---|---|
| 500 markets across both venues | $2.00 |
| 100 markets with 30 days of price history | $1.60 |
| A daily 200-market snapshot for a month | $24.00 |
Comparable prediction-market Actors charge $0.004 to $0.012 per row and usually cover one venue; this one returns Kalshi and Polymarket in the same schema.
How to use it
- Leave 🏛️ Platforms on both, or pick one.
- Choose 📋 What to get: markets, events, search, history or order book.
- Narrow with 🔍 Keyword (
fed,election,bitcoin), 🏷️ Category — several at once,Politics, Crypto— and a depth filter: 💧 Minimum volume for how much has traded, 💧 Minimum liquidity for how much is resting in the book (Polymarket publishes this, Kalshi does not), or 📈 Minimum open interest for how many contracts are still open (Kalshi's own measure). Both venues list thousands of near-empty contracts, and a volume floor of 1000 keeps the ones people actually trade. - Sort by 24-hour volume, total volume, liquidity, closing date, probability or biggest 24-hour move.
- Click Start, then export as JSON, CSV or Excel, or read the dataset through the API.
⬇️ Input
{"platforms": ["kalshi", "polymarket"],"mode": "markets","query": "fed","minVolume": 1000,"sortBy": "volume24h","maxMarkets": 200}
Events with all outcomes
{ "mode": "events", "category": "Politics", "minVolume": 5000, "maxMarkets": 50 }
Price history for specific markets
{ "mode": "history", "marketIds": ["KXOAIANTH-40-OAI"], "historyDays": 30 }
Leave marketIds empty and the Actor takes the most active markets instead.
⬆️ Output
{"type": "market","platform": "kalshi","marketId": "KXOAIANTH-40-OAI","question": "Will OpenAI or Anthropic IPO first? — OpenAI","eventTitle": "Will OpenAI or Anthropic IPO first?","category": "Companies","probability": 6,"yesPrice": 0.06,"noPrice": 0.94,"bestBid": 0.05,"bestAsk": 0.07,"spread": 0.02,"lastPrice": 0.06,"priceChange24h": -0.01,"volume": 171344.62,"volume24h": 2840,"liquidity": 18220.5,"openInterest": 40639.56,"status": "open","closeTime": "2027-12-31T15:00:00Z","outcomes": [{ "name": "Yes", "price": 0.06, "probability": 6 },{ "name": "No", "price": 0.94, "probability": 94 }],"url": "https://kalshi.com/markets/kxoaianth","scrapedAt": "2026-09-04T01:00:00.000Z"}
A venue that fails to answer arrives as a type: "error" row with the reason, never as a silently short list.
Use cases
Watching a theme across both venues
Filter on fed or election and get every contract on both exchanges in one table, with the probability each one implies.
Dashboards and newsletters
Sort by 24-hour move to see what repriced overnight, or by closing date for what resolves this week.
Research
Pull price history for a set of markets and study how the crowd's estimate moved against the news.
Bots and alerts
Schedule the run and alert when a probability crosses a threshold you care about.
AI agents
An agent asked "what do prediction markets say about a September rate cut" runs the search mode and reads probability straight off the rows.
🤖 For AI Agents & LLM Apps
Compact reference for agents calling this Actor through the Apify MCP server or the Apify API (lergassy/prediction-markets-api).
Purpose: returns what prediction markets currently price for a question, from Kalshi and Polymarket in one shape. Use it for "what are the odds of X", "which markets moved most today", "what does the crowd think about the election".
Minimal input:
{ "query": "fed", "minVolume": 1000, "maxMarkets": 50 }
Output: one row per market — platform, marketId, question, eventTitle, category, tags, probability (per cent, the number to quote), yesPrice, noPrice, bestBid, bestAsk, spread, lastPrice, priceChange24h, volume, volume24h, liquidity, openInterest, status, openTime, closeTime, outcomes, rules, url, scrapedAt. Event mode returns outcomes sorted by probability with favourite and a summary sentence; history mode one row per price point; order-book mode one row per market with both sides.
Behaviors an agent should know:
probabilityis the field to quote, in per cent.yesPriceis the same number as a price between 0 and 1, because one contract pays $1 if the event happens.priceChange24his a change in price, so 0.03 means three percentage points of probability.- Both venues list thousands of near-empty markets. Always pass
minVolume(1000 is a good floor) or the answer fills with noise. - Filters are applied by this Actor, not by the venues:
querymatches the question, event title and tags;categorymatches Kalshi categories and Polymarket tags. - A run across both venues interleaves them so neither fills the page; the two report volume on different scales, so compare probabilities, not volumes.
- The venues word the same question differently, so do not assume a Kalshi market and a Polymarket market with similar wording are the same contract. Read both and say which venue each number came from.
- History needs
marketIds; without them the Actor uses the most active markets. Polymarket history needs the market's CLOB token, which comes from the markets mode. - Neither API needs a key and no proxy is used.
Election odds and event contracts in one table
Kalshi and Polymarket price the same kinds of questions and format them differently. This Actor normalises both into one row shape — implied probability, yes and no price, best bid and ask, 24-hour move, volume, liquidity and close date — so election odds, economic releases and sports contracts can be compared side by side without writing two parsers.
Kalshi API and Polymarket API without keys
Both venues publish open endpoints, and both change shape often. The Actor handles pagination, the differing price conventions and the end-of-list quirks, and returns the same fields whichever venue a market came from.
❓ FAQ
Is this financial advice or a trading tool?
No. It reads public market data and returns it as a table. It places no orders and holds no positions. What you do with the numbers is your business, and prediction markets are restricted or illegal in some jurisdictions.
Why do Kalshi and Polymarket disagree on the same event?
Different user bases, fees, settlement rules and wording. The gap is real information, but the questions are rarely identical — check the resolution rules in the rules field before treating two markets as the same bet.
Is the probability the true chance of the event?
It is what the market pays, which is the crowd's price after fees and risk appetite. Treat it as a market price, not a forecast from a model.
How fresh are the numbers?
Live at the moment of the run: both APIs serve current order-book state. Schedule the Actor for a time series of your own.
Do I need an account on either venue?
No. Both APIs used here are public and read-only.
Can I use it with the Apify API or an MCP server?
Yes. It runs from the API and the official clients, and AI agents reach it through the Apify MCP server without extra setup.
Your feedback
Missing a field, or a venue you want added? Open an issue on the Issues tab — every one gets answered.
You might also like
| Actor | What it does |
|---|---|
| Sports Scores & Schedules API | Live scores, schedules and betting lines for 33 leagues |
| Google Flights Scraper | Live flight prices, layovers and booking options |
| US New Business Leads | Newly registered US businesses with checked contacts |
| Email Verifier & Phone Number Validator | Checks e-mails and phone numbers in bulk |
Also known as
People look for this Actor as a prediction markets API, a Kalshi API, a Polymarket API, an event contracts feed, prediction market odds, election odds, implied probability data, and betting market data.