Prediction Market Data API
Pull signals, markets, and historical odds from Kalshi, Polymarket, sportsbooks, and 500+ sources through one integration. Use REST or WebSocket, and start with the SDKs if you want the fastest path to a working request.
TL;DR
This page is for builders who need normalized market data in one integration, not just a front-end dashboard.
Best For
Bots, research pipelines, dashboards, backtests, and teams comparing build-vs-buy on market data infrastructure.
Recommended Next Step
Start with quickstart, then move to SDKs or examples once you have the first request working.
Start Here
Get your API key, use EVSIGNALS_API_KEY, and make one small authenticated request.
Then
Inspect the signals response shape before expanding into markets, history, alerts, or storage.
Add Later
Bring in WebSocket streaming once your REST flow is stable and you know which updates matter.
What the API offers
Everything you need to build prediction market applications, from real-time data feeds to deep historical archives.
Need Setup First?
Start with account creation, install steps, and the first working request.
Need SDK Details?
Go deeper on retries, async support, type safety, and client configuration.
Need Working Scripts?
Jump to recipes for alerts, arbitrage, portfolio tracking, and backtests.
Real-Time Odds Feeds
WebSocket streams deliver sub-50ms odds updates from every connected platform. Subscribe to specific markets, platforms, or event categories. Receive push updates on price changes, volume spikes, and new market listings.
REST API
RESTful endpoints for markets, odds, events, settlements, and historical data. JSON responses with consistent schema across all platforms. Pagination, filtering, and sorting built in.
500+ Normalized Sources
Data from Kalshi, Polymarket, PredictIt, Manifold, Metaculus, major sportsbooks, and hundreds of other sources -- all normalized into a single consistent schema. No more maintaining separate integrations.
Historical Data
Tick-level historical data going back to each platform's launch. Query by market, platform, date range, and resolution status. Export to CSV, JSON, or Parquet for analysis in any tool.
Code examples
Get started in minutes with our SDKs or use the REST API directly with cURL.
import evsignals
# Initialize the client
client = evsignals.Client(api_key="evs_test_your_api_key_here")
# Start with a small filtered signals request
signals = client.signals.list(
min_ev=0.02,
markets=["kalshi", "polymarket"],
status="active",
limit=10
)
for signal in signals.data:
print(f"{signal.market} | {signal.contract_name} | {signal.ev_percent}% EV")
# Then retrieve odds history for a market you care about
odds_history = client.markets.odds(
"mkt_abc123",
interval="1h",
start_date="2026-01-01"
) import EVSignals from 'evsignals';
// Initialize
const client = new EVSignals({ apiKey: 'evs_test_your_api_key_here' });
// Start with a small filtered signals request
const signals = await client.signals.list({
minEv: 0.02,
markets: ['kalshi', 'polymarket'],
status: 'active',
limit: 10
});
signals.data.forEach(signal => {
console.log(`${signal.market} | ${signal.contractName} | ${signal.evPercent}% EV`);
});
// Then retrieve odds history for a market
const oddsHistory = await client.markets.odds('mkt_abc123', {
interval: '1h',
startDate: '2026-01-01'
}); # Start with a small filtered signals request
curl -H "Authorization: Bearer evs_test_your_api_key_here" \
"https://api.evsignals.com/v1/signals?min_ev=0.02&markets[]=kalshi&markets[]=polymarket&status=active&limit=10"
# Retrieve market details
curl -H "Authorization: Bearer evs_test_your_api_key_here" \
"https://api.evsignals.com/v1/markets/mkt_abc123"
# Get odds history for a market
curl -H "Authorization: Bearer evs_test_your_api_key_here" \
"https://api.evsignals.com/v1/markets/mkt_abc123/odds?interval=1h&start_date=2026-01-01" What you can build
The API powers a wide range of applications across trading, research, media, and automation.
Build Trading Bots
Connect to real-time WebSocket feeds and execute automated trading strategies across multiple prediction market platforms. React to price movements in milliseconds.
Academic Research
Access historical tick-level data going back to platform launch dates. Study market efficiency, calibration, information aggregation, and the wisdom of crowds.
Backtesting Strategies
Test your prediction market strategies against years of historical data before risking real capital. Evaluate edge persistence, drawdown, and profitability across market regimes.
Custom Dashboards
Build internal tools, monitoring dashboards, or public-facing prediction market visualizations. Power any frontend with real-time odds data from every platform.
Alert Systems
Monitor specific markets or price levels and trigger notifications via webhooks when conditions are met. Detect steam moves, arbitrage windows, or settlement events.
Data Journalism
Embed real-time prediction market data in articles, newsletters, or media reports. Provide readers with live probability estimates alongside your analysis.
API specifications
| Protocol | REST (HTTPS) + WebSocket (WSS) |
| Base URL | https://api.evsignals.com/v1 |
| Authentication | Bearer token (API key) |
| Response Format | JSON |
| Data Sources | 500+ platforms, sportsbooks, and exchanges |
| Latency | <50ms (real-time feeds) |
| Historical Data | Tick-level, back to platform launch dates |
| SDKs | Python, Node.js (TypeScript) |
| Rate Limits | Free: 1K/day | Pro: 100K/day | Enterprise: Unlimited |
Getting started
Go from zero to live data in under 5 minutes.
Sign up and get your API key
Create a free EVSignals account. Your API key is available immediately from the dashboard. The free tier includes 1,000 requests per day -- enough to prototype and test.
Create account →Install the SDK
Choose your language and install the SDK. Both provide full TypeScript/type hint support.
pip install evsignals npm install evsignals Make your first request
Initialize the client with your API key and query a small page of filtered signals first. The quickstart guide walks through the first working request and the response fields to inspect before you add more logic.
Connect to real-time streams
For live applications, connect to the WebSocket endpoint. Subscribe to markets by ID, category, or platform and receive push updates with sub-50ms latency.
Explore the full documentation
The API documentation covers every endpoint, authentication, rate limits, error handling, and advanced features. The SDK reference provides typed method signatures for Python and Node.js.
API pricing
Start free, scale as you grow. All plans include access to normalized data from every connected source.
Pro
- 100,000 requests/day
- REST + WebSocket access
- Full historical data
- Priority support
Enterprise
- Unlimited requests
- Dedicated infrastructure
- Custom integrations
- SLA guarantee
Start building with prediction market data
One API, 500+ sources, real-time and historical data. From first request to production in minutes.
FAQ
What should I request first? +
Start with a small filtered signals request, inspect the response shape, and then expand into market details, odds history, or WebSocket streams.
Should I use cURL or an SDK? +
Use cURL if you want to inspect raw JSON quickly. Use the Python or Node.js SDK when you are already integrating the API into an application or data workflow.
When should I add WebSocket streaming? +
Add WebSocket after your REST flow is working. It is most valuable for latency-sensitive alerts, trading systems, and monitoring applications.