Sports APIsports.ru ↗
Access football league standings, match details, top scorers, and player profiles from Sports.ru across major tournaments via 6 structured endpoints.
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.
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'
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.
| Param | Type | Description |
|---|---|---|
| sport_id | integer | ID of the sport. Only Football (208) is supported and returns data. |
{
"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.
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.
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 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_statcategory 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_matcheswithstatus=last - Cross-reference player slugs from top scorer lists to retrieve biographical and career data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Sports.ru have an official developer API?+
Which sports are covered by get_tournament_list?+
What does get_match_details return beyond the final score?+
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?+
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.