Discover/SoccerSTATS API
live

SoccerSTATS APIsoccerstats.com

Access league tables, match scores, team stats, form tables, and standings from SoccerSTATS.com across dozens of football competitions via a single API.

Endpoint health
verified 3d ago
get_league_table
search_team
get_league_matches
get_league_form_table
get_league_stats_table
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the SoccerSTATS API?

The SoccerSTATS.com API exposes 9 endpoints covering league standings, match results, team season stats, and form tables across dozens of football competitions. Starting with get_available_leagues to enumerate all supported competitions, you can drill into league tables, individual match data including half-time scores, and team-level breakdowns that include streaks, seasonal stats, and comparisons against league averages.

Try it

No input parameters required.

api.parse.bot/scraper/5f3f185a-6cbf-4bef-9580-ee82088e525f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/5f3f185a-6cbf-4bef-9580-ee82088e525f/get_available_leagues' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 soccerstats-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.

"""SoccerSTATS.com SDK — league standings, match results, team search, and stats."""
from parse_apis.soccerstats_com_api import SoccerStats, StatType, LeagueNotFound

client = SoccerStats()

# List available leagues, take the first few
for league_summary in client.leaguesummaries.list(limit=5):
    print(league_summary.name, league_summary.slug)

# Construct a league and view its standings
england = client.league(slug="england")
for standing in england.table(limit=5):
    print(standing.col_0, standing.col_1, standing.pts)

# Get a match and retrieve its stats
match = england.matches(limit=1).first()
if match:
    print(match.date, match.home_team, match.score, match.away_team)
    stats = england.match_stats(match_id=match.match_id)
    print(stats.title, stats.match_id)

# Search for a team and get season performance
team = client.teamsearchresults.search(query="barcelona", limit=1).first()
if team:
    print(team.name, team.team_id)

# Use the StatType enum to get clean sheet rankings
for row in england.stats_table(stat_type=StatType.CLEAN_SHEETS, limit=5):
    print(row.values)

# Typed error handling for an invalid league
try:
    bad_league = client.league(slug="nonexistent_league_xyz")
    for s in bad_league.table(limit=1):
        print(s.col_1)
except LeagueNotFound as exc:
    print(f"League not found: {exc.league_slug}")

print("exercised: leaguesummaries.list / league.table / league.matches / league.match_stats / teamsearchresults.search / league.stats_table")
All endpoints · 9 totalmissing one? ·

Retrieve the full list of available leagues and competitions covered by SoccerSTATS.com. Returns league name, slug identifier, and URL for each competition. The slug is used as the league_slug parameter in all other endpoints.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "leagues": "array of league objects each containing name, slug, and url"
  },
  "sample": {
    "data": {
      "leagues": [
        {
          "url": "https://www.soccerstats.com/latest.asp?league=albania",
          "name": "Albania - Abissnet Superiore",
          "slug": "albania"
        },
        {
          "url": "https://www.soccerstats.com/latest.asp?league=england",
          "name": "England - Premier League",
          "slug": "england"
        }
      ]
    },
    "status": "success"
  }
}

About the SoccerSTATS API

League and Match Data

The get_available_leagues endpoint returns every competition available on SoccerSTATS.com as an array of objects, each with a name, slug, and url. That slug value is the key input across nearly every other endpoint. get_league_overview accepts a league_slug and returns the season summary including matches_played and avg_goals_per_match. get_league_table returns the full standings with columns mapped to GP, W, D, L, GF, GA, GD, and Pts; appending a year suffix to the slug (e.g. england_2024) retrieves historical seasons.

get_league_matches returns all fixtures and results for a league, with each match object carrying date, home_team, away_team, score, ht_score, and a match_id. That match_id feeds directly into get_match_stats, which returns the match title, league, and available stat sections such as domination, corners, and timing data when present for that fixture.

Team and Form Data

get_team_season_stats requires a team_id formatted as u{numeric_id}-{team-slug} — the numeric portion comes from search_team, which accepts a plain-text team name query and returns matching teams with their numeric identifiers and the league each belongs to. The season stats response includes streaks (home, away, and total sequences), seasonal match statistics, historical season comparisons, and vs_average data showing how the team compares to league averages.

