Squiggle

App · 9 actions

Follow the AFL with Squiggle: fixtures, live and final scores, the ladder, and the tips, projected ladders and power rankings of the best-known computer models. No account or API key is required.

Actions

ActionWhat it does
Get a gameGet one game's details and latest score by its game ID, for example to check whether a game from an earlier step has finished and who won.
Get a projected ladderGet a computer model's prediction of the final home-and-away ladder: each club's projected wins and percentage, and its chances of finishing first, in the top four and in the finals.
Get gamesGet AFL fixtures and results for a season, a round or one club: who plays whom, where and when, the score, the winner and the margin.
Get power rankingsGet a computer model's power rankings, which rate how strong each club really is regardless of its ladder position.
Get the current roundFind the round being played now, or the next one if none is under way, with its games and when it starts.
Get the ladderGet the AFL ladder: each club's position, wins, losses, draws, premiership points and percentage.
Get tipsGet the computer models' tips for a round: who each model picks, by how much and how confident it is, and whether the tip came off.
List modelsList the computer models Squiggle tracks, with a link to each one's website.
List teamsList the AFL clubs with their abbreviations, first season and logo.

Get a game

Get one game's details and latest score by its game ID, for example to check whether a game from an earlier step has finished and who won.

Inputs

Game IDgame_idnumberRequired
The game's ID, from 'Get games' or 'Get tips'.

Outputs

away_behindsnumber
away_goalsnumber
away_scorenumber
away_teamtext
away_team_idnumber
final_typetext
game_idnumber
home_behindsnumber
home_goalsnumber
home_scorenumber
home_teamtext
home_team_idnumber
is_drawtrue/false
is_finaltrue/false
is_grand_finaltrue/false
marginnumber
percent_completenumber
roundnumber
round_nametext
start_timetext
start_time_melbournetext
start_time_utctext
statustext
summarytext
time_statustext
venuetext
winnertext
winner_team_idnumber
yearnumber
Example output
{
  "away_behinds": 17,
  "away_goals": 9,
  "away_score": 71,
  "away_team": "Richmond",
  "away_team_id": 14,
  "final_type": null,
  "game_id": 38499,
  "home_behinds": 15,
  "home_goals": 10,
  "home_score": 75,
  "home_team": "Carlton",
  "home_team_id": 3,
  "is_draw": false,
  "is_final": false,
  "is_grand_final": false,
  "margin": 4,
  "percent_complete": 100,
  "round": 1,
  "round_name": "Round 1",
  "start_time": "2026-03-12T19:30:00+11:00",
  "start_time_melbourne": "2026-03-12T19:30:00+11:00",
  "start_time_utc": "2026-03-12T08:30:00Z",
  "status": "finished",
  "summary": "Carlton 10.15 (75) def. Richmond 9.17 (71)",
  "time_status": "Full Time",
  "venue": "M.C.G.",
  "winner": "Carlton",
  "winner_team_id": 3,
  "year": 2026
}

Get a projected ladder

Get a computer model's prediction of the final home-and-away ladder: each club's projected wins and percentage, and its chances of finishing first, in the top four and in the finals.

Inputs

Seasonyearnumber
The AFL season, for example 2026. Leave empty for the current one.From 1897 to 2100.
After roundafter_roundnumber
As it stood after this round was played. Leave empty for the latest. Use -1 (0 before 2024) for the pre-season.From -1 to 30.
Modelmodeltext
Whose prediction. Leave empty for Squiggle's own model.

Outputs

