Sports Data: NFL, NBA, MLB, NHL & Football Scores icon

Sports Data: NFL, NBA, MLB, NHL & Football Scores

Scores, schedules, player box scores, betting odds (opening and closing lines, movement), standings and rosters for NFL, NBA, MLB, NHL, college, Premier League, LaLiga, Bundesliga, Serie A, Champions League, MLS, F1, tennis, golf, UFC. Only-new.

$3 per 1,000 game, standing, team or player+ Box-score player line $1 per 1,000updated 2026-11-01
Try it

Build the input, get the call

Change any field; the code on the right follows. Copy it, or run the same input on Apify.

One or more leagues. Box scores, teams and rosters cover team sports; standings also cover F1 (drivers, constructors) and ATP/WTA (singles rankings).

Games give scores, status, venue, TV, team records, leaders, key events (goals, cards) and odds where shown. Odds give opening and current (closing after the game) moneyline, spread and total per sportsbook, fair win probability, line...

Dates (games and box scores)

1 = yesterday and today.

Upcoming fixtures, e.g. 7 for the next week's schedule.

YYYY-MM-DD; replaces Days back.

YYYY-MM-DD; replaces Days ahead. Up to about one season per run.

Box scores always use finished games.

Filters

Team or player names or abbreviations, e.g. Lakers, KC, Arsenal, Sinner. Empty = all.

Tennis matches only: singles, doubles or both.

The season's year as ESPN numbers it, e.g. 2026 for the 2025-26 NBA season. Empty = current.

Most rows returned per run.

Monitoring

Schedule the Actor and each run returns only what earlier runs did not deliver. A game comes again when its status changes (scheduled, live, final), so a daily run with Game status = Final gives each result once.

Output

What you get back

The fields every row has.

FieldWhat it holds
league, name, date, endDate, season, seasonType, week, session, drawThe game
status, state (pre, in, post), completed, statusDetailWhere it stands
homeTeam, homeScore, awayTeam, awayScore, winner, resultThe score
competitors (team or player, record, line scores by period or set, finishing position, game leaders)Both sides, or the whole field
keyEvents (goals, cards, minute, players)Football match events
venue, city, country, attendance, broadcasts, odds (where shown), headline, urlAround the game

Download as JSON, CSV, Excel or XML from the run, or have it sent to Google Sheets, Slack or a webhook.

Guide

How Sports Data works

Inputs, options and tips, from the tool's own documentation.

Scores, schedules, player box scores, betting odds, standings, teams and rosters for 24 leagues in one Actor: NFL, NBA, WNBA, MLB, NHL, college football and basketball, the Premier League, LaLiga, Bundesliga, Serie A, Ligue 1, Champions League, Europa League, Eredivisie, Primeira Liga, EFL Championship, MLS and Liga MX, plus Formula 1, ATP and WTA tennis, PGA Tour golf and UFC. Pick leagues and dates, filter by team, and schedule it to get each final result once.

Built for sports analysts and bettors, fantasy and DFS players, sports media and newsletters, app and bot builders, researchers, and AI agents.

Why this Actor

  • One Actor, 24 leagues: US sports, European football, motorsport, tennis, golf and MMA with the same fields.
  • Six data types: games, box scores, odds, standings, teams, rosters.
  • Odds with history: opening vs current or closing lines, line movement, implied probability and how each line settled. With Only new, a line comes back each time it moves.
  • Schedules too: days ahead for upcoming fixtures with TV and odds where shown.
  • Team filter: names or abbreviations, e.g. Lakers, KC, Arsenal.
  • Results once: Only new + a daily schedule returns each game again only when its status changes, so finals arrive once.
  • For AI agents. Callable as an MCP tool.

How to use it

Last night's NBA and NHL results:

json
{ "leagues": ["nba", "nhl"], "daysBack": 1, "gameStatus": "final" }

This week's Premier League, LaLiga and Champions League fixtures:

json
{ "leagues": ["premier-league", "la-liga", "champions-league"], "daysBack": 0, "daysAhead": 7, "gameStatus": "scheduled" }

Player lines from the Chiefs' and Eagles' games this season:

json
{ "leagues": ["nfl"], "dataType": "boxScores", "dateFrom": "2026-09-01", "teams": ["KC", "PHI"] }

Sunday's NFL lines, then closing lines and results for last week:

json
{ "leagues": ["nfl"], "dataType": "odds", "daysBack": 0, "daysAhead": 3 }
json
{ "leagues": ["nfl"], "dataType": "odds", "daysBack": 7, "gameStatus": "final" }

NFL and Bundesliga standings:

json
{ "leagues": ["nfl", "bundesliga"], "dataType": "standings" }

Options

OptionWhat it does
Leagues (leagues)Any of the 24 leagues, e.g. nba, nfl, premier-league, f1
Data (dataType)games, boxScores, odds, standings, teams or rosters
Days back / Days ahead (daysBack, daysAhead)Rolling window: daysBack: 1 = yesterday and today; daysAhead: 7 = next week's fixtures
From date / To date (dateFrom, dateTo)Exact range (YYYY-MM-DD), up to about one season per run
Game status (gameStatus)any, final, live or scheduled
Teams (teams)Team or player names or abbreviations, e.g. Lakers, KC, Arsenal, Sinner. Empty = all
Tennis draw (matchType)any, singles or doubles (tennis matches only)
Season (season)Standings for a past season, e.g. 2025; empty = current
Max results (maxItems)Most rows per run
Only new (onlyNew, monitorName)With a schedule, each run returns only rows earlier runs did not deliver; a game comes again when its status changes

Pricing

$3 per 1,000 games, odds rows, standings rows, teams or players, and $1 per 1,000 box-score player lines, plus a small start fee per run. On the Apify free plan a run returns up to 100 rows.

Good to know

  • Dates follow each league's local game day: a late NBA game on October 29 counts as October 29.
  • College leagues cover the whole FBS (football) and Division I (basketball).
  • Odds cover team sports. Lines usually appear a few days before a game; some games have none. Attendance appears only where the source shows it.
  • Tennis doubles pairs come with both players and their countries.
  • Up to about one season (400 days) per run.
  • Questions: tacps126@gmail.com.
Questions

Questions about Sports Data

How much does Sports Data cost?

$3 per 1,000, charged only for game, standing, team or players returned; a run that finds nothing costs nothing. It runs on Apify, whose free plan includes monthly credit, so you can try it without paying.

Do I need to write code?

No. Fill in the form on Apify and press Start, schedule it, or send the results to Google Sheets, Slack or a webhook. For code, the input builder on this page writes the API call in curl, Python or JavaScript.

What does Sports Data return?

Every row has the same fields, including league, name, date, endDate, season, seasonType, week, session, draw, status, state (pre, in, post), completed, statusDetail, homeTeam, homeScore, awayTeam, awayScore, winner, result, competitors (team or player, record, line scores by period or set, finishing position, game leaders), keyEvents (goals, cards, minute, players), venue, city, country, attendance, broadcasts, odds (where shown), headline, url. Download as JSON, CSV, Excel or XML.

Can an AI agent use it?

Yes. The webdata-tools-mcp server exposes it to Claude, Cursor and other MCP clients as get_sports_data.

Can it run on a schedule and return only new results?

Yes. Schedule it on Apify (hourly, daily, weekly) and turn on the only-new option: each run then returns only what appeared since the last run with the same input.

Use cases

What people use Sports Data for

  • Power a scores app or dashboard
  • Fantasy sports research
  • Sports analytics

Also searched as

sports API live scores API NFL stats NBA stats box scores data standings API football scores data

Categories

Sports, odds and lotteries Sports Automation Developer tools