Livesport Scores, Fixtures & Results avatar

Livesport Scores, Fixtures & Results

Pricing

from $1.81 / 1,000 results

Go to Apify Store
Livesport Scores, Fixtures & Results

Livesport Scores, Fixtures & Results

Scores, fixtures, live matches, standings and match details across 20+ sports from Livesport: football, tennis, basketball, hockey, baseball and more. Export to JSON, CSV or Excel.

Pricing

from $1.81 / 1,000 results

Rating

0.0

(0)

Developer

Scraper Master

Scraper Master

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Turn public Livesport pages into clean, structured sports data: daily fixtures and results, live scores, full match details, league tables and the schedule of any team. It covers 21 sports, including football (soccer), tennis, basketball, ice hockey, baseball, handball, volleyball, rugby union, American football and MMA.

Data comes from Livesport (livesport.com). This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Livesport or its owners.

Modes

Pick one with the mode input. Every mode honors maxItems.

ModeWhat you getMain inputs
fixturesOne row per match for a day or a date range (up to 15 days, from 7 days back to 7 days ahead)sport, date or dateFrom/dateTo, status, countryFilter, tournamentFilter
liveMatches in play right now, with score and period or minutesport, optional filters
match-detailOne row per match with nested sections: lineups, statistics, incidents, match info and head-to-headmatchIds, include* switches
standingsOne row per team in a tournament tabletournamentUrl, standingsType
team-fixturesUpcoming matches and/or past results of a teamteamUrl, teamScope

Example inputs

Fixtures for a week of tennis, finished matches only:

{ "mode": "fixtures", "sport": "tennis", "dateFrom": "-3", "dateTo": "today", "status": "finished", "maxItems": 200 }

Everything live in basketball:

{ "mode": "live", "sport": "basketball", "maxItems": 100 }

Match details (id, or a match URL that contains ?mid=):

{ "mode": "match-detail", "matchIds": ["plkwWY3D"], "includeLineups": true, "includeStatistics": true, "includeIncidents": true, "includeH2H": true, "h2hMatchesPerSection": 10 }

A league table (overall, home or away):

{ "mode": "standings", "tournamentUrl": "https://www.livesport.com/en/soccer/germany/bundesliga/", "standingsType": "overall" }

Matches of one team:

{ "mode": "team-fixtures", "teamUrl": "https://www.livesport.com/en/team/dortmund/nP1i5US1/", "teamScope": "both", "maxItems": 60 }

Dates accept YYYY-MM-DD, today, tomorrow, yesterday or an offset such as +2 and -3.

Output

Each dataset row has a recordType field: match, match-detail, standing or error. The dataset has table views for each of them.

Match rows (fixtures, live, team-fixtures)

FieldDescription
matchIdLivesport match id
sport, country, tournament, tournamentId, tournamentUrlCompetition context (for tennis the "country" is the tour category, for example ATP - SINGLES)
startTimeKick-off, ISO 8601 in UTC
statusscheduled, live, finished, not-played (postponed, cancelled, walkover without score) or other
statusDetail, minuteHuman readable status. For live football, the phase and an approximate minute computed from the phase start time; for other sports the current period
homeTeam, awayTeam, homeTeamId, awayTeamIdParticipants
homeScore, awayScoreCurrent or final score (sets for tennis, goals for football). null if not started
periodScoresList of { period, home, away } (half-time for football; sets, quarters, periods or innings for other sports)
matchUrlPublic match page
teamIdOnly in team-fixtures: the team that was requested

Match-detail rows

Each match is one row and one billable item. The sections are nested fields:

FieldDescription
matchId, sport, country, tournament, round, startTime, status, homeTeam, awayTeam, homeScore, awayScore, matchUrlHeader data
statisticsList of { period, group, name, home, away }
incidentsList of { period, side, minute, type, player, playerId, reason, score, commentary, related[] }. related holds assists and the player coming on
matchInfoReferee, venue, town, attendance and capacity when published
lineups{ home, away }, each with formation, starters, substitutes, coaches (player id, name, number, country, rating, roles, events)
h2hList of { tab, title, matches[] }: head-to-head and recent form lists
sectionErrorsPresent only if one section could not be loaded

A section is null or empty when Livesport does not publish it for that match (for example lineups for lower leagues). Not every sport has every section.

Standings rows

table, groupType, group, rank, team, teamId, teamUrl, played, wins, draws (null for sports without draws), losses, goalsFor, goalsAgainst, goalDifference, points, winPercentage (where published), form (most recent result first, W/D/L), tournamentId, stageId, sourceUrl. Leagues with conferences or divisions return one block of rows per grouping.

Errors

If a request fails, the run continues and an error row (recordType: "error", with a message) is added to the dataset. Error rows are not charged.

Notes and limitations

  • Public data only. No login, no personal data. Requests are rate limited (at most 3 concurrent, 0.4 to 1.2 seconds between requests, retry with backoff on 429/5xx).
  • Odds are not included: Livesport serves them from a separate service that is not part of the plain public feed.
  • Livesport lists 7 days back and 7 days ahead of today; other dates are skipped with an error row.
  • Day lists follow the Livesport daily grouping in UTC; matches close to midnight can be listed on the neighboring day.
  • Minute for live football is an estimate (phase start time based). Stoppage-time and pauses are not modelled.
  • Status codes for postponed or cancelled games are not documented by the source, so they are reported as not-played with the raw code in statusDetail.
  • Some sports publish fewer details than football (no lineups, or no incidents).
  • Team and tournament pages are identified by the ids in Livesport URLs. If Livesport changes its page structure the Actor may need an update.

Technical notes

The Actor reads the same text feeds the Livesport web client uses (/x/feed/... on livesport.com). Those requests carry the x-fsign header that the site publishes as a constant in its own public JavaScript. The value is kept in one file, src/constants.js, and is re-read from the site's public script if the feed ever answers 401.

Run locally:

npm install
sh run-test.sh '{"mode":"fixtures","sport":"soccer","date":"today","maxItems":10}'

Disclaimer

This project is not affiliated with Livesport, Flashscore or their owners. Livesport and related names are trademarks of their respective owners. Make sure your use of the collected data complies with the site's terms and the laws that apply to you.