Introduction

ProbIntel provides real-time prediction market intelligence through a simple, powerful API. Monitor significant activity, detect market movements, aggregate breaking news, and analyze sentiment across Polymarket, Kalshi, Opinion.trade, and all major prediction markets.

Base URL: https://api.probintel.com

Key Features

  • High-Volume Activity Tracking — Monitor 1000+ tracked wallets with historical performance data
  • Market Movement Detection — Real-time odds shifts and volume patterns
  • Liquidity Analysis — Order book depth and price differential tracking
  • Sentiment Signals — Social and news correlation
  • PredVol™ Index — Proprietary volatility measure for prediction markets
  • News Terminal — Real-time breaking news and market-moving headlines

Quickstart

Get up and running in under 5 minutes.

1. Get Your API Key

Request access to receive your API credentials. We'll reach out within 24-48 hours.

2. Install the SDK

Python
pip install probintel-sdk

3. Make Your First Request

Python
from probintel import ProbIntel

client = ProbIntel(api_key="your_api_key")

# Get active markets
markets = client.markets.list()

# Get high-volume activity
whales = client.whales.activity(min_amount=10000)

# Stream real-time alerts
async for alert in client.stream():
    print(alert)

Authentication

All API requests require authentication via an API key. Request access to receive your credentials.

API Key Authentication

Include your API key in the Authorization header:

Request Headers
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Rate Limits

Rate limits vary by plan:

Plan Requests/Month Rate Limit
Professional 100,000 100 req/min
Enterprise Unlimited Custom

Error Codes

Code Description
401 Invalid or missing API key
429 Rate limit exceeded
500 Internal server error

Markets API

List Markets

GET /markets

Returns a list of all active markets across Polymarket, Kalshi, and Opinion.trade.

Query Parameters

Parameter Type Description
platform string Filter by platform (polymarket, kalshi, Opinion.trade)
category string Filter by category (politics, crypto, sports)
min_volume number Minimum 24h volume in USD
status string active, closed, resolved (default: active)
limit number Max results (default: 50, max: 200)
offset number Pagination offset (default: 0)

Example Request

cURL
curl https://api.probintel.com/markets?platform=polymarket&category=politics&limit=10 \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

JSON
{
  "markets": [
    {
      "id": "pm_abc123",
      "platform": "polymarket",
      "title": "Will Trump win 2024 election?",
      "category": "politics",
      "volume_24h": 24200000,
      "liquidity": 8500000,
      "current_odds": {
        "yes": 0.52,
        "no": 0.48
      },
      "created_at": "2024-01-15T10:30:00Z",
      "ends_at": "2024-11-05T23:59:00Z"
    }
  ],
  "total": 142,
  "limit": 10,
  "offset": 0
}

Get Market Details

GET /markets/{id}

Returns detailed information about a specific market.

Get Market Odds

GET /markets/{id}/odds

Returns historical odds timeseries for a market.

Query Parameters

Parameter Type Description
timeframe string 1h, 24h, 7d, 30d, all (default: 24h)
resolution string 1m, 5m, 15m, 1h, 1d (default: 1h)

Get Market Orderbook

GET /markets/{id}/orderbook

Returns current order book depth and liquidity analysis.

High-Volume Activity API

Get High-Volume Activity

GET /whales/activity

Returns recent high-value transactions from tracked wallets with historical performance data.

Query Parameters

Parameter Type Description
min_amount number Minimum transaction amount in USD (default: 10000)
platform string Filter by platform
timeframe string 1h, 24h, 7d (default: 24h)
min_success_rate number Minimum historical success rate (0-100)
limit number Max results (default: 50, max: 200)

Example Response

JSON
{
  "transactions": [
    {
      "id": "tx_xyz789",
      "wallet_address": "0x742d...8f9a",
      "wallet_success_rate": 68.5,
      "market_id": "pm_abc123",
      "market_title": "Will Trump win 2024 election?",
      "side": "yes",
      "amount_usd": 47000,
      "odds_at_entry": 0.49,
      "timestamp": "2025-01-28T15:23:45Z",
      "platform": "polymarket"
    }
  ],
  "total": 23
}

Get Wallet Performance

GET /whales/wallet/{address}

Returns historical performance and statistics for a specific wallet.

Stream Activity Alerts

WS wss://stream.probintel.com/whales

Real-time WebSocket stream of high-volume transactions as they occur.

WebSocket Example

JavaScript
const ws = new WebSocket('wss://stream.probintel.com/whales');

ws.onopen = () => {
  ws.send(JSON.stringify({
    auth: 'YOUR_API_KEY',
    min_amount: 25000,
    platforms: ['polymarket', 'kalshi']
  }));
};

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log('High-volume transaction:', data);
};

