Discover/Sports API
live

Sports APIsports.ru

Access football league standings, match details, top scorers, and player profiles from Sports.ru across major tournaments via 6 structured endpoints.

Endpoint health
verified 5d ago
get_league_matches
get_league_top_scorers
get_match_details
get_player_profile
get_tournament_list
6/6 passing latest checkself-healing
Endpoints
6
Updated
5d ago

What is the Sports API?

The Sports.ru API covers football data across major tournaments through 6 endpoints, returning league standings, match schedules, top scorer tables, and individual player profiles. The get_league_matches endpoint retrieves fixtures grouped by date with team info and scores, while get_match_details returns full lineups, match events, and per-team statistics by match slug. Tournament IDs from get_tournament_list serve as the common key across most other endpoints.

Try it
ID of the sport. Only Football (208) is supported and returns data.
api.parse.bot/scraper/9d9626f6-544c-4498-81ed-7d7600d6cf06/<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/9d9626f6-544c-4498-81ed-7d7600d6cf06/get_tournament_list?sport_id=208' \
  -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 sports-ru-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.

"""Sports.ru API — browse tournaments, standings, matches, and player profiles."""
from parse_apis.Sports_ru_API import SportsRu, MatchStatus, SportId, NotFound

client = SportsRu()

# List available football tournaments (capped at 5)
for tournament in client.tournaments.list(sport_id=SportId._208, limit=5):
    print(tournament.id, tournament.name)

# Construct a tournament by ID (EPL = 52) and get standings
epl = client.tournament(id=52)
standings_group = epl.standings.list(limit=1).first()
if standings_group:
    for team in standings_group.teams[:3]:
        print(team.place, team.team_info.name, team.score)

# Get recent matches for EPL, take the first date-group
match_day = epl.matches.list(status=MatchStatus.LAST, limit=1).first()
if match_day:
    for entry in match_day.matches[:2]:
        print(entry.first_team.name, entry.first_team.goals,
              "-", entry.second_team.goals, entry.second_team.name)

# Fetch detailed match statistics with error handling
try:
    detail = client.match_details.get(match_slug="1857018")
    print(detail.info.home_team, "vs", detail.info.away_team, "|", detail.info.round)
    for stat in detail.statistics[:3]:
        print(f"  {stat.name}: {stat.home} / {stat.away}")
except NotFound as exc:
    print(f"Match not found: {exc}")

# Look up a player profile from top scorers
scorers = epl.top_scorers.list(limit=1).first()
if scorers and scorers.players:
    top_player = scorers.players[0]
    profile = client.player_profiles.get(player_slug=top_player.tag_url.split("/person/")[-1].strip("/"))
    print(profile.bio.citizenship, profile.bio.club)
    for season in profile.stats[:2]:
        print(season.season, season.team, season.goals, "goals")

print("exercised: tournaments.list / tournament.standings / tournament.matches"
      " / match_details.get / top_scorers.list / player_profiles.get")
All endpoints · 6 totalmissing one? ·

Retrieves the list of football tournaments available on sports.ru. Only football (sport_id=208) returns data; other sport IDs yield empty results. Each tournament has an id usable in other endpoints and a localized Russian name.

Input
ParamTypeDescription
sport_idintegerID of the sport. Only Football (208) is supported and returns data.
Response
{
  "type": "object",
  "fields": {
    "tournament_list": "array of tournament objects each with id (integer) and name (string)"
  },
  "sample": {
    "data": {
      "tournament_list": [
        {
          "id": 195,
          "name": "Чемпионат мира"
        },
        {
          "id": 31,
          "name": "Россия. Премьер-лига"
        },
        {
          "id": 52,
          "name": "Англия. Премьер-лига"
        },
        {
          "id": 49,
          "name": "Испания. Ла Лига"
        }
      ]
    },
    "status": "success"
  }
}

About the Sports API

Tournament and League Data

Start with get_tournament_list, passing sport_id=208 (football is the only supported sport) to receive an array of tournament objects, each with an id and name. Use those IDs as the tournament_id parameter in downstream endpoints. get_league_standings returns a tournament_table array organized by group, with each entry carrying place, score, matches, and team_info — enough to reconstruct a full points table including qualification zone indicators.

