Prediction market data,
unified and searchable
17.1M+ markets from Polymarket and Kalshi in one consistent schema. Query by platform, status, or date — via REST API or direct SQL.
Get Started17.1M+
Markets indexed
2
Platforms unified
2020
Data since
<1min
Refresh interval
One schema for all platforms
Polymarket uses condition IDs and token pairs on Polygon. Kalshi uses event hierarchies and series tickers. We receive updates via WebSocket and normalize both into one clean, consistent data model in near real-time.
- Python SDK — client.markets() returns typed models or a dataframe
- REST API with filtering by platform, status, and date range
- Direct SQL queries via ClickHouse on the markets table
- Monthly Parquet file exports for bulk analysis
| Field | Type | Description |
|---|---|---|
| id | UUID | Internal market id |
| platform | Enum8('POLYMARKET', 'KALSHI', …) | Source venue |
| platform_id | String | Native market id |
| title | String | Market question |
| category | LowCardinality(String) | Category |
| market_type | Enum8('BINARY', 'MULTIPLE', 'SCALAR', …) | Market structure |
| outcomes | Array(Tuple(...)) | Outcomes with ids and names |
| status | Enum8('PENDING', 'ACTIVE', 'PAUSED', 'CLOSED', 'RESOLVED') | Lifecycle status |
| opened_at | Nullable(DateTime64(3)) | Opened for trading |
| closes_at | Nullable(DateTime64(3)) | Trading close |
| resolves_at | Nullable(DateTime64(3)) | Expected resolution |
Query markets via API
Fetch markets with powerful filtering. Paginated responses, consistent format across all platforms.
{
"data": [
{
"id": "06960165-09b7-55bc-bf39-d639e854e474",
"platform": "POLYMARKET",
"title": "BTC above $100k?",
"status": "ACTIVE",
"market_type": "BINARY",
"outcomes": [{ "name": "Yes", "index": 0 }],
"closes_at": "2026-12-31T00:00:00Z"
}
],
"meta": { "total": 17100000, "page": 1 }
}Query markets with SQL
Connect to ClickHouse and run analytical queries directly on the markets table. Count markets by type, track resolutions, or export results.
-- Market counts by platform and status SELECT platform, status, count() as market_count FROM markets FINAL GROUP BY platform, status ORDER BY market_count DESC
Coverage
Platform breakdown
Markets from every major prediction market platform, normalized to one schema.
| Platform | Markets | Since | Type | Status |
|---|---|---|---|---|
| Polymarket | 2.8M+ | Oct 2020 | Blockchain (Polygon) | Live |
| Polymarket Perpetuals | Full coverage | May 2026 | Perpetual futures | Live |
| Kalshi | 14.3M+ | Jul 2021 | US-regulated (CFTC) | Live |
| Kalshi Perpetuals | Full coverage | Jun 2026 | Perpetual futures (CFTC) | Live |
Figures as of August 2026.
Use Cases
What you can do with market data
Market Discovery
Search and filter across 17.1M+ markets from all platforms. Find markets by platform, status, or date.
Market Analytics
Analyze market creation patterns, market-type mix, and resolution rates across platforms.
Cross-Platform Comparison
Compare how each venue structures its markets — both land in the same tables, so you can line them up your way.
Automated Monitoring
Track new market creation, status changes, and resolutions programmatically via the API.
Ready to query prediction market data?
Access 17.1M+ markets from Polymarket and Kalshi through one unified API.
Sign up nowAlso explore: Trade data·Orderbook data