Signals API

Market Movements

GET /signals/movers

Returns markets with the largest odds shifts, volume changes, and momentum patterns.

Query Parameters

Parameter Type Description
timeframe string 1h, 6h, 24h (default: 24h)
min_change number Minimum odds change % (default: 5)
platform string Filter by platform
category string Filter by category
limit number Max results (default: 20, max: 100)

Example Response

JSON
{
  "movers": [
    {
      "market_id": "pm_abc123",
      "title": "Will Trump win 2024 election?",
      "platform": "polymarket",
      "odds_change_24h": 12.3,
      "volume_change_24h": 184.5,
      "current_odds": {
        "yes": 0.52,
        "no": 0.48
      },
      "momentum_score": 87.2,
      "last_updated": "2025-01-28T15:30:00Z"
    }
  ]
}

Sentiment Analysis

GET /signals/sentiment

Returns social sentiment scores and news correlation analysis for markets.

Query Parameters

Parameter Type Description
market_id string Specific market ID (optional)
sources string twitter, reddit, news, all (default: all)
timeframe string 1h, 24h, 7d (default: 24h)

Example Response

JSON
{
  "market_id": "pm_abc123",
  "sentiment_score": 72.5,
  "sentiment_trend": "bullish",
  "mention_volume_24h": 15420,
  "sources": {
    "twitter": {
      "score": 68.2,
      "mentions": 12340
    },
    "reddit": {
      "score": 75.8,
      "mentions": 2140
    },
    "news": {
      "score": 78.5,
      "articles": 47
    }
  },
  "top_keywords": ["election", "polls", "swing states"],
  "divergence": 8.3
}

PredVol™ Volatility Index

GET /signals/predvol

Returns our proprietary volatility measure for prediction markets. Quantifies market uncertainty and rapid odds movements.

Query Parameters

Parameter Type Description
market_id string Specific market ID (optional)
timeframe string 1h, 24h, 7d, 30d (default: 24h)
platform string Filter by platform (polymarket, kalshi, Opinion.trade)
min_volatility number Minimum volatility score (0-100)

Example Response

JSON
{
  "market_id": "pm_abc123",
  "volatility_score": 64.2,
  "volatility_rank": "high",
  "odds_std_dev": 0.087,
  "price_swings_24h": 12,
  "max_swing_magnitude": 0.15,
  "historical_comparison": {
    "avg_7d": 52.3,
    "avg_30d": 48.7
  },
  "timestamp": "2025-01-28T15:30:00Z"
}

Liquidity Depth

GET /signals/liquidity

Returns order book depth analysis and liquidity metrics.

Query Parameters

Parameter Type Description
market_id string Specific market ID (required)
depth_levels number Number of price levels (default: 10)

Price Differentials

GET /signals/arbitrage

Identifies cross-platform price differentials and market inefficiencies.

Example Response

JSON
{
  "opportunities": [
    {
      "market_title": "Will BTC hit $100k by March?",
      "platforms": {
        "polymarket": { "yes": 0.42, "volume_24h": 850000 },
        "kalshi": { "yes": 0.38, "volume_24h": 420000 }
      },
      "spread": 0.04,
      "spread_pct": 10.5,
      "detected_at": "2025-01-28T15:30:00Z"
    }
  ]
}

Volume Spikes

GET /signals/volume-spikes

Detects unusual volume activity relative to historical averages.

Query Parameters

Parameter Type Description
min_multiplier number Minimum volume vs avg (default: 2x)
timeframe string 1h, 6h, 24h (default: 24h)
platform string Filter by platform

Example Response

JSON
{
  "spikes": [
    {
      "market_id": "pm_xyz789",
      "title": "Fed rate decision March 2025",
      "volume_24h": 2450000,
      "avg_volume_7d": 380000,
      "multiplier": 6.4,
      "spike_start": "2025-01-28T12:00:00Z"
    }
  ]
}

Smart Money Flow

GET /signals/smart-money

Aggregates positioning from wallets with >60% historical win rate.

Query Parameters

Parameter Type Description
market_id string Specific market (optional)
min_win_rate number Min wallet win rate % (default: 60)
timeframe string 24h, 7d, 30d (default: 7d)

Example Response

JSON
{
  "market_id": "pm_abc123",
  "smart_money_bias": "yes",
  "confidence": 78.5,
  "yes_volume": 1250000,
  "no_volume": 340000,
  "unique_wallets": 23,
  "avg_wallet_win_rate": 67.2
}

Momentum Score

GET /signals/momentum