Match Data

get_league_matches accepts a tournament_id and an optional status filter — 'last' for completed matches or 'future' for upcoming fixtures — and returns matches grouped by date. Each match object includes team info and scores. The base_url field on each match object doubles as the match_slug for get_match_details, which returns four data blocks: info (teams, tournament, round), events (goals and cards with minute, player, side, and type), lineups (starting XI and substitutes for each side), and statistics (per-team stat name/value pairs).

Player Data

get_league_top_scorers returns a players_stat array broken into named categories (goals, assists, and others), each listing player name, team, and stat values. The tag_url field on each player in those results is the slug for get_player_profile. That endpoint returns a bio object (birth date, nationality, club, position, height/weight) and a stats array with per-season rows covering matches, goals, assists, cards, and minutes across different teams and tournaments.

Reliability & maintenanceVerified

The Sports API is a managed, monitored endpoint for sports.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sports.ru 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 sports.ru 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
5d ago
Latest check
6/6 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
  • Display live league standings tables with points, matches played, and qualification zones for major football tournaments
  • Build a fixture calendar by fetching upcoming matches per tournament with status=future
  • Show detailed match reports including starting lineups, substitutions, goal events, and per-team statistics
  • Aggregate top scorer and assist leader rankings across tournaments using players_stat category data
  • Render full player career pages with season-by-season stats pulled from get_player_profile
  • Track recent results for a specific league by querying get_league_matches with status=last
  • Cross-reference player slugs from top scorer lists to retrieve biographical and career data
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 Sports.ru have an official developer API?+
Sports.ru does not publish a public developer API or documented developer portal for third-party use. This Parse API provides structured access to the football data available on the site.
Which sports are covered by get_tournament_list?+
Only football (sport_id=208) is currently supported. Passing other sport IDs returns empty results. The API covers football tournaments, standings, matches, and player profiles. You can fork it on Parse and revise to add support for additional sports if that data becomes available.
What does get_match_details return beyond the final score?+
It returns four blocks: info with teams, tournament, and round; events listing goals and cards with the minute, player name, side, and event type; lineups with starting XI and substitutes for both home and away teams; and statistics with named per-team stat pairs such as possession or shots.
Does the API return live in-progress match data or odds?+
No live match state or odds data is exposed. get_league_matches covers completed results and upcoming fixtures, and get_match_details reflects post-match data. Odds and live score feeds are not currently part of the API. You can fork it on Parse and revise to add a live-match endpoint if you need real-time score updates.
Is historical season data available beyond the current standings and top scorers?+
get_player_profile returns multi-season career stats per player. However, historical standings snapshots and archived match data by season are not currently exposed through dedicated parameters — the standings and match endpoints reflect the current active season. You can fork this API on Parse and revise it to add season-scoped filtering endpoints.
Page content last updated . Spec covers 6 endpoints from sports.ru.
Related APIs in SportsSee all →
rfs.ru API
Access comprehensive Russian Football Union data including live tournament matches, detailed statistics, standings, and national team rosters all in one place. Stay updated with the latest news and match information across all major Russian football competitions.
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.
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.
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.
soccerstats.com API
Access comprehensive soccer statistics including live league tables, match details, team performance metrics, and form rankings across multiple football leagues. Search for specific teams and analyze their season statistics, head-to-head records, and competitive standings to stay informed on the latest soccer data.
football.co.il API
Track Israeli football league standings, fixtures, and team performance with comprehensive data on leagues, squads, and player statistics. Get detailed match information, top scorers, and team-specific stats to stay updated on the Israeli football season.
psl.co.za API
Access real-time South African Premier Soccer League data including live scores, fixtures, results, standings, and match details. Search for clubs, news articles, and other PSL information to stay updated on the league.
flashscore.com.ua API
Access football match results, fixtures, team histories, and in-match statistics from Flashscore. Look up matches by date, retrieve a team's recent and upcoming games, and pull detailed events and performance metrics for any match.