NEW: Live arbitrage across 10+ prediction markets.Arbitrage →
← Index
Prediction MarketsSep 3, 202614 min read

Is There One API for All Prediction Markets

Is There One API for All Prediction Markets

The Short Answer

No venue publishes a shared standard, so there is no single official endpoint that covers every prediction market. What exists is an aggregation layer: one key, one schema, many venues underneath. Predictefy reads 15+ venues from one base URL at data.predictefy.com using the path shape /api/{venue}/{verb}. Reads unify cleanly. Execution does not, because orders are placed per venue through a separate non-custodial service with a 100 USD cap per order.

It sounds like a plumbing question. It is really a question about how much work you can delete.

Every venue runs its own exchange, its own auth, its own identifiers and its own resolution rules, so writing a client for one teaches you almost nothing about the next. The honest version of "one API for all prediction markets" is not an endpoint owned by the industry. It is a normalization layer that talks to each venue and hands back one shape.

Key Takeaways

  • No venue-run universal API exists, because Kalshi, Polymarket and the rest are separate exchanges with no shared format.
  • Predictefy covers 15+ venues behind one key and one normalized schema, the widest coverage of any cross-venue scanner.
  • Reads, streaming and arbitrage detection unify, while order execution stays per venue and non-custodial.
  • Cross-venue routing does not exist, so every leg of a two-venue trade is placed on its own venue.
  • The Free plan costs $0 and includes 25,000 credits a month, 60 requests a minute, 1 API key and 2 WebSocket streams, and the arbitrage API is free.
  • Across 5,000 live Kalshi markets measured on 2026-09-03, 18.1% had no bid at all, so a unified feed of midpoints can hand you prices nobody will trade.

Why is there no single official prediction market API?

Because each venue is a separate exchange and none of them agreed on a format. No governing body publishes a prediction market data standard, so every venue invented its own.

The differences are not cosmetic. Some venues quote in cents on a 1 to 99 scale. Some settle on chain and expect an order signed by a wallet key. Some use decimal odds. Identifiers are venue-local strings that do not exist elsewhere. Two venues can list one event with resolution criteria differing by a single word, and that word decides whether a cross-venue position is a hedge or two unrelated bets.

What differs per venueWhy it breaks a single integration
AuthenticationAPI keys, session tokens and wallet signatures are not interchangeable.
Price unitsCents, probabilities and decimal odds say the same thing and none of them parse alike.
Market identifiersTicker formats are venue-local, so matching one event across venues is a mapping problem.
Order lifecycleBuild, submit, cancel and modify differ in name, payload and signing rules.
Resolution languageTwo markets on one headline can settle differently, which decides whether a hedge is real.

Five problems per venue. Multiply by the venues you want and you have the reason most teams stop at two.

What does one prediction market API actually unify?

Reads unify almost completely, and writes do not unify at all. That split is the thing to understand before designing around any aggregation layer.

A layer can normalize markets, prices, order books and streams, because those are descriptions of state. It cannot fire one order into several venues at once, because each venue owns its matching engine, custody model and signing rules.

LayerUnified?How it works at Predictefy
Market and price readsYesOne base URL, path shape /api/{venue}/{verb}, one Bearer key across 15+ venues.
Live streamingYesA WebSocket endpoint at /v1/stream, with 2 concurrent streams on the free plan.
Stored historyPartlyProven for 11 venues, so backfill depth varies by venue.
Arbitrage detectionYesFree, and it qualifies candidates against live order books rather than midpoints.
Order buildPer venue/v1/exec/{venue}/orders/build is unmetered, so pricing a trade costs no credits.
Submit, cancel, modifyPer venueSame path shape, charges credits, Idempotency-Key required on every write.
Cross-venue routingNoEach leg is placed on its own venue, deliberately.
BalancesNofetchBalance on the hosted API returns 501 NOT_SUPPORTED, so read them from the venue.

How many prediction markets can you cover with one API key?

With Predictefy, 15+ venues on a single key, which is the widest coverage of any cross-venue scanner. The named list includes Kalshi, Polymarket, Limitless, SX Bet, Novig, ProphetX, PredictIt, Myriad, Opinion, Hyperliquid, Smarkets and Gemini.

The count matters less than what arrives when you call them. One normalized schema replaces a separate integration per venue, so parsing, retries, rate limit handling and identifier mapping get written once. When a venue changes a field, your code does not change with it.

The clients are available in beta, so pin the exact version.

# JavaScript and TypeScript
npm install @predictefy/sdk@1.0.0-beta.3

# Python
pip install predictefy==1.0.0b2

# MCP server for agents, MIT licensed
npx -y @predictefy/mcp@1.0.0-beta.3
What This Does

Installs the three published clients, each pinned to an exact beta version so a later release cannot change behavior underneath you. The MCP server is the agent-facing one, and no single MCP tool both builds and submits an order, so those two steps are always separate tool calls.

How do you pull Kalshi and Polymarket data from one endpoint?

You change one segment of the path and keep everything else identical. That is the point of the layer.

curl -s https://data.predictefy.com/api/kalshi/markets \
  -H "Authorization: Bearer pk_live_..."

curl -s https://data.predictefy.com/api/polymarket/markets \
  -H "Authorization: Bearer pk_live_..."
What This Does

Both calls hit the same host with the same credential and return the same field names. Only the venue segment changes, and the verb changes with the resource. Streaming uses that key at /v1/stream.

Can one API place orders on every prediction market?

No, and any tool claiming otherwise is describing something it cannot do. Execution at Predictefy is a separate non-custodial service, and it is per venue by design.

