Skip to main content

Probalytics

Clean, unified prediction market data. One API. Multiple access methods. Aggregate data from Polymarket, Kalshi, and more into a single normalized dataset. Choose how you access it: REST API, raw SQL, the Python client, or bulk exports.

REST API

Query via HTTP with auth

SQL (ClickHouse)

Direct database connection

Python Client

Typed models and dataframes

File Downloads

Parquet exports

The Problem

Prediction market data is fragmented across exchanges with different APIs, formats, and schemas. Polymarket needs blockchain indexing. Kalshi has its own REST API. Building cross-platform analysis means maintaining multiple integrations and handling data inconsistencies.
What we solved:
  • ✓ Unified API across exchanges
  • ✓ Normalized data schema
  • ✓ Dataset-specific historical coverage with source timestamps
  • ✓ Continuous updates
  • ✓ Multiple access methods for your workflow

Data Available

Three core datasets, continuously updated:

Markets

Market metadata: title, outcomes, category, status, lifecycle timestamps, and resolution data

Fills

Recorded executions: price, size, taker side, timestamp, and available participant IDs

Orderbook snapshots

Full bid/ask depth per outcome for Orderbook and Custom ClickHouse tiers
Prediction markets and perpetual instruments share these datasets. Join fills to markets and inspect market_type before interpreting units: perpetual prices are instrument prices, not probabilities.
Coverage depends on dataset, source, product, and access tier. “All retained history” means all retained rows available to the account, not guaranteed coverage back to venue launch. See the Datasets overview for coverage, normalization rules, and known exclusions.

Supported Exchanges

Access Methods

Choose what fits your workflow:

REST API

Query via HTTP with simple authentication. Best for: production applications, quick integrations.
  • Authentication: API key in header
  • Resources: markets and fills
  • Operational traffic protections may apply; no fixed REST request quota is currently published
  • Response format: JSON

SQL (ClickHouse)

Direct database connection. Best for: data analysis, batch operations, complex queries, dashboards.
  • Connect from: Python, Node.js, Go, DBeaver, etc.
  • Full SQL support: aggregations, joins, window functions
  • Performance: optimized for analytics

File Downloads

Bulk Parquet exports. Best for: local analysis, research, backups, data science pipelines.
  • Format: Parquet
  • Frequency: weekly (fills), monthly (markets)
  • See File Downloads

Use Cases

Trading

Build bots, alerts, dashboards. Track prices across platforms. Detect opportunities.

Research

Market efficiency analysis. Forecast accuracy studies. Information aggregation patterns.

Arbitrage

Find price spreads. Match markets across exchanges. Identify inefficiencies.

Backtesting

Test strategies against historical data. Validate models. Performance analysis.

Next Steps

Quickstart

Get working code in 2 minutes

Datasets

Coverage, provenance, normalization, and known limitations

SQL Guide

Tables, schemas, queries

File Downloads

Bulk Parquet exports

Common Queries

Query patterns for markets, fills, and orderbooks

Need Help?