finals_spotsnumber
modeltext
model_idnumber
roundnumber
team_countnumber
teamslist
yearnumber
Example output
{
  "finals_spots": 10,
  "model": "Squiggle",
  "model_id": 1,
  "round": 20,
  "team_count": 1,
  "teams": [
    {
      "average_rank": 4.5,
      "finals_chance": 100,
      "first_place_chance": 0,
      "is_placeholder": false,
      "model": "Squiggle",
      "model_id": 1,
      "position_chances": [
        0,
        7.17,
        22.01,
        28.39,
        17.98,
        12.03,
        7.14,
        3.88,
        1.39,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "projected_percentage": 118.9,
      "projected_wins": 15.3,
      "rank": 4,
      "round": 20,
      "team": "Brisbane Lions",
      "team_id": 2,
      "top_4_chance": 57.6,
      "updated_at": "2026-07-26T22:03:06+10:00"
    }
  ],
  "year": 2026
}

Get games

Get AFL fixtures and results for a season, a round or one club: who plays whom, where and when, the score, the winner and the margin. Narrow it to finished, upcoming or live games.

Inputs

Seasonyearnumber
The AFL season, for example 2026. Leave empty for the current one.From 1897 to 2100.
Roundroundnumber
Only games in this round. 0 is the Opening Round and the finals follow the last home-and-away round. Leave empty for the whole season.From 0 to 30.
Teamteamtext
Only games involving this club. Leave empty for every club.
Which gamesstatustext
All games, or only finished, upcoming or live ones.One of: all (All games), finished (Finished games only), upcoming (Upcoming games only (not started yet)), live (Games in progress right now). Default: all.

Outputs

game_countnumber
gameslist
roundnumber
statustext
teamtext
yearnumber
Example output
{
  "game_count": 1,
  "games": [
    {
      "away_behinds": 17,
      "away_goals": 9,
      "away_score": 71,
      "away_team": "Richmond",
      "away_team_id": 14,
      "final_type": null,
      "game_id": 38499,
      "home_behinds": 15,
      "home_goals": 10,
      "home_score": 75,
      "home_team": "Carlton",
      "home_team_id": 3,
      "is_draw": false,
      "is_final": false,
      "is_grand_final": false,
      "margin": 4,
      "percent_complete": 100,
      "round": 1,
      "round_name": "Round 1",
      "start_time": "2026-03-12T19:30:00+11:00",
      "start_time_melbourne": "2026-03-12T19:30:00+11:00",
      "start_time_utc": "2026-03-12T08:30:00Z",
      "status": "finished",
      "summary": "Carlton 10.15 (75) def. Richmond 9.17 (71)",
      "time_status": "Full Time",
      "venue": "M.C.G.",
      "winner": "Carlton",
      "winner_team_id": 3,
      "year": 2026
    }
  ],
  "round": 1,
  "status": "all",
  "team": null,
  "year": 2026
}

Get power rankings

Get a computer model's power rankings, which rate how strong each club really is regardless of its ladder position. Each model uses its own rating scale.

Inputs

Seasonyearnumber
The AFL season, for example 2026. Leave empty for the current one.From 1897 to 2100.
After roundafter_roundnumber
As it stood after this round was played. Leave empty for the latest. Use -1 (0 before 2024) for the pre-season.From -1 to 30.
Modelmodeltext
Whose rankings. Leave empty for the Aggregate, the average of every model.

Outputs

modeltext
model_idnumber
roundnumber
team_countnumber
teamslist
yearnumber
Example output
{
  "model": "Aggregate",
  "model_id": 8,
  "round": 29,
  "team_count": 1,
  "teams": [
    {
      "is_placeholder": false,
      "model": "Aggregate",
      "model_id": 8,
      "rank": 1,
      "rating": 114.56,
      "round": 29,
      "team": "Hawthorn",
      "team_id": 10,
      "updated_at": "2026-09-26T15:30:34+10:00"
    }
  ],
  "year": 2026
}

Get the current round

Find the round being played now, or the next one if none is under way, with its games and when it starts. Also gives the last round that has been fully played.

Inputs

Seasonyearnumber
The AFL season, for example 2026. Leave empty for the current one.From 1897 to 2100.

Outputs

first_game_starttext
game_countnumber
gameslist
games_finishednumber
last_completed_roundnumber
last_game_starttext
roundnumber
round_nametext
season_finishedtrue/false
statustext
yearnumber
Example output
{
  "first_game_start": "2026-03-12T19:30:00+11:00",
  "game_count": 1,
  "games": [
    {
      "away_behinds": 17,
      "away_goals": 9,
      "away_score": 71,
      "away_team": "Richmond",
      "away_team_id": 14,
      "final_type": null,
      "game_id": 38499,
      "home_behinds": 15,
      "home_goals": 10,
      "home_score": 75,
      "home_team": "Carlton",
      "home_team_id": 3,
      "is_draw": false,
      "is_final": false,
      "is_grand_final": false,
      "margin": 4,
      "percent_complete": 100,
      "round": 1,
      "round_name": "Round 1",
      "start_time": "2026-03-12T19:30:00+11:00",
      "start_time_melbourne": "2026-03-12T19:30:00+11:00",
      "start_time_utc": "2026-03-12T08:30:00Z",
      "status": "finished",
      "summary": "Carlton 10.15 (75) def. Richmond 9.17 (71)",
      "time_status": "Full Time",
      "venue": "M.C.G.",
      "winner": "Carlton",
      "winner_team_id": 3,
      "year": 2026
    }
  ],
  "games_finished": 1,
  "last_completed_round": 1,
  "last_game_start": "2026-03-15T19:20:00+11:00",
  "round": 1,
  "round_name": "Round 1",
  "season_finished": false,
  "status": "finished",
  "year": 2026
}

Get the ladder

Get the AFL ladder: each club's position, wins, losses, draws, premiership points and percentage. Defaults to the latest; pick a round to see it as it stood then.

Inputs

Seasonyearnumber
The AFL season, for example 2026. Leave empty for the current one.From 1897 to 2100.
After roundafter_roundnumber
As it stood after this round was played. Leave empty for the latest. Use -1 (0 before 2024) for the pre-season.From -1 to 30.

Outputs

after_roundnumber
team_countnumber
teamslist
yearnumber
Example output
{
  "after_round": null,
  "team_count": 1,
  "teams": [
    {
      "behinds_against": 238,
      "behinds_for": 294,
      "draws": 0,
      "goals_against": 238,
      "goals_for": 332,
      "losses": 4,
      "percentage": 137.2,
      "played": 23,
      "points": 76,
      "points_against": 1666,
      "points_for": 2286,
      "rank": 1,
      "team": "Fremantle",
      "team_id": 6,
      "wins": 19
    }
  ],
  "year": 2026
}

Get tips

Get the computer models' tips for a round: who each model picks, by how much and how confident it is, and whether the tip came off. Defaults to the current round and the Aggregate of every model.

Inputs

Seasonyearnumber
The AFL season, for example 2026. Leave empty for the current one.From 1897 to 2100.
Roundroundnumber
The round to tip. Leave empty for the current round.From 0 to 30.
Modelmodeltext
Whose tips. Leave empty for the Aggregate, the average of every model, or pick All models for each model's tip.
Teamteamtext
Only tips for this club's games.
Game IDgame_idnumber
Only tips for this game, from 'Get games'. Season and round are then ignored.
Only games not finished yetunfinished_onlytrue/false
Leave out games that have already been played.Default: false.

Outputs

correct_countnumber
modeltext
roundnumber
scored_countnumber
teamtext
tip_countnumber
tipslist
yearnumber
Example output
{
  "correct_count": 1,
  "model": "Aggregate",
  "round": 1,
  "scored_count": 1,
  "team": null,
  "tip_count": 1,
  "tips": [
    {
      "away_team": "Richmond",
      "away_team_id": 14,
      "bits": 0.4891,
      "confidence": 70.2,
      "correct": true,
      "game_id": 38499,
      "home_team": "Carlton",
      "home_team_id": 3,
      "home_win_chance": 70.2,
      "margin": 18.7,
      "margin_error": 14.7,
      "model": "Aggregate",
      "model_id": 8,
      "round": 1,
      "start_time": "2026-03-12T19:30:00+11:00",
      "summary": "Carlton by 19 (70.2%)",
      "tip": "Carlton",
      "tip_team_id": 3,
      "updated_at": "2026-03-12T22:10:05+11:00",
      "venue": "M.C.G.",
      "year": 2026
    }
  ],
  "year": 2026
}

List models

List the computer models Squiggle tracks, with a link to each one's website.

Inputs

None.

Outputs

model_countnumber
modelslist
Example output
{
  "model_count": 1,
  "models": [
    {
      "icon_url": "https://squiggle.com.au/wp-content/themes/squiggle/assets/images/MoS.png",
      "model_id": 4,
      "name": "Matter of Stats",
      "website": "http://www.matterofstats.com/"
    }
  ]
}

List teams

List the AFL clubs with their abbreviations, first season and logo. Pick a season to get the clubs, names and logos of that year.

Inputs

Seasonyearnumber
Only clubs that played this season, under the names they had then. Leave empty for today's clubs.From 1897 to 2100.

Outputs

team_countnumber
teamslist
yearnumber
Example output
{
  "team_count": 1,
  "teams": [
    {
      "abbreviation": "COL",
      "first_season": 1897,
      "last_season": null,
      "logo_url": "https://squiggle.com.au/wp-content/themes/squiggle/assets/images/Collingwood.png",
      "name": "Collingwood",
      "team_id": 4
    }
  ],
  "year": null
}

On this page