Live Sports Scores API
Pricing
$0.05 / 1,000 games
Live Sports Scores API
Get current, upcoming, and completed game scores across supported leagues and sports. Search competitions by date, status, or team, or request details for known event IDs. Receive normalized game data with teams, scores, live context, odds, and source links when available.
Pricing
$0.05 / 1,000 games
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🏟️ Build a live sports scores API
For sports app builders, analysts, and automation teams, Live Sports Scores API returns one normalized game row for each saved game. Search supported leagues and competitions by date, recent date window, status, and team, or request an identified game by source event ID. Read teams, scores, competition context, live context, odds, optional match details, and source links in a dataset built for programmatic access.
- Pull current, upcoming, or completed game rows with Live Sports API.
- Search several competitions and save normalized game data with Free Sports Data API.
- Request score rows from supported leagues with ESPN Sports API.
- Look up a known game through ESPN API Endpoints.
- Inspect a source event with ESPN Hidden API.
📦 Normalized game rows
What you get
Each saved row uses one normalized game shape. It can include the event ID, sport, competition and season, home and away teams, start time, status, scores, live context, venue, odds, requested match details, and source data when available. Scores are absent before play begins, and optional values are not filled with guesses.
▶️ Search leagues or inspect known games
- Set
findBytocompetitionfor a league or competition search, or toeventIdfor identified games. - For a competition search, enter one or more supported competition names or IDs. Add a date, status, and optional team names or IDs.
- For an identified-game request, enter one or more source event IDs. Fields for the other choice are ignored.
- Add a supported language code when you want localized team names and labels.
- Leave
maxItemsempty to return all available results until the source is exhausted, or set a positive row limit. - Start the Actor and open the default dataset to read or export the normalized rows.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
findBy | string | Chooses competition for a multi-competition search or eventId for identified game details. |
competitions | array of strings | Names or IDs of the supported leagues or competitions to search. |
date | string | A calendar date or supported relative date expression for past, future, or recent games. Empty uses the current date. |
status | string | Keeps all, live, upcoming, or completed games in a competition search. |
teams | array of strings | Optional team names or IDs that narrow a competition search. |
eventIds | array of strings | Source event IDs for identified games. |
language | string | A supported code for team names and labels: en, es, fr, de, it, or pt. |
maxItems | integer | Optional game-row limit. Leave it empty to return all available results until the source is exhausted. |
Example input
This is the public input from a successful current-beta default run.
{"findBy": "competition","competitions": ["nfl"],"date": "last 7 days","status": "all","maxItems": 100}
🧾 Output
The run output provides a dataset URL that opens the game rows in the default dataset. The dataset uses one normalized game-row shape. Optional fields appear only when the request and source provide them.
Game row fields
| Field | Type | What it does |
|---|---|---|
eventId | string | Source event ID for the game. |
sport | string | Sport for the game. |
competition | object | League or competition context. |
competition.name | string | Name of the league or competition. |
competition.id | string | Source ID for the competition, when available. |
competition.code | string | Source code for the competition, when available. |
competition.season | string | Season containing the game, when available. |
competition.round | string | Round or stage of the competition, when available. |
teams | object | Home and away team data. |
teams.home | object | Home team and its available context. |
teams.home.name | string | Home team name. |
teams.home.id | string | Source ID for the home team, when available. |
teams.home.code | string | Short source code for the home team, when available. |
teams.home.ranking | integer | Home team ranking, when the source provides it. |
teams.home.recentForm | array of strings | Recent home-team result labels in source order, when available. |
teams.away | object | Away team and its available context. |
teams.away.name | string | Away team name. |
teams.away.id | string | Source ID for the away team, when available. |
teams.away.code | string | Short source code for the away team, when available. |
teams.away.ranking | integer | Away team ranking, when the source provides it. |
teams.away.recentForm | array of strings | Recent away-team result labels in source order, when available. |
startTime | string | Scheduled game start in ISO 8601 format. |
venue | object | Game venue, when the source provides it. |
venue.name | string | Venue name. |
venue.id | string | Source ID for the venue, when available. |
venue.city | string | Venue city, when available. |
venue.country | string | Venue country, when available. |
status | string | Normalized game status, such as scheduled, live, or completed. |
scores | object | Home and away scores after play begins, when available. |
scores.home | integer | Current or final home score. |
scores.away | integer | Current or final away score. |
liveContext | object | Sport-specific live information, when available. |
liveContext.period | string | Current period, inning, quarter, set, or similar stage. |
liveContext.clock | string | Game clock or another live time display. |
liveContext.progress | string | Source progress label, such as a set count or scheduled time. |
liveContext.phase | string | Current game phase, such as halftime or overtime. |
odds | array of objects | Available match-outcome odds. |
odds[].market | string | Market for the odds. |
odds[].bookmaker | string | Bookmaker that supplied the odds, when available. |
odds[].format | string | Odds format: decimal, fractional, or american. |
odds[].home | number or string | Odds for the home outcome. |
odds[].draw | number or string | Odds for a draw, when that outcome exists. |
odds[].away | number or string | Odds for the away outcome. |
details | object | Events, lineups, and match statistics when requested and available. |
details.events | array of objects | Recorded events from the game. |
details.events[].type | string | Type of game event. |
details.events[].team | string | Team linked to the event, when available. |
details.events[].player | string | Player linked to the event, when available. |
details.events[].minute | number | Game minute for the event, when available. |
details.events[].description | string | Source description of the event, when available. |
details.lineups | array of objects | Players listed in the game lineups. |
details.lineups[].team | string | Team for the lineup entry. |
details.lineups[].playerId | string | Source ID for the player, when available. |
details.lineups[].playerName | string | Player name. |
details.lineups[].position | string | Player position, when available. |
details.lineups[].starter | boolean | Whether the player started the game, when available. |
details.statistics | array of objects | Named statistics for the home and away teams. |
details.statistics[].name | string | Name of the statistic. |
details.statistics[].home | number or string | Home value for the statistic. |
details.statistics[].away | number or string | Away value for the statistic. |
dataSource | object | Source that provided the game, when the source name is available. |
dataSource.name | string | Name of the data source. |
dataSource.url | string URL | Source page for the game, when available. |
Genuine completed row
This complete row came from a successful current-beta competition run.
{"eventId": "401872948","sport": "football","competition": {"name": "National Football League","id": "28","code": "NFL","season": "2026","round": "3"},"teams": {"home": {"name": "Green Bay Packers","id": "9","code": "GB"},"away": {"name": "Atlanta Falcons","id": "1","code": "ATL"}},"startTime": "2026-09-25T00:15:00.000Z","status": "completed","scores": {"home": 14,"away": 35},"venue": {"name": "Lambeau Field","id": "3798","city": "Green Bay","country": "USA"},"liveContext": {"period": "4","clock": "0:00"},"dataSource": {"name": "ESPN","url": "https://www.espn.com/nfl/game/_/gameId/401872948/falcons-packers"}}
Genuine scheduled detail row
This complete row came from a successful current-beta identified-event run. It shows that scores may be absent before play and that optional statistics and odds can appear.
{"eventId": "401879268","sport": "soccer","competition": {"name": "English Premier League","id": "700","code": "Premier League","season": "2026"},"teams": {"home": {"name": "Arsenal","id": "359","code": "ARS","recentForm": ["L","W","W","W","W"]},"away": {"name": "Leeds United","id": "357","code": "LEE","recentForm": ["D","W","L","D","D"]}},"startTime": "2026-10-10T11:30:00.000Z","status": "scheduled","liveContext": {"progress": "10/10 - 7:30 AM EDT"},"dataSource": {"name": "ESPN","url": "https://www.espn.com/soccer/match/_/gameId/401879268/leeds-united-arsenal"},"details": {"statistics": [{"name": "goalDifference","home": "4","away": "4"},{"name": "totalGoals","home": "8","away": "7"},{"name": "goalAssists","home": "6","away": "4"},{"name": "goalsConceded","home": "4","away": "3"}]},"odds": [{"market": "Moneyline","bookmaker": "DraftKings","format": "american","home": -270,"draw": 380,"away": 650}]}
💳 Pricing
Charged event
One saved normalized game is one charged event. The buyer-facing event is Game; check the Pricing tab for the current rate.
🔌 Integrations
Use the Apify API or the default dataset URL to read rows from code and pass them to a sports app, report, or data pipeline. Source links stay with the row when they are available.
Watch the Apify workflow video:
❓ FAQ
Can I search more than one league or competition?
Yes. Set findBy to competition and enter one or more supported names or IDs. The Actor returns normalized rows for that set in one coherent request.
Can I request a known game?
Yes. Set findBy to eventId and enter one or more source event IDs. The row can include events, lineups, and match statistics when the source provides them.
What happens when a game has not started?
The scores field is absent before play begins. The row can still include the scheduled status, start time, teams, venue, and other available context.
Are odds and match details always present?
No. odds and details are optional. They appear when the request and source provide them, and some nested values may still be unavailable.
Can I use a past date or a recent date window?
Yes. Enter a calendar date for past or future games, or use a supported relative date expression such as last 7 days. Leave the field empty for the current date.
Does the language setting translate every field?
No. It applies to team names and labels. Other source fields follow the data that the source provides.
Does maxItems have a fixed upper limit?
No schema-defined upper limit is set. Leave it empty to return all available results until the source is exhausted.
What happens when no game matches my filters?
The request may return no game rows when a competition has no game for the date, status, or team you chose. Try a different date or filter when you need another set of games.
📝 Changelog
v0.0 (30-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Sofascore Live Events Scraper: Use it for multi-sport live fixtures, teams, and public event pages from Sofascore.
- ESPN MCP Server: Use it for broader ESPN research such as standings, news, teams, and AI tool access.
- Live Sports Scores & Fixtures API (ESPN): Use it when you want an ESPN scoreboard feed focused on fixtures, scores, and final results.
- Live Scores API - Sports Scores NBA, NFL, MLB, NHL, NCAAF, EPL: Use it for a fixed set of major leagues in one score feed.
- Bet365 Live Scores API | Real-Time Sports Data, 13 Sports: Use it when you need broader live sports coverage with match events and lineups.
Made with ❤️ by Maxime Dupré