AFL Tables Scraper avatar

AFL Tables Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
AFL Tables Scraper

AFL Tables Scraper

Scrape AFL/VFL match results, player statistics, and season ladders from afltables.com - every season from 1897 to today. Scores, dates, venues, attendance, per-player disposals/goals/kicks/marks/tackles, and full standings.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape AFL/VFL match results, player statistics, and season ladders from afltables.com — the definitive historical archive of Australian Rules Football, covering every season from 1897 to today. Plain HTTP, no login, no cookies, no proxy required.

What this actor does

  • Four modes: matches, playerStats, ladder, brownlowMedal
  • Match results — every game of a season: scores by quarter, final score, date, venue, attendance, margin, and a link to the detailed match-stats page
  • Player statistics — full season per-player box scores: games, kicks, marks, handballs, disposals, goals, behinds, hitouts, tackles, clearances, clangers, Brownlow votes, contested/uncontested possessions, and more (advanced stats are only tracked from the era the AFL started recording them; older seasons return whichever fields the source actually published)
  • Ladder / standings — final season table: position, played/won/drawn/lost, home & away records, points for/against with goal-behind breakdowns, percentage, and premiership points (plus finals ranking for finals-era seasons) — this single table doubles as each team's season summary
  • Brownlow Medal winners — the full year-by-year winners list (1924-present): player, team, total votes, games played, 3/2/1-vote game counts, games polled, and vote average — including joint/tied winner years
  • 129 seasons of data — 1897 (the first VFL season) through the current AFL season
  • Team filter — restrict any mode to one of 21 current + historical AFL/VFL clubs
  • Empty fields are omitted — a record only ever contains fields the source actually published

Output per mode

matches

  • season, round, roundNumber (omitted for finals), isFinals
  • homeTeam, homeTeamUrl, homeTeamSlug, homeScore, homeScoreProgression (quarter-by-quarter)
  • awayTeam, awayTeamUrl, awayTeamSlug, awayScore, awayScoreProgression
  • matchDate, matchDateIso, venue, venueUrl, attendance
  • isDraw, winningTeam, margin
  • matchStatsUrl, sourceUrl
  • Bye rounds are emitted as separate records: season, round, roundNumber, isBye: true, team, teamUrl, teamSlug

playerStats

  • season, team, teamUrl, teamSlug, jumperNumber, playerName, playerNameRaw (source Last, First form), playerUrl
  • games, kicks, marks, handballs, disposals, disposalAverage, goals, behinds, hitouts, tackles, rebound50s, inside50s, clearances, clangers, freesFor, freesAgainst, brownlowVotes, contestedPossessions, uncontestedPossessions, contestedMarks, marksInside50, onePercenters, bounces, goalAssists, percentGamePlayed, substitute

ladder

  • season, position, team, teamUrl, teamSlug, played, wins, draws, losses, homeRecord, awayRecord
  • pointsFor, pointsForGoals, pointsForBehinds, pointsForAccuracyPercent
  • pointsAgainst, pointsAgainstGoals, pointsAgainstBehinds, pointsAgainstAccuracyPercent
  • percentage, premiershipPoints, finalPosition, finalRating (finals-era seasons only)

brownlowMedal

  • season (the year the medal was awarded), playerName, playerUrl, team, teamUrl, teamSlug
  • votes (total), gamesPlayed, threeVoteGames, twoVoteGames, oneVoteGames, gamesPolled, voteAverage
  • Not season-scoped — always returns the full 1924-present list (respecting maxItems and the team filter); the season input field is ignored for this mode
  • Joint/tied winner years emit one record per winner (e.g. 2012's Sam Mitchell and Trent Cotchin)

Every record also carries recordType, scrapedAt, and sourceUrl.

Input

FieldTypeDefaultDescription
modestringmatchesmatches / playerStats / ladder / brownlowMedal
seasoninteger2025AFL/VFL season year, 1897–2026 (ignored by brownlowMedal)
roundNumberintegerFilter matches/byes to one home-and-away round (1–30)
includeFinalsbooltrueInclude finals-series matches (mode=matches)
includeByesbooltrueInclude bye-round records (mode=matches)
teamstringRestrict to one club (all modes)
maxItemsint100Hard cap on emitted records (1–2000)
proxyConfigurationobjectAUTONot required by the source; kept as a resilience fallback

Example: 2025 Grand Final round results

{
"mode": "matches",
"season": 2025,
"includeFinals": true,
"maxItems": 50
}

Example: Geelong's 2025 player stats

{
"mode": "playerStats",
"season": 2025,
"team": "geelong",
"maxItems": 100
}

Example: final 1897 ladder (the first VFL season)

{
"mode": "ladder",
"season": 1897
}

Example: every Brownlow Medal winner (1924-present)

{
"mode": "brownlowMedal",
"maxItems": 200
}

Use cases

  • Sports analytics — build historical models of team form, scoring trends, and margins
  • Fantasy football tools — feed per-player season stats into fantasy scoring engines
  • Betting research — study historical venue/attendance/margin patterns
  • Journalism & content — pull accurate historical scorelines and ladders for articles
  • Academic research — long-run (1897–present) sports-history datasets

FAQ

What's AFL Tables? A free, long-running statistical archive of the Australian Football League (and its VFL predecessor), maintained since the 1990s. It's the most complete public record of AFL/VFL results and player statistics.

How far back does the data go? Every season from 1897 (the first VFL season) to the current season.

Why are some player-stat fields missing for older seasons? The AFL/VFL didn't track advanced stats (contested possessions, clangers, etc.) until relatively recently. The actor only emits fields the source page actually published for that season — it never fabricates data.

What are homeTeam / awayTeam? afltables.com always lists the two teams of a fixture in a fixed order; the first-listed team is the host per the official AFL draw.

What does roundNumber being absent mean? The match was part of the finals series (Qualifying/Elimination/Semi/Preliminary/Grand Final), which isn't numbered like home-and-away rounds — see round and isFinals instead.

Does the ladder include finals ranking? Yes, when available — finalPosition and finalRating are populated only for seasons that used a finals-era ranking system on the source page.

Does the Brownlow Medal mode need a season? No — mode=brownlowMedal always returns the complete year-by-year winners list; the season input is ignored for this mode. Use maxItems or the team filter to narrow it down.

Is a proxy required? No. afltables.com is a plain, unprotected HTML site. The proxyConfiguration input defaults to Apify's free AUTO datacenter group purely as a resilience fallback and adds no cost.

How fresh is the data? afltables.com updates within a day or two of each round being completed.

Limitations

Each team's index page (afltables.com/afl/teams/<team>_idx.html) links out to over a dozen additional, differently-structured pages per club — individual career player records, coaching lists, win/loss records, attendance history, venue records, streaks, and season-by-season game lists. These are genuinely useful axes but each requires its own dedicated parser for a page format not shared with matches/playerStats/ladder/brownlowMedal, so they're out of scope for this actor. The existing team filter already covers the common case of narrowing any of the four modes to one club's season-scoped data.