RSI-style momentum indicators adapted for prediction markets.

Query Parameters

Parameter Type Description
market_id string Specific market (required)
period number Calculation period in hours (default: 24)

Example Response

JSON
{
  "market_id": "pm_abc123",
  "momentum_score": 72.4,
  "signal": "overbought",
  "trend": "bullish",
  "strength": "strong",
  "reversal_probability": 0.35
}

Consensus Shifts

GET /signals/consensus

Detects when market consensus crosses key thresholds (50%, 75%, etc).

Example Response

JSON
{
  "shifts": [
    {
      "market_id": "pm_abc123",
      "title": "Will Trump win 2024?",
      "previous_consensus": "no",
      "new_consensus": "yes",
      "threshold_crossed": 0.50,
      "current_odds": 0.52,
      "shift_time": "2025-01-28T14:22:00Z"
    }
  ]
}

Time Decay

GET /signals/time-decay

Analyzes how odds typically change as events approach resolution.

Query Parameters

Parameter Type Description
market_id string Specific market (required)

Example Response

JSON
{
  "market_id": "pm_abc123",
  "days_to_resolution": 45,
  "current_odds": 0.52,
  "projected_odds": {
    "7d": 0.54,
    "14d": 0.57,
    "30d": 0.61
  },
  "historical_pattern": "convergent",
  "confidence": 0.72
}

Category Heatmap

GET /signals/heatmap

Returns activity heatmap across categories and platforms.

Example Response

JSON
{
  "categories": {
    "politics": {
      "heat_score": 92,
      "volume_24h": 45000000,
      "active_markets": 234,
      "trend": "rising"
    },
    "crypto": {
      "heat_score": 67,
      "volume_24h": 12000000,
      "active_markets": 156,
      "trend": "stable"
    },
    "sports": {
      "heat_score": 45,
      "volume_24h": 8500000,
      "active_markets": 89,
      "trend": "falling"
    }
  }
}

Custom Alerts

POST /signals/alerts

Create custom alert rules based on signal conditions.

Request Body

JSON
{
  "name": "High volume whale alert",
  "conditions": [
    { "field": "amount_usd", "operator": "gte", "value": 50000 },
    { "field": "wallet_win_rate", "operator": "gte", "value": 65 }
  ],
  "channels": ["webhook", "email"],
  "webhook_url": "https://your-app.com/webhook"
}

Example Response

JSON
{
  "alert_id": "alert_abc123",
  "status": "active",
  "created_at": "2025-01-28T15:30:00Z"
}

News API

Breaking Headlines

GET /news/headlines

Returns real-time breaking news headlines and market-moving events with credibility scoring.

Query Parameters

Parameter Type Description
category string Filter by category (politics, crypto, sports, all)
timeframe string 1h, 6h, 24h (default: 24h)
min_credibility number Minimum source credibility score (0-100)
min_impact string low, medium, high (default: low)
limit number Max results (default: 50, max: 200)

Example Response

JSON
{
  "headlines": [
    {
      "id": "news_xyz456",
      "title": "Federal Reserve announces surprise rate decision",
      "summary": "Fed cuts rates by 0.5%, surprising markets...",
      "source": "Reuters",
      "credibility_score": 95,
      "impact_level": "high",
      "category": "crypto",
      "related_markets": ["pm_abc123", "ks_def456"],
      "url": "https://reuters.com/...",
      "published_at": "2025-01-28T14:30:00Z",
      "keywords": ["fed", "rates", "monetary policy"]
    }
  ],
  "total": 47
}

Event Timeline

GET /news/timeline

Returns chronological timeline of events for a specific market or topic.

Query Parameters

Parameter Type Description
market_id string Specific market ID (required)
start_date string Start date (ISO 8601 format)
end_date string End date (ISO 8601 format)

News Alerts Stream

WS wss://stream.probintel.com/news

Real-time WebSocket stream for breaking news alerts.

WebSocket Example

JavaScript
const ws = new WebSocket('wss://stream.probintel.com/news');

ws.onopen = () => {
  ws.send(JSON.stringify({
    auth: 'YOUR_API_KEY',
    categories: ['politics', 'crypto'],
    min_impact: 'high',
    min_credibility: 80
  }));
};

ws.onmessage = (event) => {
  const alert = JSON.parse(event.data);
  console.log('Breaking news:', alert);
};

Source Credibility

GET /news/sources

Returns list of news sources with credibility scores and historical accuracy.

WebSockets

Real-time streaming data via WebSocket connections. All streams support authentication and filtering.

Connection

Base URL
wss://stream.probintel.com

Authentication

Send your API key in the first message after connection:

