Soccer Statistics API for Player, Team and Match Data
Access structured soccer statistics including goals, assists, xG, xA, possession, shots, passes, corners, cards, saves, tackles, season totals and career records for apps, media, fantasy, betting and analytics products.
{
"player_id": "player_301",
"season": "2026",
"appearances": 28,
"minutes": 2241,
"goals": 17,
"assists": 9,
"expected_goals": 15.8,
"expected_assists": 7.4,
"shots_on_target": 41,
"pass_accuracy": 84.6
}
What Is a Soccer Statistics API?
A Soccer Statistics API gives applications machine-readable access to player, team and match performance data. Instead of collecting figures manually, developers can retrieve structured statistics and present them in score apps, media products, fantasy platforms, scouting tools, betting systems, dashboards and machine-learning workflows.
Statistics can be returned at different levels, including one match, a competition, a season, a selected date range or a player’s career. The strongest integrations preserve this scope so users understand exactly what each number represents.
Exact metrics, competitions and historical depth depend on confirmed API coverage and the selected plan.
Soccer Statistics Available Through the API
Goals and Assists
Retrieve goals, assists, appearances, starts, minutes played, penalties, own goals and scoring contributions.
Expected Goals and Expected Assists
Use xG and xA metrics where supported to analyse chance quality, attacking output and creative contribution.
Shots and Finishing
Access total shots, shots on target, blocked shots, shots inside the box, conversion rate and related attacking metrics.
Possession and Passing
Retrieve possession percentage, passes, completed passes, pass accuracy, key passes, crosses and long balls where available.
Defending
Analyse tackles, interceptions, clearances, blocks, recoveries, duels and defensive contributions.
Goalkeeping
Use saves, goals conceded, clean sheets, penalties saved and other supported goalkeeper statistics.
Set Pieces
Retrieve corners, free kicks, penalties, crosses and supported set-piece performance data.
Cards and Fouls
Access fouls committed, fouls suffered, yellow cards, second yellows, red cards and disciplinary totals.
Season and Career Statistics
Build season summaries, competition totals, recent form and career records for players and teams.
Match, Season and Career Soccer Data
The same player or team can be analysed at several levels. Preserve the selected competition, season, match and date-range context in every request and response.
| Statistics level | Typical data |
Common use Product application |
|---|---|---|
| Match One completed or live fixture | Possession, shots, passes, corners, cards, saves and player performance | Match centres, live graphics and post-match reports |
| Competition One league, cup or tournament | Goals, assists, clean sheets, cards, leaders and team performance | Competition hubs, rankings and leaderboards |
| Season Performance during a selected season | Appearances, minutes, goals, assists, xG, xA and season totals | Player pages, fantasy research and scouting |
| Recent Form Selected number of recent matches | Rolling goals, shots, possession, points and performance trends | Previews, predictions and analytics dashboards |
| Career All supported historical appearances | Career matches, goals, assists, minutes, cards and milestones | Historical player profiles and media products |
Soccer Player Attacking Statistics
Attacking data can support player comparisons, fantasy decisions, scouting, media graphics and predictive models. Use rate statistics together with appearances and minutes so small samples are not presented as definitive.
Goals
Show total goals, non-penalty goals, penalties scored, scoring frequency and goals per 90 minutes where supported.
Assists
Retrieve credited assists, key passes, chances created and assist-rate statistics.
Expected Goals
Use xG to describe estimated chance quality rather than treating every shot as equally likely to score.
Expected Assists
Use xA to analyse the quality of chances created for teammates where the metric is available.
Shots
Compare total shots, shots on target, blocked attempts, headed shots and attempts from different areas.
Finishing Efficiency
Analyse conversion rate, goals versus xG and scoring output while keeping sample size visible.
Soccer Passing and Possession Statistics
Possession
Display team possession percentages and compare control across match periods, fixtures or seasons.
Passes and Accuracy
Retrieve attempted passes, completed passes and pass-completion percentage.
Key Passes
Use supported chance-creation metrics to identify passes that lead directly to shots.
Progressive and Final-Third Passing
Analyse advanced passing categories where they are included in coverage.
Crosses and Long Balls
Compare attempted and completed crosses, switches and long-range distribution.
Touches and Ball Progression
Use touches, carries and related progression data where supported.
Defensive and Goalkeeper Statistics
Tackles
Retrieve attempted tackles, successful tackles and tackle success where available.
Interceptions
Measure passes and attacking actions disrupted by defenders and midfielders.
Clearances and Blocks
Use clearances, blocked shots and defensive actions in player and team analysis.
Duels
Compare ground and aerial duels, success rates and physical contest involvement where supported.
Saves
Retrieve goalkeeper saves, shots faced, save percentage and goals conceded.
Clean Sheets
Track team and goalkeeper clean sheets across matches, competitions and seasons.
Use Stable IDs and Preserve Context
Names can change, repeat or be formatted differently. Store stable player, team, match and competition identifiers and keep the scope of every statistic attached to the value.
player_id ├── match_statistics ├── season_statistics ├── competition_statistics ├── recent_form └── career_statistics Each response should retain: - scope - filters - sample size - update timestamp
Useful Filters
Request Soccer Player Statistics in JavaScript, Python and PHP
These examples show a typical authenticated request pattern. Replace the example host, endpoint and authentication method with the values in the official API documentation.
// JavaScript
const playerId = 'player_301';
const response = await fetch(
`https://api.example.com/v1/soccer/players/${playerId}/statistics?season=2026`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const statistics = await response.json();
# Python
import requests
player_id = "player_301"
response = requests.get(
(
"https://api.example.com/v1/soccer/"
f"players/{player_id}/statistics"
),
params={"season": "2026"},
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
timeout=15,
)
response.raise_for_status()
statistics = response.json()
<?php
$playerId = 'player_301';
$url = sprintf(
'https://api.example.com/v1/soccer/players/%s/statistics?season=2026',
rawurlencode($playerId)
);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json',
],
CURLOPT_TIMEOUT => 15,
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
Example Soccer Player Statistics Response
The following response is illustrative. Final property names and metric definitions must follow the published API documentation.
{
"data": {
"player": {
"id": "player_301",
"name": "A. Morgan",
"position": "Forward",
"team_id": "team_18"
},
"scope": {
"competition_id": "competition_24",
"season": "2026"
},
"appearances": 28,
"starts": 25,
"minutes": 2241,
"attacking": {
"goals": 17,
"assists": 9,
"expected_goals": 15.8,
"expected_assists": 7.4,
"shots": 74,
"shots_on_target": 41
},
"passing": {
"passes_attempted": 812,
"passes_completed": 687,
"pass_accuracy": 84.6,
"key_passes": 52
},
"discipline": {
"yellow_cards": 3,
"red_cards": 0
},
"updated_at": "2026-08-06T10:30:00Z"
}
}
Soccer Team Statistics and Performance Trends
Team statistics help applications compare playing style, attacking output, defensive performance and recent form across competitions and seasons.
| Team metric | What it can show | Common product use |
|---|---|---|
| Goals for and against | Scoring output and defensive record | Standings, previews and team comparisons |
| Expected goals | Quality of chances created and conceded | Analytics, modelling and performance review |
| Possession | Share of controlled match time | Playing-style analysis and media graphics |
| Shots and shots on target | Attacking volume and shooting accuracy | Match previews and prediction features |
| Passing accuracy | Ball-retention and distribution quality | Tactical dashboards and team profiles |
| Recent form | Results and performance across recent fixtures | Previews, fantasy research and odds analysis |
What Can You Build With a Soccer Stats API?
Fantasy Soccer Platforms
Use goals, assists, saves, cards, minutes and live player events to support scoring, selection and leaderboards.
Sports Media Websites
Create player profiles, team pages, leaderboards, match reports and statistical graphics.
Analytics Dashboards
Visualise xG, xA, possession, shots, passing, defensive actions and historical trends.
AI and Prediction Models
Prepare historical player, team and match features for responsible machine-learning and forecasting workflows.
Scouting and Recruitment Tools
Organise performance by player, competition, season, position and recent form for further human evaluation.
Betting and Trading Platforms
Combine statistics with fixtures, live scores, historical results and separately available odds data.
Use Soccer Statistics With the Right Context
Statistics can become misleading when sample size, competition level, player role or match context is removed. Applications should show the scope behind every comparison.
Show Sample Size
Display appearances, starts and minutes alongside averages and per-90 metrics.
Preserve Competition Context
Avoid combining unrelated leagues and seasons without explaining the aggregation.
Define Advanced Metrics
xG, xA and similar metrics can vary by data model. Use the provider’s documented definitions consistently.
Handle Missing Data Clearly
Distinguish unavailable values from genuine zeros and avoid silently inventing missing figures.
Soccer Statistics API Coverage
Statistics coverage may include international competitions, domestic leagues, cups and selected youth or women’s competitions. Available metrics and historical depth can vary by competition, season and plan.
Before launch, confirm whether your product requires basic match statistics, advanced metrics such as xG and xA, live player data, season totals, career records or historical event-level data.
Soccer Statistics API FAQs
What data is available in the Soccer Statistics API?
Depending on coverage, data may include goals, assists, xG, xA, shots, possession, passes, corners, cards, saves, tackles and season or career records.
Can I retrieve player season statistics?
Player statistics may be filtered by competition and season where supported. Confirm the required league and historical depth.
Does the API include xG and xA?
Expected goals and expected assists may be available for supported competitions and plans. Use the provider’s documented definitions.
Can I use the data for a fantasy soccer app?
Yes. Goals, assists, saves, cards, minutes and live events can support fantasy scoring where the required fields are covered.
Can I use soccer statistics for machine learning?
Historical statistics can support model development where licence terms permit. Prevent data leakage and preserve prediction-time context.
Are career statistics available?
Career totals may be available for supported players and competitions. Historical completeness should be confirmed before publication.
Integrate Soccer Statistics Into Your Product
Review available plans, confirm competition and metric coverage, and begin building player profiles, team comparisons, dashboards, fantasy tools and analytical products.