OddsJam

Summary

OddsJam is a sports betting data platform built specifically for serious sports bettors and model builders. Unlike broad sports media APIs, OddsJam is focused on odds comparison, market efficiency analysis, and value bet identification. Its flagship feature is the most complete historical odds dataset available for backtesting — including opening lines, closing lines, and full line movement history for major US sports and soccer.

The platform offers real-time odds from 30+ sportsbooks, tools for identifying +EV bets, sharp book comparisons (Pinnacle vs. soft books), and a backtesting engine. Pricing starts around $199/month for the professional plan which includes historical odds access, API access, and the full toolset.

Key Features

  • Historical odds feed: Opening, closing, and full line movement history dating back years. This is the main differentiator — OddsJam has the deepest historical dataset for backtesting.
  • Line movement tracking: Tracks how odds shift from opening to close across all bookmakers — essential for understanding market dynamics and steam moves.
  • Sharp book comparison: Automatically compares odds at sharp bookmakers (Pinnacle, BetCRIS) against soft books (FanDuel, DraftKings) to identify market inefficiencies.
  • +EV detection: Built-in tools that compare model probabilities to current odds and flag positive expected value opportunities.
  • Backtesting engine: Web-based backtesting with P&L tracking, CLV analysis, and ROI metrics.

Data Available

Data Available Notes
Pre-game odds ✅ 30+ bookmakers, real-time
Historical odds ✅ Opening, closing, full movement history
Live odds ✅ In-play for major sports
Line movement ✅ Full history of odds changes
Match results ❌ Not provided
Statistics ✅ Basic team stats for context

Pricing

  • Basic: Entry-level plan with real-time odds but limited history
  • Pro: ~$199/month — full historical access, API access, backtesting tools
  • Pro+: Higher request limits, faster data refresh
  • Annual plans available at discount
  • Free trial may be available

Python Integration

import requests

API_KEY = "your-oddsjam-api-key"
BASE_URL = "https://api.oddsjam.com/v2"

# Get closing odds for a specific game
headers = {"Authorization": f"Bearer {API_KEY}"}
url = f"{BASE_URL}/odds"
params = {
    "sport": "nfl",
    "bookmakers": "pinnacle,draftkings,fanduel",
    "market": "spread",
    "game_date": "2024-09-08",
}
response = requests.get(url, params=params, headers=headers)
data = response.json()

# Compare closing odds across books
for game in data["games"]:
    pinnacle = [b for b in game["books"] if b["name"] == "pinnacle"][0]
    soft_avg = sum(b["closing_odds"] for b in game["books"] if b["name"] != "pinnacle") / (len(game["books"]) - 1)
    print(f"CLV vs market: {(pinnacle['closing_odds'] - soft_avg) / soft_avg:.2%}")

Notes

  • OddsJam is US-market focused; NFL, NBA, MLB, NHL, college sports are the core coverage
  • Soccer coverage exists but is thinner than dedicated soccer APIs
  • The backtesting engine is browser-based — for programmatic backtesting, use the API directly
  • Historical odds data is the key differentiator for model validation: the closing line dataset enables proper CLV testing against Pinnacle's closing lines
  • $199/mo is a significant cost for individual bettors; justify via backtesting results showing model edge before committing
  • Not a statistics or event data source — pair with API-Football or Sportradar for match-level data