Sports Results & Live Scores: Tennis, Football, NFL, NBA
Pricing
from $2.00 / 1,000 matches
Sports Results & Live Scores: Tennis, Football, NFL, NBA
Tennis, football and US sports fixtures, live scores and results with set-by-set and period scores, plus league tables and ATP/WTA rankings. Premier League, Champions League, NFL, NBA, MLB, NHL, F1 and cricket. Filter by date, team, player and status. No API key.
Pricing
from $2.00 / 1,000 matches
Rating
0.0
(0)
Developer
Onibaku
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Sports Results, Live Scores & Standings (Tennis, Football, NFL, NBA, F1, Cricket)
Get fixtures, live scores and final results for tennis, football (soccer) and the big US leagues as one clean, flat dataset: one row per match with the set-by-set or period-by-period score, status, round, venue, winner and a link to the match page. Switch to standings mode for league tables and the ATP/WTA rankings.
- Tennis: every ATP and WTA match ESPN covers (Slams, tour events and some Challengers), singles and doubles, qualifying included. Tournament, round, draw, players, seeds, countries, set scores with tiebreaks, retirements and walkovers, court. Plus the ATP and WTA singles rankings (top 150, points and movement).
- Football: Premier League, Championship, FA Cup, Carabao Cup, WSL, Scottish Premiership, LaLiga, Bundesliga, Serie A, Ligue 1, Eredivisie, Primeira Liga, Champions League, Europa League, Conference League, MLS, Liga MX, Brazil, Argentina, World Cup, and any other league ESPN covers. Scorers, cards and minutes. League tables with played, won, drawn, lost, goal difference, points and the Champions League/relegation notes.
- US sports: NFL, NCAA football, NBA, WNBA, NCAA basketball, MLB, NHL. Quarter/period/inning scores, team records, playoff series notes, betting lines where ESPN shows them, and an optional team box score (yards, possession, shots, rebounds...). Standings with win %, games behind and streak.
- F1, IndyCar, NASCAR: every session of a race weekend (practice, qualifying, race) with the finishing order, plus driver and constructor standings.
- Cricket: every series ESPN is covering right now (Tests, ODIs, T20s, IPL, domestic cricket) with innings scores (runs, wickets, overs) and the result line. Points tables where the competition has one.
No API key, no login, no proxy. Runs take seconds and cost almost nothing in compute.
What it's for
- Betting models and tipsters: pull yesterday's results and today's fixtures every morning, with set and period scores, to settle bets and feed your models. Run it every few minutes for live scores.
- Fantasy sports: standings, form (
WLDWW), records and box scores for your league tools and newsletters. - Sports apps, bots and widgets: a Discord/Slack/Telegram bot that posts Premier League scores, a club website fixture list, a live tennis ticker. One API call, one row shape for every sport.
- Data journalism and research: a season of results in a spreadsheet in a few runs; rankings and tables snapshotted on a schedule.
- AI agents: "Who won in Basel today?" or "Show me the Premier League table" as a single tool call (see MCP below).
Input
| Field | What it does |
|---|---|
mode | matches (fixtures, live and results, the default) or standings (league tables; ATP/WTA rankings for tennis). |
leagues | Pick from the list: tennis/atp, tennis/wta, soccer/eng.1, football/nfl, basketball/nba, racing/f1, cricket/all and more. |
customLeagues | Any other ESPN league as sport/league, e.g. soccer/ger.2, soccer/jpn.1, cricket/8048 (IPL). |
dateFrom, dateTo | YYYY-MM-DD, today, yesterday, tomorrow, or an offset such as -7 or +3. Defaults to today. Up to 31 days per run. |
timezone | Which time zone the dates mean (e.g. Europe/London). A match belongs to the day it starts there. Default UTC. |
statuses | Any of upcoming, live, finished, postponed, cancelled. Empty means all. |
teamsOrPlayers | Only matches involving any of these: Arsenal, Sinner, Swiatek, Lakers. Accents and case don't matter. |
tournaments | Only matches whose tournament, league or round contains any of these: Wimbledon, Basel, Final. |
tennisDraws | Men's/women's singles, men's/women's/mixed doubles. Empty means all. |
includeTeamStats | Adds the team box score to football and US sports games (one extra request per game). |
season | Standings only: the season year, e.g. 2025 for 2025-26. Empty means the current season. |
maxResults | Stop after this many rows (default 1,000). |
Today's ATP and WTA singles:
{"leagues": ["tennis/atp", "tennis/wta"],"tennisDraws": ["mens-singles", "womens-singles"]}
Last weekend's Premier League and Championship results, UK time:
{"leagues": ["soccer/eng.1", "soccer/eng.2"],"dateFrom": "-3","dateTo": "yesterday","timezone": "Europe/London","statuses": ["finished"]}
Live NBA and NHL scores (schedule it every few minutes):
{"leagues": ["basketball/nba", "hockey/nhl"],"statuses": ["live"]}
Every match Arsenal or Sinner plays in the next two weeks:
{"leagues": ["soccer/eng.1", "soccer/uefa.champions", "tennis/atp"],"dateTo": "+14","teamsOrPlayers": ["Arsenal", "Sinner"]}
League tables and rankings:
{"mode": "standings","leagues": ["soccer/eng.1", "soccer/esp.1", "basketball/nba", "racing/f1", "tennis/atp", "tennis/wta"]}
Output
One row per match. The same shape for every sport; fields a sport doesn't have are null or empty.
{"matchId": "185161","eventId": "23-2026","sport": "tennis","league": "tennis/atp","leagueName": "ATP","tournament": "Swiss Indoors Basel","season": "2026","round": "Round 1","draw": "Men's Doubles","startTime": "2026-10-26T11:10:00.000Z","status": "finished","statusDetail": "Final","home": "Jakub Paul / Matej Vocel","away": "Alex Michelsen / Botic Van De Zandschulp","homeScore": 0,"awayScore": 2,"score": "5-7 1-6","winner": "Alex Michelsen / Botic Van De Zandschulp","resultNote": "Alex Michelsen (USA) & Botic Van De Zandschulp (NED) bt Jakub Paul (SUI) & Matej Vocel (CZE) 7-5 6-1","periodScores": [{ "period": 1, "home": 5, "away": 7, "homeTiebreak": null, "awayTiebreak": null },{ "period": 2, "home": 1, "away": 6, "homeTiebreak": null, "awayTiebreak": null }],"competitors": [{ "name": "Jakub Paul / Matej Vocel", "type": "pair", "players": ["Jakub Paul", "Matej Vocel"], "seed": null, "score": 0, "winner": false, "periods": [...] },{ "name": "Alex Michelsen / Botic Van De Zandschulp", "type": "pair", "players": [...], "score": 2, "winner": true, "periods": [...] }],"keyEvents": [],"odds": null,"venue": "Basel, Switzerland","court": "IWB Court 1","url": "https://www.espn.com/tennis/scoreboard/tournament/_/eventId/23-2026/competitionType/1","scrapedAt": "2026-10-26T22:35:38.345Z"}
How to read it:
statusisupcoming,live,finished,postponedorcancelled;statusDetailis ESPN's own wording ("FT", "Retired", "Walkover", "Q3 4:12", "Stumps").- Tennis:
homeScore/awayScoreare sets won;scorereads like7-6(5) 3-6 6-4from the first-listed player's side, with the tiebreak loser's points in brackets.homeandawayare just ESPN's listing order.seedis the player's seed in that tournament. - Football and US sports:
homeScore/awayScoreare goals or points;periodScoresare halves, quarters, periods or innings where ESPN gives them. Football'skeyEventslists goals and cards with the minute and player.odds(provider, spread, over/under, moneylines) appears on games where ESPN shows a line. - Racing: one row per session (
roundisFP1,Qual,Race...);competitorsis the classification in order. - Cricket: scores are text (
259/6 (86 ov)), each competitor'speriodsare innings with runs, wickets and overs, andresultNoteis the result or match situation ("Lumbini won by 7 wkts"). - With
includeTeamStats,teamStats.homeandteamStats.awayhold the box score, keyed by ESPN's stat names.
In standings mode, one row per table position: leagueName, season, group (conference, division or group),
rank, name, played, wins, draws, losses, points, goalDifference, winPercent, gamesBehind,
streak, note (e.g. "Champions League") and stats with every column ESPN shows. Tennis rows are the ATP or WTA
singles rankings with rank, previousRank, points, country and age.
Pricing
$0.002 per match returned and $0.001 per standings or rankings row, plus a token $0.00005 per run. 1,000 matches cost $2. A full Premier League table is 20 rows, $0.02; the ATP top 150 is $0.15. Days with no games cost nothing beyond the start fee.
Good to know
- Results are as fresh as ESPN's scoreboard, usually within a minute or so of the real score.
- Leagues are ESPN's codes. The list covers the popular ones; the code for anything else is the part after
/sports/in ESPN's API addresses (e.g.soccer/ger.2,rugby/164205).cricket/allpicks up every series ESPN is showing now; for a specific competition use its series number, e.g.cricket/8048for the IPL. - Off-season leagues and rest days simply return no rows; the run still succeeds.
- Tennis covers what ESPN carries: the Slams and ATP and WTA tour events with their qualifying, plus some Challenger and WTA 125 events. ITF events aren't on ESPN, so they aren't here either.
- Point-by-point tennis data and live odds movement aren't available from this source.
- This uses ESPN's public but unofficial site API. It isn't documented and can change without notice. The actor
reads every field defensively (anything missing comes out as
null) and is fixed quickly when something moves. It sends a few requests at a time and backs off when ESPN asks it to.
Use it from Claude, ChatGPT or Cursor (MCP)
AI assistants can call this actor as a tool through Apify's MCP server. Add this server URL to your MCP client and sign in with your Apify account when prompted:
https://mcp.apify.com?tools=onibaku/sports-results
Then ask things like "What were yesterday's Premier League results?", "Is Sinner playing today?" or "Show me the NBA standings".
Data source
ESPN's public scoreboard, standings and rankings JSON (site.api.espn.com), the same data that powers ESPN's own scoreboards. Match rows link to their page on ESPN where it has one. This actor is independent and isn't affiliated with, endorsed by or sponsored by ESPN; team, league and tournament names belong to their owners.
Questions or feature requests? Open an issue on the actor's Issues tab or email admin@onibaku.co.uk.