get_league_form_table returns each team's recent form sequence alongside GP, W, D, L, GF, GA, GD, Pts, and opponent PPG (points per game), useful for identifying momentum trends. get_league_stats_table accepts a stat_type parameter (p for Both Teams To Score, y for Clean Sheets, cr for Corners, g for Streaks, z for Failed To Score) alongside a league_slug to retrieve ranked statistical breakdowns by category.

Reliability & maintenanceVerified

The SoccerSTATS API is a managed, monitored endpoint for soccerstats.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when soccerstats.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 soccerstats.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.

Last verified
3d ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a standings tracker that pulls get_league_table for multiple leagues and detects position changes week over week.
  • Aggregate avg_goals_per_match from get_league_overview across leagues to compare offensive output by competition.
  • Use get_league_matches combined with get_match_stats to compile half-time vs full-time result conversion rates.
  • Feed get_team_season_stats streaks and vs_average data into a betting or fantasy sports model.
  • Use get_league_form_table opponent PPG field to weight recent results by fixture difficulty.
  • Query get_league_stats_table with stat_type=p to rank teams by Both Teams To Score frequency for BTTS markets.
  • Use search_team to resolve team names to IDs before hydrating a multi-league team comparison dashboard.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does SoccerSTATS.com have an official developer API?+
SoccerSTATS.com does not publish an official developer API or documented data access program for third-party developers.
What does get_match_stats actually return beyond the score?+
It returns the match title, league slug, and match_id. Additional stat sections — domination, corners, and timing breakdowns — are included when that data is present for the specific fixture. Not every match will have all sections populated.
How do I retrieve a team's numeric ID for get_team_season_stats?+
Call search_team with a plain team name like 'arsenal' or 'barcelona'. The response returns an array of matching teams, each with a name (including the league in parentheses) and a numeric team_id. Combine it as u{team_id}-{team-slug} when calling get_team_season_stats. Providing a malformed team_id will return an upstream error rather than an empty result.
Does the API cover player-level statistics such as goals scored or assists per player?+
Not currently. The API covers team-level stats, league standings, match results, and form tables. Player-level data such as individual scorer lists or assist tallies is not exposed by any current endpoint. You can fork this API on Parse and revise it to add an endpoint targeting player statistics pages.
Is historical season data available for all endpoints?+
get_league_table supports historical seasons by appending a year suffix to the league slug (e.g. england_2024). The get_team_season_stats endpoint also returns a historical array of past season comparisons for a team. Other endpoints such as get_league_matches and get_league_form_table reflect the current season only. You can fork this API on Parse and revise it to add historical match retrieval by season.
Page content last updated . Spec covers 9 endpoints from soccerstats.com.
Related APIs in SportsSee all →
footystats.org API
Get live football scores, team performance metrics, league standings, and head-to-head match statistics all in one place. Search teams and leagues to access detailed player stats, comprehensive analytics, and in-depth performance data across football competitions worldwide.
football-data.org API
Get live match scores, team standings, and player statistics across football competitions worldwide. Search for teams, view head-to-head matchups, track top scorers, and explore detailed information about competitions and geographical areas.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
livescore.com API
Track live scores and detailed statistics across football, hockey, basketball, tennis, and cricket with the ability to filter by date, sport, and league. Access match summaries, team overviews, standings, fixtures, and results to stay updated on your favorite competitions and teams.
statshub.com API
Access detailed football match statistics including xG, xGA, and possession metrics across multiple leagues, plus retrieve fixtures by date and current league standings. Get comprehensive season-level and match-level performance data to analyze team and player statistics in depth.
fotmob.com API
Get live football scores, detailed match results, and comprehensive league statistics across multiple competitions. Access player and team performance data, browse upcoming fixtures by date, and dive into in-depth analytics for your favorite leagues and matches.
uefa.com API
Track detailed player performance across UEFA competitions like Champions League, Europa League, and Conference League with seasonal rankings and match-by-match statistics. Search players, compare their stats, and analyze individual performance metrics to stay informed on top European football talent.
fussballdaten.de API
Find live soccer match schedules, scores, and team information across German leagues and Europe's top competitions, with the ability to filter by date, team, or league. Quickly look up upcoming fixtures, past results, and complete team schedules for Bundesliga, Premier League, La Liga, Serie A, Ligue 1, Champions League, and more.