JavaScript
const ws = new WebSocket('wss://stream.probintel.com/markets');

ws.onopen = () => {
  ws.send(JSON.stringify({
    auth: 'YOUR_API_KEY',
    platforms: ['polymarket', 'kalshi'],
    categories: ['politics', 'crypto']
  }));
};

Available Streams

Endpoint Description
/markets Real-time market updates and odds changes
/whales High-volume transaction alerts
/news Breaking news headlines
/signals Market movers and volatility alerts

Message Format

JSON
{
  "type": "market_update",
  "market_id": "pm_abc123",
  "platform": "polymarket",
  "odds": {
    "yes": 0.52,
    "no": 0.48
  },
  "volume_24h": 24200000,
  "timestamp": "2025-01-28T15:30:00Z"
}

Heartbeat & Reconnection

Server sends heartbeat every 30 seconds. Implement reconnection logic for dropped connections:

JavaScript
let ws;
let reconnectAttempts = 0;
const maxReconnectAttempts = 5;

function connect() {
  ws = new WebSocket('wss://stream.probintel.com/markets');

  ws.onclose = () => {
    if (reconnectAttempts < maxReconnectAttempts) {
      setTimeout(() => {
        reconnectAttempts++;
        connect();
      }, Math.min(1000 * Math.pow(2, reconnectAttempts), 30000));
    }
  };

  ws.onmessage = (event) => {
    const data = JSON.parse(event.data);
    if (data.type === 'heartbeat') {
      ws.send(JSON.stringify({ type: 'pong' }));
    }
  };
}

Python SDK

Official Python client for ProbIntel API.

Installation

Bash
pip install probintel-sdk

Quick Start

Python
from probintel import ProbIntel

# Initialize client
client = ProbIntel(api_key="YOUR_API_KEY")

# Get active markets
markets = client.markets.list(
    platform="polymarket",
    category="politics",
    limit=10
)

# Get high-volume activity
whales = client.whales.activity(min_amount=10000)

# Stream real-time updates
async for update in client.stream_markets():
    print(f"Market update: {update}")

# Get PredVol volatility index
predvol = client.signals.predvol(timeframe="24h")

# Get breaking news
news = client.news.headlines(
    category="politics",
    min_credibility=80
)

JavaScript SDK

Official JavaScript/TypeScript client for Node.js and browsers.

Installation

Bash
npm install @probintel/sdk

Quick Start

JavaScript
import { ProbIntel } from '@probintel/sdk';

// Initialize client
const client = new ProbIntel({
  apiKey: 'YOUR_API_KEY'
});

// Get markets
const markets = await client.markets.list({
  platform: 'polymarket',
  category: 'politics',
  limit: 10
});

// WebSocket streaming
const stream = client.stream('markets', {
  platforms: ['polymarket', 'kalshi']
});

stream.on('update', (data) => {
  console.log('Market update:', data);
});

// Get high-volume activity alerts
const whales = await client.whales.activity({
  minAmount: 10000
});

// PredVol index
const volatility = await client.signals.predvol({
  timeframe: '24h'
});

Go SDK

Official Go client for ProbIntel API.

Installation

Bash
go get github.com/probintel/probintel-go

Quick Start

Go
package main

import (
    "fmt"
    "github.com/probintel/probintel-go"
)

func main() {
    client := probintel.NewClient("YOUR_API_KEY")

    // List markets
    markets, err := client.Markets.List(&probintel.MarketListParams{
        Platform: "polymarket",
        Category: "politics",
        Limit:    10,
    })

    // Get high-volume activity
    whales, err := client.Whales.Activity(&probintel.WhaleParams{
        MinAmount: 10000,
    })

    // Stream updates
    stream := client.Stream.Markets()
    for update := range stream.Updates {
        fmt.Printf("Update: %+v\n", update)
    }
}

Rust SDK

Official Rust client for ProbIntel API.

Installation

TOML
[dependencies]
probintel = "0.1"

Quick Start

Rust
use probintel::{ProbIntel, MarketListParams};

#[tokio::main]
async fn main() -> Result<(), Box> {
    let client = ProbIntel::new("YOUR_API_KEY");

    // List markets
    let markets = client.markets().list(MarketListParams {
        platform: Some("polymarket".to_string()),
        category: Some("politics".to_string()),
        limit: Some(10),
        ..Default::default()
    }).await?;

    // Get high-volume activity
    let whales = client.whales().activity(10000).await?;

    // Stream market updates
    let mut stream = client.stream().markets().await?;
    while let Some(update) = stream.next().await {
        println!("Update: {:?}", update);
    }

    Ok(())
}