Skip to main content
Developer API

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.

REST + WebSocket 500+ Sources <50ms Latency Python & Node.js SDKs

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.

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.

Python pip install evsignals
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"
)
Node.js npm install evsignals
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'
});
cURL Direct REST API access
# 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.

1

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 →
2

Install the SDK

Choose your language and install the SDK. Both provide full TypeScript/type hint support.

pip install evsignals npm install evsignals
3

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.

4

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.

5

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.

Free

$0/mo
  • 1,000 requests/day
  • REST API access
  • 7-day historical data
Start Free Trial
Most Popular

Pro

$99/mo
  • 100,000 requests/day
  • REST + WebSocket access
  • Full historical data
  • Priority support
Start Free Trial

Enterprise

Custom
  • Unlimited requests
  • Dedicated infrastructure
  • Custom integrations
  • SLA guarantee
Contact Sales

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.