Player Stats
GET
/player-statsReturns per-match player statistics (17 categories). Each row is one player in one match. At least one filter is recommended.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| match_id | integer | No | Filter by match ID |
| player_id | integer | No | Filter by player ID |
| year | integer | No | Filter by season year |
| round | integer | No | Filter by round |
| team_id | string | No | Filter by team slug |
| sort_by | string | No | Sort column (default: disposals) |
| order | string | No | asc or desc (default: desc) |
| limit | integer | No | Default 50, max 200 |
| offset | integer | No | Default 0 |
Valid sort_by values
kicks, handballs, disposals, marks, goals, behinds, tackles, hitouts, goal_assists, inside_50s, clearances, clangers, rebound_50s, frees_for, frees_against, afl_fantasy_pts, supercoach_pts
Examples
# All stats for a single match GET /player-stats?match_id=9812 # One player's 2024 season, sorted by fantasy points GET /player-stats?player_id=144&year=2024&sort_by=afl_fantasy_pts # Top tacklers in round 10 GET /player-stats?year=2024&round=10&sort_by=tackles&limit=10
Response
{
"data": [
{
"matchId": 9812, "playerName": "Chad Warner", "teamId": "sydney",
"kicks": 18, "handballs": 14, "disposals": 32,
"marks": 6, "goals": 1, "behinds": 0,
"tackles": 5, "hitouts": 0, "goalAssists": 2,
"inside50s": 7, "clearances": 8, "clangers": 3,
"rebound50s": 1, "freesFor": 2, "freesAgainst": 1,
"aflFantasyPts": 118, "supercoachPts": 124
}
],
"meta": { "limit": 50, "offset": 0, "count": 44, "total": 44 }
}Stat Fields Reference
| Field | Description |
|---|---|
| kicks | Kicks |
| handballs | Handballs |
| disposals | Total disposals (kicks + handballs) |
| marks | Marks |
| goals | Goals scored |
| behinds | Behinds scored |
| tackles | Tackles |
| hitouts | Hitouts (ruck contests) |
| goalAssists | Goal assists |
| inside50s | Inside 50s |
| clearances | Clearances |
| clangers | Clangers (turnover errors) |
| rebound50s | Rebound 50s |
| freesFor | Frees for (free kicks awarded) |
| freesAgainst | Frees against (free kicks conceded) |
| aflFantasyPts | AFL Fantasy points |
| supercoachPts | SuperCoach points |
GET
/player-stats-advancedReturns advanced per-match player statistics (17 categories) including contested possessions, disposal efficiency, metres gained, and more.
Query Parameters
Same filter parameters as /player-stats: match_id, player_id, year, round, team_id, sort_by, order, limit, offset.
Valid sort_by values
contested_possessions, uncontested_possessions, effective_disposals, disposal_efficiency_pct, contested_marks, goal_assists, marks_inside_50, one_percenters, bounces, centre_clearances, stoppage_clearances, score_involvements, metres_gained, turnovers, intercepts, tackles_inside_50, time_on_ground_pct
Example
# Highest metres gained in round 10, 2024 GET /player-stats-advanced?year=2024&round=10&sort_by=metres_gained&limit=10
Advanced Stat Fields Reference
| Field | Description |
|---|---|
| contestedPossessions | Contested possessions |
| uncontestedPossessions | Uncontested possessions |
| effectiveDisposals | Effective disposals |
| disposalEfficiencyPct | Disposal efficiency (percentage) |
| contestedMarks | Contested marks |
| goalAssists | Goal assists |
| marksInside50 | Marks inside 50 |
| onePercenters | One percenters |
| bounces | Bounces |
| centreClearances | Centre clearances |
| stoppageClearances | Stoppage clearances |
| scoreInvolvements | Score involvements |
| metresGained | Metres gained |
| turnovers | Turnovers |
| intercepts | Intercepts |
| tacklesInside50 | Tackles inside 50 |
| timeOnGroundPct | Time on ground (percentage) |
GET
/player-team-assignmentsReturns player transfer and movement history. Each row represents a period at a club. An open-ended endYear: null means the player is currently at that club.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| player_id | integer | No | All clubs a player has been at |
| team_id | string | No | All players at a club |
| year | integer | No | Assignments active during this year |
| reason | string | No | Movement type: trade, rookie, delisted, etc. |
| limit | integer | No | Default 50, max 200 |
| offset | integer | No | Default 0 |
Examples
# Full club history for a player GET /player-team-assignments?player_id=144 # All trades into Collingwood GET /player-team-assignments?team_id=collingwood&reason=trade
Response
{
"data": [
{
"id": 301, "playerName": "Chad Warner", "playerId": 144,
"teamId": "sydney", "teamName": "Sydney Swans",
"startYear": 2021, "endYear": null, "reason": "rookie"
}
],
"meta": { "limit": 50, "offset": 0, "count": 1, "total": 1 }
}