Imagine you want to track how the market prices a single economic event across Kalshi, Polymarket, and ForecastEx. On paper, that sounds like a simple dashboard. In practice, it means three different APIs, three ways of identifying the same market, and three response formats to reconcile before you can draw a single chart.
That problem grows with every new venue. Prediction markets now span regulated US exchanges, on-chain protocols, play-money communities, and event contracts from established crypto platforms, and none of them share a common data model.
This is the gap FinFeedAPI is built to fill. Its Prediction Markets API brings nine exchanges under one standardized schema, so developers can query markets, trades, order books, and history the same way, regardless of where the data comes from.

For developers, that growth comes with a messy truth. Every venue exposes its own API, its own market identifiers, its own naming conventions, and its own idea of what a "market" even looks like. Want a dashboard that tracks the same event across three platforms? Now you are maintaining three integrations, three data models, and three sets of edge cases.
That is exactly the problem FinFeedAPI is trying to solve.
In this review, I'll walk through what FinFeedAPI's Prediction Markets API covers, what data you actually get, what the endpoints look like in practice, what it costs, and where it falls short, so you can decide whether it fits your stack.
TL;DR
| Provider | FinFeedAPI by API Bricks (also behind CoinAPI) |
| Exchanges covered | 9 prediction market venues |
| Data | Markets and metadata, trades, quotes, order books, OHLCV, historical flat files |
| Access | REST, JSON-RPC, hosted MCP server, Flat Files (S3) |
| Mode | Read-only market data, request-response (no WebSocket stream) |
| Pricing | Free credits to start, then usage-based from $1 per 1,000 requests |
| Best for | Cross-exchange dashboards, research, backtesting, AI agents |
What Is FinFeedAPI?

FinFeedAPI is a financial data provider built by API Bricks, the same company behind CoinAPI. Alongside its Stock, Currencies, and SEC APIs, it offers a Prediction Markets API that gives you standardized access to market data from nine prediction market exchanges through one integration.
The idea is simple: instead of learning nine APIs, you learn one. Market IDs, outcomes, timestamps, and response structures follow the same schema no matter which exchange the data came from.
A few engineering details stood out to me while going through the docs:
- Unified data model across every supported exchange
- Standardized market IDs that include the outcome, for example
..._YESand..._NO - ISO 8601 UTC timestamps on every endpoint
- Consistent numeric precision, up to 19 digits with 9 decimal places
- Four ways in: REST, JSON-RPC, a hosted MCP server, and Flat Files
One thing to be clear about upfront: FinFeedAPI is a read-only market data layer. It does not place orders. If your product needs execution, you will still use each exchange's native API for that part.

Supported Prediction Market Platforms
FinFeedAPI currently covers nine venues, spanning regulated exchanges, decentralized protocols, on-chain outcome markets, and a play-money community.
| Platform | Type | What it covers |
|---|---|---|
| Polymarket | Decentralized | Politics, economics, crypto, sports, and global events |
| Kalshi | Regulated (CFTC) | US event contracts on economic indicators, elections, weather, sports, and more |
| ForecastEx | Regulated (CFTC) | US event contracts, including economic and financial outcomes |
| Gemini Prediction Markets | Regulated | Event contracts on sports, crypto, economics, politics, and other topics |
| Crypto.com Prediction Markets | Regulated | Event-based contracts on Crypto.com's prediction markets platform |
| Myriad | Decentralized | Crypto, current events, and other outcomes |
| Pascal | Decentralized | Noncustodial prediction markets built on Solana |
| Hyperliquid Outcome Markets (HIP-4) | On-chain outcome markets | Binary and multi-outcome event contracts on Hyperliquid's native infrastructure |
| Manifold Markets | Social, play-money | Community-driven markets on a broad range of topics |
The mix is what makes this interesting. Comparing how a regulated venue, a crypto-native venue, and a play-money crowd price the same event is where cross-exchange research gets valuable. It is also where a normalized schema saves the most time.
What Data Can You Access?

