MLB & NHL Sports Stats API (Official Data) avatar

MLB & NHL Sports Stats API (Official Data)

Pricing

from $2.40 / 1,000 stat-rows

Go to Apify Store
MLB & NHL Sports Stats API (Official Data)

MLB & NHL Sports Stats API (Official Data)

Teams, schedules, standings and rosters for MLB and NHL straight from the official league APIs - no API key, no login, no proxy. Deterministic flat rows for analytics, fantasy and AI agents.

Pricing

from $2.40 / 1,000 stat-rows

Rating

0.0

(0)

Developer

Team Kamkod

Team Kamkod

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Sports Stats API — MLB & NHL (Official Data)

Six datasets, two leagues, one actor. Teams, schedules, standings, rosters (with player bios), full season player stats and league leaders for MLB and NHL, straight from the official league APIs (statsapi.mlb.com, api-web.nhle.com, api.nhle.com) — no API key, no login, no browser, no proxy. Deterministic flat rows that read cleanly as JSON or CSV — built for fantasy models, betting analytics, dashboards, and AI agents.

Why this actor?

  • Two leagues, not one — the only multi-sport official-API stats actor: MLB and NHL (teams, standings, skaters/goalies) under a single input.
  • One flat event — every row (any dataset, any league) charges the same stat-row, no per-mode surprises, no run-start fee on top.
  • Full season player stats — ~1 600 MLB hitting/pitching lines, ~1 000 NHL skater/goalie lines, canonical field names across both leagues.
  • Player bios included — MLB roster rows carry birth date, city, height, weight, bats/throws and MLB debut date, not just a name and a jersey number.
  • Official source, updated live — no scraping of third-party pages, no selector to break when a site redesigns.
  • Honest by design — runs that return nothing cost nothing; NHL team identity documented (abbreviation, no numeric id on the official API).

Datasets (per league, selectable)

DatasetContent
teamsTeams with id, name, city, division/conference (MLB 30 / NHL 32)
scheduleGames for one date (default today) with status + scores when played
standingsDivision/conference standings: GP, W, L (+ OT, points for NHL), win %, streaks
rostersAll 30/32 teams — player id, name, position, jersey + MLB player bios
player-statsFull season player stats: MLB hitting + pitching, NHL skaters + goalies
leadersTop-N per stat (default 25, configurable 1-100): HR/AVG/RBI/SB/OBP/OPS, W/ERA/K/SV (MLB) — points/goals/assists/±/GWG, W/GAA/SHO (NHL). Categories selectable
boxscoresMLB only — per team-in-game: runs, hits, errors, RBI, LOB (one date)

Rows are flat and carry league, dataset, plus season/id fields:

{ "league": "MLB", "dataset": "standings", "season": "2026", "teamId": 119,
"teamName": "Los Angeles Dodgers", "division": "NL West",
"gamesPlayed": 138, "wins": 96, "losses": 42, "winPct": 0.696 }
{ "league": "NHL", "dataset": "player-stats", "season": "20252026",
"group": "skater", "playerId": 8478406, "playerName": "Connor McDavid",
"abbreviation": "EDM", "points": 138, "goals": 42, "assists": 96 }

Input

  • leagues — MLB and/or NHL (default both)
  • datasets — teams / schedule / standings / rosters / player-stats / leaders / boxscores
  • seasonsMlb / seasonsNhlmulti-season per run (e.g. ["2024","2025","2026"], MLB back to 1876); NHL: rosters/player-stats/leaders per season, standings current only
  • mlbGameType — R (default), S spring, E exhibition, A all-star, F wild card, D division series, L league championship, W world series, P postseason (standings/schedule)
  • mlbLeaderCategories / nhlLeaderCategories — optional subsets (default all)
  • date — schedule/boxscores date, YYYY-MM-DD (default today UTC)
  • leadersLimit — players per stat for leaders (1-100, default 25)
  • maxItems — hard cap on rows pushed and charged (default 20 000; excess dropped with a warning)

Pricing

stat-row$0.003 / row pushed — below single-sport equivalents on the store for the same official-API data, with NHL and full season stats included at no extra. No run-start fee, no minimum. Runs returning nothing cost nothing. Infrastructure (HTTP-only, official endpoints) is near-zero, so the price holds margin at any volume.

Honest notes

  • Official APIs are keyless but unofficial — endpoints can change; monitoring in place.
  • NHL has no numeric team id on these endpoints: team identity = abbreviation (TOR, COL…).
  • Off-season schedule dates legitimately return 0 rows for NHL.
  • NBA is NOT in v1: its CDN blocks datacenter IPs (403 Akamai) — would need proxies, excluded by design.

Roadmap

  • v1.1 ✅: leaders + season player stats (MLB hitting/pitching, NHL skaters/goalies)
  • v1.2 ✅: multi-seasons per run, MLB gameType, boxscores, selectable leader categories, maxItems cap, MLB roster player bios
  • v1.3: NHL boxscores, NHL playoffs bracket, date-range player splits, more leagues whose official APIs stay keyless (gated 09/2026: NBA = 403 Akamai, WNBA = 403, AHL refused, EuroLeague DNS)