Livescore APIlivescore.com ↗
Access real-time scores, standings, fixtures, match summaries, and player stats across football, hockey, basketball, tennis, and cricket via the Livescore API.
What is the Livescore API?
The Livescore.com API exposes 12 endpoints covering live and scheduled scores, league standings, match timelines, team overviews, and player statistics across five sports. You can pull today's football results with get_todays_football_scores, query standings for any major league via get_league_standings, or retrieve a full match event timeline — including incidents, lineups, and head-to-head data — using get_match_summary.
curl -X GET 'https://api.parse.bot/scraper/18b659b8-239b-4706-8da0-75d743a2b334/get_scores_by_date_and_sport?date=2026-07-06&sport=hockey' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace livescore-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: LiveScore SDK — bounded, re-runnable; every call capped."""
from parse_apis.LiveScore_API import LiveScore, Sport, Country, League_, LeagueNotFound
client = LiveScore()
# Get today's football scores across all leagues
today = client.score_days.today()
print(f"Timestamp: {today.ts}, Stages: {len(today.stages)}")
for stage in today.stages[:3]:
print(f" {stage.name} ({stage.country})")
# Search for a team by name
result = client.search_results.search(query="Ajax")
for team in result.teams[:3]:
print(f" Found: {team.name} ({team.country}) ID={team.id}")
# Get scores for a different sport (basketball)
basketball = client.score_days.by_date_and_sport(sport=Sport.BASKETBALL)
print(f"Basketball today: {len(basketball.stages)} competitions")
# Explore a league via the constructible League resource
epl = client.league(slug="premier-league")
stats = epl.stats(country=Country.ENGLAND)
print(f"Premier League stats tab: {stats.active_tab_id}, competition={stats.competition_id}")
# Get a specific match summary
match = client.match_summaries.get(
league="premier-league", country="england",
match_id="1529167", match_slug="brighton-vs-manchester-united"
)
print(f"Match event_id={match.event_id}, tab={match.tab}")
# Typed error handling: catch LeagueNotFound for an invalid league
try:
bad = client.league(slug="nonexistent-league")
bad.overview(country=Country.ENGLAND)
except LeagueNotFound as exc:
print(f"League not found: {exc}")
print("exercised: score_days.today / search_results.search / score_days.by_date_and_sport / league.stats / match_summaries.get / league.overview (error)")
Returns all matches for a given sport on a specific date, grouped by competition/league. Each stage contains an Events array with match details including teams, scores, and status. Supports football, hockey, basketball, tennis, and cricket. Defaults to football and today's date when parameters are omitted.
| Param | Type | Description |
|---|---|---|
| date | string | Date in YYYY-MM-DD or YYYYMMDD format. Defaults to today (UTC). |
| sport | string | Sport name. Accepted values: football, hockey, basketball, tennis, cricket. |
{
"type": "object",
"fields": {
"Ts": "integer, Unix timestamp of the response",
"Stages": "array of competition/league objects, each containing Events array with match details"
},
"sample": {
"data": {
"Ts": 1781138128,
"Stages": [
{
"Cnm": "Adriatic",
"Scd": "aba-league-play-off",
"Sid": "25156",
"Snm": "ABA League: Play-off",
"Events": [
{
"T1": [
{
"ID": "2207",
"Nm": "Partizan"
}
],
"T2": [
{
"ID": "334862",
"Nm": "BC Dubai"
}
],
"Eid": "1782736",
"Eps": "FT",
"Tr1": "84",
"Tr2": "70"
}
]
}
]
},
"status": "success"
}
}About the Livescore API
Score and Fixture Data
The date-based endpoints — get_scores_by_date_and_sport, get_football_scores_by_date, get_todays_football_scores, and get_tomorrows_football_fixtures — all return a Stages array grouped by competition. Each stage contains an Events array with team names, current scores, and match status. The sport parameter on get_scores_by_date_and_sport accepts football, hockey, basketball, tennis, or cricket, and the date parameter accepts both YYYY-MM-DD and YYYYMMDD formats. The convenience endpoints for today and tomorrow require no parameters at all.
League-Level Endpoints
Five endpoints target a specific competition using paired league and country slug parameters (e.g. premier-league / england or bundesliga / germany). get_league_overview returns an initialData object with tables, recent event sections, and top-scorer stats in one call. get_league_standings returns a pageProps object whose initialData.tables holds full team rankings including points, wins, draws, losses, and goal data. get_league_stats returns player leaderboards for goals, assists, shots on target, and big chances created via a stats array with availableGroups. get_league_fixtures and get_league_results return initialData.sections arrays for upcoming and completed matches respectively, along with a competitionId string.
Match and Team Detail
get_match_summary requires league, country, match_id, and a match_slug in home-vs-away format. The response's initialEventData contains incidents (goals, cards), period scores, streaming media info, and head-to-head records. Match IDs can be obtained from the fixtures or results endpoints. get_team_overview takes a numeric team_id and team_slug and returns initialData with nextOrCurrentMatch, recent results, form, and competition stats. Team IDs are discoverable through search_teams_and_competitions, which queries by name and returns matching Teams and Stages arrays alongside a Sorting field.
Search
search_teams_and_competitions accepts a free-text query (e.g. Manchester, Ajax, Premier League) and returns matching team objects with ID, name, country, and badge info, plus competition stage matches. This is the primary way to resolve team and competition identifiers for use in the detail endpoints.
The Livescore API is a managed, monitored endpoint for livescore.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when livescore.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official livescore.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display a live scoreboard for all football matches on a given date using get_scores_by_date_and_sport with a date parameter.
- Build a league table widget by fetching team rankings, points, and goal difference from get_league_standings.
- Show a match event feed with goals and cards by pulling incidents from get_match_summary's initialEventData.
- Generate a top-scorer leaderboard for a competition using the player stats array from get_league_stats.
- Populate a team profile page with next fixture, recent form, and player stats via get_team_overview.
- Aggregate upcoming fixtures across multiple competitions by looping get_league_fixtures with different league/country slug pairs.
- Resolve a team name to its numeric ID for downstream lookups using search_teams_and_competitions.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.