This is where FinFeedAPI earns its keep. Most prediction market tools stop at the latest price. FinFeedAPI exposes the whole market, from discovery through to order book depth and history.
All REST endpoints live under https://api.prediction-markets.finfeedapi.com/v1.
| Dataset | Endpoint | What you get |
|---|---|---|
| Exchanges | GET /exchanges and /exchanges/{exchange_id} |
Supported venues, exchange IDs, descriptions, websites |
| Active markets | GET /markets/{exchange_id}/active |
A compact list of currently active market IDs |
| Market listings | GET /markets/{exchange_id}/history |
Full market records with cursor-based pagination: titles, descriptions, outcomes, prices, status |
| Single market | GET /markets/{exchange_id}/{market_id} |
Metadata for one market |
| Current activity | GET /activity/{exchange_id}/{market_id}/current |
Latest trade plus latest bid and ask |
| Recent activity | GET /activity/{exchange_id}/{market_id}/latest |
Recent trades and quote updates |
| Historical trades and quotes | GET /activity/{exchange_id}/{market_id}/history/trades and /history/quotes |
Historical records served from flat files |
| Current order book | GET /orderbook/{exchange_id}/{market_id}/current |
Bids and asks for a market outcome |
| Historical order book | GET /orderbook/{exchange_id}/{market_id}/history |
Raw limit order events (adds, updates, deletes) for book reconstruction |
| OHLCV | GET /ohlcv/periods, /ohlcv/{exchange_id}/{market_id}/history, /latest, /ohlcv/{exchange_id}/history |
Candles with open, high, low, close, volume, and trade count |
A few things worth knowing:
- Discovery is two-step. The
/activeendpoint returns IDs only, because it is derived from recent quotes and trades. You call/historyor the single-market endpoint for full details. - OHLCV periods run from seconds up to years, and historical candles come back in ascending time order, which is what you want for backtesting.
- Historical order book data is event-level, not just snapshots. That opens the door to market replay and liquidity research.
- Lifecycle and resolution data covers open, closed, resolved, and suspended statuses, with resolution information where the source exchange supports it.
Getting Started: Your First Requests
Onboarding is quick. You create a free account, generate an API key from the console, and you start with free credits.
For REST and JSON-RPC, you pass the key in the Authorization header. The docs also accept X-APIKey, X-APIBricks-Key, and X-CoinAPI-Key.
1. List the supported exchanges
Start here to get the exact exchange_id values you will use everywhere else.
curl -X GET "<https://api.prediction-markets.finfeedapi.com/v1/exchanges>" \
-H "Authorization: YOUR_API_KEY"
2. Discover active markets
curl -X GET "<https://api.prediction-markets.finfeedapi.com/v1/markets/POLYMARKET/active?limit=10>" \
-H "Authorization: YOUR_API_KEY"
This returns a plain list of market IDs, each with its outcome baked in:
[
"WILL-TRUMP-SELL-10K-25K-GOLD-CARDS-IN-2025_YES",
"WILL-TRUMP-SELL-10K-25K-GOLD-CARDS-IN-2025_NO",
"NFL-PIT-CAR-2025-08-21-SPREAD-AWAY-5PT5_YES"
]
3. Get the latest trade and quote
curl -X GET \
"<https://api.prediction-markets.finfeedapi.com/v1/activity/POLYMARKET/WILL-TRUMP-SELL-10K-25K-GOLD-CARDS-IN-2025_YES/current>" \
-H "Authorization: YOUR_API_KEY"
The response gives you the latest trade together with the latest bid and ask for that outcome.
4. Pull historical OHLCV in Python
This is the call I'd reach for first when building a probability chart or a backtest.
import requests
API_KEY = "YOUR_API_KEY"
BASE = "<https://api.prediction-markets.finfeedapi.com/v1>"
headers = {"Authorization": API_KEY}
market_id = "WILL-TRUMP-SELL-10K-25K-GOLD-CARDS-IN-2025_YES"
resp = requests.get(
f"{BASE}/ohlcv/POLYMARKET/{market_id}/history",
headers=headers,
params={"period_id": "1DAY", "limit": 30},
)
resp.raise_for_status()
for candle in resp.json():
print(candle["time_period_start"], candle["price_close"], candle["volume_traded"])
Each candle includes time_period_start, time_period_end, price_open, price_high, price_low, price_close, volume_traded, and trades_count. Call /ohlcv/periods to see every supported period_id.
5. Check order book depth
curl -X GET \
"<https://api.prediction-markets.finfeedapi.com/v1/orderbook/POLYMARKET/WILL-TRUMP-SELL-10K-25K-GOLD-CARDS-IN-2025_YES/current>" \
-H "Authorization: YOUR_API_KEY"
The snapshot returns exchange_id, market_id, time_exchange, time_coinapi, plus bids and asks arrays. That is enough to compute spreads and top-of-book imbalance.
If you would rather not write raw HTTP, API Bricks publishes official SDKs (Python, Node.js, Go, C#, and others) in its GitHub SDK repo.
Beyond REST: MCP, JSON-RPC, and Flat Files
Every interface exposes the same standardized datasets. You pick the one that matches your architecture.
| Interface | Auth header | Best for |
|---|---|---|
| REST API | Authorization |
Dashboards, analytics, production apps |
| JSON-RPC API | Authorization |
Services that prefer RPC-style calls over the same data |
| Hosted MCP server | X-APIKey |
AI assistants, coding agents, research workflows |
| Flat Files (S3) | S3-compatible credentials | Bulk history for backtesting and machine learning |
The MCP server is the standout
From my perspective, this is the most forward-looking part of the product. Instead of teaching an agent your API docs, you point it at a hosted MCP endpoint and it discovers the tools itself.
Setup is a few lines of config in Cursor, Claude Desktop, or any MCP-enabled client:
{
"mcpServers": {
"FinFeedAPI-Prediction-Markets": {
"url": "<https://api.prediction-markets.finfeedapi.com/mcp>",
"headers": {
"X-APIKey": "YOUR_API_KEY_HERE"
}
}
}
}
The server currently exposes tools for:
- Exchange discovery:
exchanges_list,exchanges_get - Market discovery:
markets_get_active,markets_get_history - Live activity:
activity_get_current,activity_get_latest - Historical trades and quotes:
activity_get_trades_history,activity_get_quotes_history - OHLCV:
ohlcv_list_periods,ohlcv_get_latest_market,ohlcv_get_history_market,ohlcv_get_history_exchange - Order books:
orderbook_get_current,orderbook_get_history
That means you can ask an agent something like "find the most active Kalshi markets and show me how their odds moved this week" and it can chain discovery, activity, and OHLCV calls on its own.
One note if you set up an older FinFeedAPI MCP connection: the endpoint moved from /sse to /mcp, so older configs need updating.
Flat Files for heavy history
For large-scale research, pulling years of data through paginated REST calls is slow. Flat Files give you bulk trades, quotes, order books, and OHLCV through an S3-compatible API, so you can use the S3 tools and SDKs you already know.
Pricing

FinFeedAPI uses credit-based, usage-based pricing. You start with free credits, then pay per request.
On Pay As You Go, the first 1,000 requests per day cost $5 per 1,000, and anything beyond 1,000 per day drops to $1 per 1,000. Committed plans lower that rate.
| Plan | Monthly | Rate per credit | Notable extras |
|---|---|---|---|
| Pay As You Go | No commitment | $1.00 | AI and email support, self-serve onboarding |
| Committed 64 | $64 | $0.85 | AI-assisted onboarding |
| Committed 256 | $256 | $0.75 | AI-assisted onboarding |
| Committed 512 | $512 | $0.70 | Slack support, dedicated Slack channel |
| Committed 1024 | $1,024 | $0.65 | 99.9% uptime SLA, customer success rep, human onboarding |
| Enterprise | Custom | Custom | Custom SLAs, latency optimizations, dedicated infrastructure |
Committed plans do not reduce what you use. They give you more credits for the same spend, and once those credits run out, extra usage is billed at the Pay As You Go rate. Annual billing is also available.
My take: for prototypes and research, Pay As You Go is fine. If you are polling many markets every few seconds, run the numbers first. FinFeedAPI publishes pricing use cases for dashboards, order book monitoring, and OHLCV backfills that make estimating much easier.
Where FinFeedAPI Falls Short
No API is perfect, and a review that skips the trade-offs is not much use. Here is what to keep in mind:
- No order execution. It is a data layer only. Trading bots still need native exchange APIs to place orders.
- No WebSocket stream for prediction markets. Current data comes through request-response calls, so "live" means polling. For latency-sensitive strategies, that is a real constraint, and frequent polling adds to your bill.
- The first 1,000 daily requests are the most expensive. At $5 per 1,000 versus $1 per 1,000 after that, very small projects pay a higher effective rate than busy ones.
- Resolution data depends on the source. Lifecycle and resolution details are only as complete as what each exchange exposes.
- Normalization is a trade-off. A unified schema is the whole point, but if you rely on a field unique to one venue, check the data samples before you commit.
None of these are deal-breakers for analytics, research, or AI use cases. They matter most if you are building a high-frequency trading system.
Who Should Use FinFeedAPI?
Strengths
- Nine prediction market venues behind one schema
- Full market lifecycle: discovery, trades, quotes, order books, OHLCV, history
- Event-level historical order book data for replay
- Hosted MCP server that works with Cursor and Claude Desktop
- Bulk Flat Files for research and machine learning
- Usage-based pricing with free credits to start
Best For
- Multi-exchange dashboards that compare odds across venues
- Quant researchers and analysts backtesting prediction market strategies
- Forecasting and ML teams that need clean historical OHLCV
- Liquidity analytics built on order book depth and spreads
- AI teams building agents that reason about real-world events
- Academic and economic research on how crowds price outcomes
Probably Not For
- Bots that need to place orders
- Strategies that need a push-based, sub-second stream
Final Thoughts

Prediction markets are growing faster than most teams can integrate them. Every new venue brings new identifiers, new formats, and new maintenance work.
FinFeedAPI does not try to be an exchange. It focuses on one job: turning nine fragmented venues into one consistent data layer. Markets, trades, quotes, order books, OHLCV, and deep history all come back in the same shape, through REST, JSON-RPC, MCP, or Flat Files.
Go in knowing it is read-only and request-response, and it fits a wide range of products, from forecasting dashboards to AI research agents.
Nine venues. One schema. One API key. Less plumbing, more building.
Website: finfeedapi.com/products/prediction-markets-api
API documentation: Prediction Markets REST API docs
Prediction markets are growing faster than most teams can integrate them. Every new venue brings new identifiers, new formats, and new maintenance work.
FinFeedAPI does not try to be an exchange. It focuses on one job: turning nine fragmented venues into one consistent data layer. Markets, trades, quotes, order books, OHLCV, and deep history all come back in the same shape, through REST, JSON-RPC, MCP, or Flat Files.
Go in knowing it is read-only and request-response, and it fits a wide range of products, from forecasting dashboards to AI research agents.
Nine venues. One schema. One API key. Less plumbing, more building.
Website: finfeedapi.com/products/prediction-markets-api
API documentation: Prediction Markets REST API docs



