Disclosure: PredScope may receive compensation when you sign up for prediction market platforms through links on this site. This does not influence our ratings or reviews. Learn more.
Home › Guides › Prediction Market API
Free Prediction Market API: Real-Time Odds, Volume & Liquidity Data
Updated March 2026 — A free, public JSON API for prediction market data. No API key required. Get real-time odds from Polymarket and more in seconds.
Quick Start
Need prediction market data right now? One request is all it takes:
curl https://predscope.com/api/markets.json
No API key. No authentication. No sign-up. Returns JSON with live odds, volume, and liquidity for hundreds of prediction markets.
API Endpoint
| Property | Details |
|---|---|
| Method | GET |
| Authentication | None required |
| Rate Limit | 100 requests/hour (fair use) |
| Response Format | JSON (application/json) |
| Update Frequency | Every 5 minutes |
| CORS | Enabled (use from any domain) |
| HTTPS | Required |
Response Format
The API returns a JSON object with a meta object and a markets array. Each market object contains pricing, volume, and outcome data.
Top-Level Structure
{
"meta": { ... },
"markets": [
{
"title": "2026 FIFA World Cup Winner",
"slug": "2026-fifa-world-cup-winner-595",
"url": "/event/2026-fifa-world-cup-winner-595",
"volume": 432222665.75,
"volume_24h": 16333352.32,
"liquidity": 49475505.55,
"categories": ["sports"],
"outcomes": [
{
"title": "Spain",
"probability": 0.1565,
"day_change": 0.001
},
{
"title": "Argentina",
"probability": 0.1420,
"day_change": -0.003
}
]
},
...
]
}
Market Object Fields
| Field | Type | Description |
|---|---|---|
title |
String | Human-readable market name (e.g., "Democratic Presidential Nominee 2028") |
slug |
String | URL-safe identifier for the market |
url |
String | Relative path to the market detail page on PredScope |
volume |
Number | Total all-time trading volume in USD |
volume_24h |
Number | Trading volume in the last 24 hours in USD |
liquidity |
Number | Current liquidity available in the order book in USD |
categories |
Array | List of category tags (e.g., ["politics"], ["sports"], ["crypto"]) |
outcomes |
Array | Array of outcome objects (see below) |
Outcome Object Fields
| Field | Type | Description |
|---|---|---|
title |
String | Name of the outcome (e.g., "Yes", "No", "Spain", "Gavin Newsom") |
probability |
Number | Current probability between 0.0 and 1.0 (multiply by 100 for percentage) |
day_change |
Number | 24-hour change in probability (positive = price up, negative = price down) |
Code Examples
Copy-paste these examples to start pulling prediction market data in seconds.
# Fetch all prediction markets
curl -s https://predscope.com/api/markets.json | head -c 500
# Pretty-print with jq
curl -s https://predscope.com/api/markets.json | jq '.markets[:3]'
# Get only politics markets
curl -s https://predscope.com/api/markets.json | \
jq '[.markets[] | select(.categories[] == "politics")]'
# Get markets sorted by 24h volume
curl -s https://predscope.com/api/markets.json | \
jq '[.markets | sort_by(-.volume_24h)[:10] | .[] | {title, volume_24h}]'
import requests
# Fetch all markets
response = requests.get("https://predscope.com/api/markets.json")
data = response.json()
markets = data["markets"]
print(f"Total markets: {len(markets)}")
# Find the top 5 markets by 24h volume
top_markets = sorted(markets, key=lambda m: m["volume_24h"], reverse=True)[:5]
for market in top_markets:
print(f"\n{market['title']}")
print(f" 24h Volume: ${market['volume_24h']:,.0f}")
print(f" Liquidity: ${market['liquidity']:,.0f}")
for outcome in market["outcomes"][:3]:
pct = outcome["probability"] * 100
chg = outcome["day_change"] * 100
print(f" {outcome['title']}: {pct:.1f}% ({chg:+.1f}%)")
# Filter by category
politics = [m for m in markets if "politics" in m["categories"]]
crypto = [m for m in markets if "crypto" in m["categories"]]
sports = [m for m in markets if "sports" in m["categories"]]
print(f"\nPolitics: {len(politics)} | Crypto: {len(crypto)} | Sports: {len(sports)}")
// Fetch prediction market data (Node.js or browser)
async function getMarkets() {
const res = await fetch("https://predscope.com/api/markets.json");
const data = await res.json();
return data.markets;
}
// Example: Display top movers (biggest 24h changes)
async function topMovers() {
const markets = await getMarkets();
// Flatten all outcomes with their market context
const outcomes = markets.flatMap(m =>
m.outcomes.map(o => ({
market: m.title,
outcome: o.title,
probability: o.probability,
dayChange: o.day_change
}))
);
// Sort by absolute day change
outcomes.sort((a, b) => Math.abs(b.dayChange) - Math.abs(a.dayChange));
console.log("Top 10 Movers (24h):");
outcomes.slice(0, 10).forEach(o => {
const pct = (o.probability * 100).toFixed(1);
const chg = (o.dayChange * 100).toFixed(1);
console.log(` ${o.outcome} (${o.market}): ${pct}% (${chg > 0 ? "+" : ""}${chg}%)`);
});
}
topMovers();
// Example: Poll for updates every 5 minutes
setInterval(async () => {
const markets = await getMarkets();
console.log(`[${new Date().toISOString()}] ${markets.length} markets loaded`);
}, 5 * 60 * 1000);
Use Cases
The PredScope API is used by developers, researchers, and traders to build tools on top of prediction market data. Here are the most common applications:
For Developers
- Portfolio trackers — monitor your prediction market positions
- Trading bots — trigger alerts when odds shift
- Odds dashboards — custom views of markets you care about
- Discord/Telegram bots — post odds updates to your server
- Arbitrage scanners — compare prices across platforms
For Researchers
- Academic research — study prediction market accuracy
- Data journalism — track probabilities for news stories
- Market microstructure — analyze volume and liquidity patterns
- Forecasting models — combine with polls and other signals
- Visualization projects — charts and interactive graphics
Use the API to build a live election odds dashboard. Filter markets by "categories": ["politics"], sort by volume, and display the top candidates with their current probabilities. Update every 5 minutes for near real-time tracking.
Poll the API every 5 minutes and compare day_change values. When any outcome moves more than 5% in a day, send a notification via Telegram, Slack, or email. Useful for catching breaking news before it hits mainstream media.
API Comparison: PredScope vs Polymarket vs Kalshi
How does the PredScope API compare to the official prediction market platform APIs?
| Feature | PredScope API | Polymarket CLOB API | Kalshi REST API |
|---|---|---|---|
| Authentication | None | API Key + Signing | API Key + OAuth |
| Price | Free | Free | Free |
| Setup Time | < 1 minute | 15-30 minutes | 10-20 minutes |
| Rate Limit | 100 req/hour | Varies by endpoint | 100 req/minute |
| Data Format | Simple JSON | Complex JSON + WebSocket | REST JSON |
| Market Data | Yes (read-only) | Yes | Yes |
| Place Trades | No | Yes | Yes |
| Order Book | No | Yes (full depth) | Yes |
| Multiple Platforms | Yes (aggregated) | Polymarket only | Kalshi only |
| Best For | Reading odds, dashboards, research | Trading, market making | Trading on Kalshi |
When to use PredScope: You want to read prediction market odds and data quickly without any setup. Ideal for dashboards, bots, research, and price tracking.
When to use official APIs: You need to place trades programmatically, access full order book depth, or build a trading bot that executes on a specific platform. You will need the Polymarket or Kalshi API for that.
Rate Limits & Fair Use
The API is free and open, but we ask that you follow these guidelines to keep it available for everyone:
| Limit | Details |
|---|---|
| Requests per hour | 100 (per IP address) |
| Recommended poll interval | Every 5 minutes (data refreshes at this rate) |
| Burst requests | No more than 5 requests in 10 seconds |
| Caching | Cache responses locally for at least 60 seconds |
If you exceed the rate limit, you will receive a 429 Too Many Requests response. Wait a few minutes and retry. There is no penalty or ban for occasional overages.
Need Higher Limits?
Building something that requires more than 100 requests/hour? Contact us and we can discuss higher rate limits for your project.
Tips & Best Practices
- Cache locally. Data updates every 5 minutes. Polling more frequently wastes your rate limit and returns identical data.
- Use
volume_24hfor sorting. This surfaces the most actively traded markets. Markets with high 24h volume are where the action is. - Filter by category. Use the
categoriesarray to show only markets in your area of interest (politics, crypto, sports, etc.). - Watch
day_changefor signals. A largeday_changevalue often indicates breaking news or a major shift in sentiment. Great for alert bots. - Combine with other data. Merge prediction market probabilities with polling data, financial data, or social media signals for richer analysis.
- Credit PredScope. If you use the API in a project, we appreciate a link back to predscope.com.
Frequently Asked Questions
Is the PredScope prediction market API free?
Yes, completely free. No API key, no authentication, no sign-up required. The endpoint is publicly accessible at https://predscope.com/api/markets.json. We ask that you stay within the fair-use limit of 100 requests per hour.
What data does the API return?
The API returns a JSON object containing a markets array. Each market includes the title, slug, URL, total volume, 24-hour volume, liquidity, categories, and an array of outcomes. Each outcome has a title, current probability (0-1), and 24-hour price change. See the response format section above for full details.
How often is the data updated?
Market data is refreshed every 5 minutes. Prices, volumes, and liquidity figures reflect near real-time conditions. Polling more than once per 5 minutes will return identical data and waste your rate limit.
Do I need an API key?
No. Unlike the official Polymarket CLOB API or Kalshi REST API, the PredScope API requires no API key, no OAuth tokens, and no account registration. Just send a GET request to the endpoint and you will receive JSON data immediately.
Can I use this data in my own app or website?
Yes. You can use the API data in personal and commercial projects, including apps, dashboards, bots, and websites. We ask that you credit PredScope as the data source with a link to predscope.com. Do not resell the raw data feed.
How does this compare to the official Polymarket API?
The PredScope API is designed for simplicity: one endpoint, no auth, clean JSON. The official Polymarket CLOB API is more powerful but significantly more complex. It requires API key generation, request signing with private keys, and understanding the CLOB (Central Limit Order Book) architecture. Use PredScope for reading data; use the Polymarket API if you need to place trades.
What happens if I exceed the rate limit?
You will receive a 429 Too Many Requests HTTP response. There is no ban or penalty. Simply wait a few minutes and retry. To avoid hitting the limit, cache responses locally and poll no more than once every 5 minutes.
Want to Trade on These Markets?
The API gives you the data. To actually trade, sign up for a prediction market platform. Polymarket offers the deepest liquidity and near-zero fees.
Start Trading on Polymarket → Compare All PlatformsRelated Guides
- What Are Prediction Markets? — Introduction for beginners
- Prediction Market Arbitrage — Cross-platform profit strategies
- How to Trade on Polymarket — Step-by-step trading guide
- Polymarket Review 2026 — Full platform review
- Kalshi Review 2026 — Alternative platform review
- Crypto Prediction Markets — BTC, ETH, and crypto trading
- Prediction Market Accuracy — How accurate are the odds?
- Best Prediction Markets 2026 — All platforms ranked
- Polymarket vs Kalshi — Detailed comparison
- Prediction Market Glossary — Key terms explained
See also: Kalshi API — learn more about Kalshi API.