Sports data API

All of sports data at your fingertips.

The most comprehensive sports API on the planet. Play-by-play, weather, betting odds, daily fantasy, and prediction markets — across every major league. Normalized, cleaned, and connected. One API key.

Pitch-by-pitch, one request
curl https://api.stat-api.com/api/v1/mlb/pitches?limit=2 \
  -H 'Authorization: Bearer trial_demo'
{
  "pitches": [
    {
      "id": 884213,
      "at_bat_id": 1029481,
      "pitch_number": 3,
      "pitch_type": "FF",
      "release_speed": 97.4,
      "release_spin_rate": 2412,
      "plate_x": -0.31,
      "plate_z": 2.84,
      "description": "swinging_strike"
    }
  ],
  "limit": 2,
  "next_from_id": 884214
}
8
Leagues & markets
180+
Endpoints
1 key
Every sport
REST
JSON, cursor-paged
The difference

The data most APIs don't have.

Box scores are a commodity. We go deeper. Weather at every stadium. Live betting lines and player props. Possession-level and pitch-by-pitch play-by-play. Prediction-market trade tapes. The signal that actually moves a model — organized by league, ready to query.

  • Stadium & venue weather for every game
  • Betting odds: game lines, period lines, player props
  • Play-by-play down to the possession, pitch, and shot
  • Daily-fantasy salaries, projections, and contest results
  • Kalshi & Polymarket prediction-market price history
NFL weather, joined to the game
GET /api/v1/nfl/game_weathers/{game_id}
{
  "game_id": 4017,
  "temperature_f": 28,
  "wind_mph": 19,
  "wind_bearing": 310,
  "precip_prob": 0.42,
  "humidity": 0.71,
  "roof": "outdoor",
  "surface": "grass"
}
Coverage

Every major sport. Every layer of the game.

NFL
Football
Games, NGS, weather, odds, depth charts, play-by-play
NBA
Basketball
Possession-level play-by-play, props, lineups, referees
MLB
Baseball
Pitch-by-pitch Statcast, park factors, umpires, weather
NHL
Hockey
Scoring plays, line combinations, goalie depth, odds
PGA
Golf
Shot-by-shot ShotLink/TrackMan, leaderboards, courses
DFS
Daily Fantasy
Slates, salaries, projections, contests, lineups
Kalshi
Prediction markets
Binary contracts, price candles, trade tape
Polymarket
Prediction markets
Outcome tokens, OHLC, order books, trades
Depth

Granularity you can build on.

Play-by-play, all the way down

NBA possessions. MLB pitches with release speed, spin, and plate coordinates. PGA shots with ShotLink and TrackMan radar. NFL drives and participation. The raw event stream, not a summary.

Weather & venue context

Temperature, wind, precipitation, roof, and surface for every game — already joined to the matchup. Plus park factors, stadium dimensions, and venue metadata.

Betting markets

Game lines, period lines, alternate lines, and player props across operators. Resolve them to the underlying game through one cross-sport view.

Players, teams & context

Rosters, depth charts, coaching staffs, injuries, news, draft, contracts, combine, and standings — the context every model needs around the numbers.

Polymarket price history
GET /api/v1/polymarket/price_histories?token_id=...&limit=1
{
  "price_histories": [
    { "token_id": "0x9a...", "t": "2026-06-21T19:00:00Z",
      "open": 0.61, "high": 0.66, "low": 0.59, "close": 0.64 }
  ],
  "limit": 1,
  "next_from_id": null
}
Build models

Fuel for your edge.

Pair daily-fantasy salaries and projections with live prediction markets to backtest and build. DraftKings-style slates, player pools, and contest results sit right next to Kalshi binary contracts and Polymarket outcome tokens — same API, same shape, ready to join against the play-by-play.

  • DFS slates, player salaries & multi-source projections
  • Contest results, entrants & winning lineups
  • Kalshi YES/NO contracts, candles & settlements
  • Polymarket tokens, OHLC, order books & trade tape
Connected

Normalized, cleaned, and connected.

Every sport speaks the same language. Consistent schemas, stable IDs, and one cross-sport view that resolves any bet or DFS slate to the underlying game. Cursor-based pagination that never skips or duplicates. One API key for everything — no per-sport contracts, no stitching feeds together.

  • One consistent schema across all 8 leagues & markets
  • Cross-sport competition resolution out of the box
  • Keyset (cursor) pagination — stable, fast, complete
  • Zero-config TypeScript & Python clients
For developers

Start in three lines.

Plain REST over HTTPS. Bearer-token auth. JSON in, JSON out. Use the trial key to explore, then drop in your own.

curl https://api.stat-api.com/api/v1/nba/play_by_plays?limit=5 \
  -H "Authorization: Bearer YOUR_API_KEY"
Pricing

Industry-leading access. Honest pricing.

Pick one sport, or take them all. Every plan is the full API for your data — no row caps, no metered surprises.

Limited time — All Sports is 50% off.
One Sport
$99/mo
300 req/min · one league of your choice
All Sports
$399.99$199/mo
1,200 req/min · every league & market
Commercial
Let's talk
Redistribution & high-volume use

Ship your first query today.

Explore every endpoint with the trial key, then grab your own. No sales call required.