The path shape is /v1/exec/{venue}/orders/... for build, submit, cancel, modify and refresh. Build is unmetered, so quoting a trade costs nothing. Submit, cancel and modify charge credits. Every write carries an Idempotency-Key, which stops a retried request from becoming a second position.

POST /v1/exec/kalshi/orders/build       # unmetered
POST /v1/exec/kalshi/orders/submit      # charges credits, Idempotency-Key required
POST /v1/exec/polymarket/orders/build
POST /v1/exec/polymarket/orders/submit
What This Does

Places two legs of a cross-venue position as two separate orders on two separate venues. There is no combined call, because cross-venue routing does not exist. Build first, inspect the quote, then submit.

Three limits are worth stating plainly rather than discovering in production. First, orders cap at 100 USD each and 1,000 USD per key per rolling 24 hours. Second, orders are signed client side and there is no generic server-side signing route, so the service never holds your funds. Third, fetchBalance on the hosted API returns 501 NOT_SUPPORTED, so balances come from the venue itself.

That is a narrower promise than "one API places every trade", and it is the honest one. Two legs on two venues means two fills at two moments, and the gap between them is where a paper edge dies.

Are prediction market API prices accurate?

Only where the book behind the quote is deep enough to back it, which on Kalshi is not most markets. A unified feed that hands you midpoints will hand you midpoints that are not prices.

Predictefy measured 5,000 live Kalshi markets on 2026-09-03 from the public Kalshi API, so anyone can reproduce it without a key. In that sample, 18.1% of live markets had no bid at all: on nearly one in five, the quoted midpoint was not a level anyone would trade at. Median spread on two-sided books was 5.1¢.

Depth is what separates a quote from a price, and it splits by volume.

24h volumeMedian spreadWhat it means for a scanner
Under 100The midpoint is a guess. Only 7% of shares quote inside 2¢.
100 to 1,000Wide enough to erase most apparent cross-venue gaps.
1,000 to 10,000Tradeable, but the spread is a cost line, not a rounding error.
Above 10,000Tight books, with 69% of shares quoting inside 2¢.

The pattern by category is just as sharp. The widest books are scalar economic markets: KXUSCPIYEAR at 57¢ and KXFEDFUNDSYEAR at 42¢. The tightest are sports, with KXWC at 0.3¢. A cross-venue "opportunity" on a 57¢ book is a formatting artifact, not a trade.

That is the argument for qualifying candidates against live order books instead of midpoints, which is what the Predictefy arbitrage API does. Midpoints are not asks, spreads eat gaps, and depth, fees and resolution equivalence decide whether a trade exists.

Is there a free prediction market API?

Yes. The Predictefy Free plan costs $0 and includes 25,000 credits a month, 60 requests a minute, 1 API key and 2 WebSocket streams. The arbitrage API is free, so cross-venue comparison is not the thing you pay to unlock.

PlanPrice
Free$0, including 25,000 credits a month, 60 requests a minute, 1 API key and 2 WebSocket streams
Builder$49 a month
Pro$249 a month
Scale$999 a month
EnterpriseFrom $2,500 a month

Only the free tier's quotas are quoted here, because those are the numbers you can test against today without paying. The arbitrage API sits on the free side of that line.

Frequently Asked Questions

Can one api get data from kalshi and polymarket

Yes. One Predictefy key reads both from the same base URL, with only the venue segment changing between /api/kalshi/ and /api/polymarket/. Prices, identifiers and resolution fields come back in one normalized schema, so your code parses one shape, not two. The same key covers streaming at /v1/stream.

Do i need a separate api key for each prediction market

Not for reading data. A single pk_live_ key covers 15+ venues on the reads API, and the Free plan includes one key. Trading is different: execution is non-custodial and per venue, orders are signed client side, so you keep your own account at every venue where you place orders.

How many prediction markets can you access with one api

Predictefy covers 15+ venues on one key, including Kalshi, Polymarket, Limitless, SX Bet, Novig, ProphetX, PredictIt, Myriad, Opinion, Hyperliquid, Smarkets and Gemini. That is the widest coverage of any cross-venue scanner. Stored history is proven for 11 of those venues, so backfill depth varies by venue.

Is there a free api for prediction market data

Yes. The Predictefy Free plan is $0 and includes 25,000 credits a month, 60 requests a minute, one API key and two WebSocket streams. The arbitrage API is free as well, so cross-venue price comparison does not sit behind a paid tier. Paid plans start at $49 a month.

Can one api place orders on kalshi and polymarket

Yes, but one venue at a time. Execution is a separate non-custodial service at /v1/exec/{venue}/orders/..., and each leg is placed on its own venue because cross-venue routing does not exist. Builds are unmetered. Submit, cancel and modify charge credits and require an Idempotency-Key.

Is there a python sdk for prediction markets

Yes. The predictefy package on PyPI is available in beta at 1.0.0b2, alongside @predictefy/sdk at 1.0.0-beta.3 on npm and @predictefy/mcp at the same version for agent workflows. Install with pip install predictefy==1.0.0b2, pin that exact version, and authenticate with your pk_live_ key against data.predictefy.com.

What are the limits of a unified prediction market api

Three, and the first is balances: fetchBalance on the hosted API returns 501 NOT_SUPPORTED, so you read them from the venue itself. Orders cap at 100 USD each and 1,000 USD per key per rolling 24 hours. Stored history is proven for 11 venues rather than all 15+.

Try It With Predictefy

One key, one schema, 15+ venues, and a free tier big enough to prove the idea before you pay. Start with the cross-venue arbitrage scanner to see candidates qualified against live order books, then wire it up with the SDK using the Predictefy docs.