BYTETOOLS

Squiggle (AFL) API

Free Australian Football League API with no key: teams, fixtures, results, ladder standings and computer model predictions. Community-run. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Squiggle (AFL) API?

Squiggle is a free, key-free API for Australian Football League data, providing teams, fixtures, results, ladder standings and — distinctively — predictions from multiple computer tipping models.

Squiggle covers the AFL comprehensively, but its unusual feature is aggregating predictions from a range of independent computer tipping models, so you can compare what different statistical approaches forecast for the same match.

The maintainer asks that you identify yourself with a User-Agent containing your name and contact, which is a reasonable request for a free community service and is mentioned prominently in the documentation.

Quick facts

Base URL
https://api.squiggle.com.au
Authentication
No API key, but the maintainer asks for a User-Agent with your name and contact details.
Rate limit
No published hard limit; the maintainer asks for reasonable use and caching.
Pricing
Free and community run.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the Squiggle (AFL) API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. List AFL teams

GET https://api.squiggle.com.au/?q=teams

curl
curl 'https://api.squiggle.com.au/?q=teams'
JavaScript (fetch)
const res = await fetch("https://api.squiggle.com.au/?q=teams");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.squiggle.com.au/?q=teams", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "teams": [
    {
      "retirement": 9999,
      "id": 1,
      "debut": 1991,
      "name": "Adelaide",
      "logo": "/wp-content/themes/squiggle/assets/images/Adelaide.png",
      "abbrev": "ADE"
    },
    {
      "retirement": 9999,
      "id": 2,
      "debut": 1987,
      "name": "Brisbane Lions",
      "logo": "/wp-content/themes/squiggle/assets/images/Brisbane.png",
      "abbrev": "BRI"
    },
    {
      "retirement": 9999,
      "id": 3,
      "debut": 1897,
      "name": "Carlton",
      "logo": "/wp-content/themes/squiggle/assets/images/Carlton.png",
      "abbrev": "CAR"
    },
    {
      "retirement": 9999,
      "id": 4,
      "debut": 1897,
      "name": "Collingwood",
      "logo": "/wp-content/themes/squiggle/assets/images/Collingwood.png",
      "abbrev": "COL"
    },
    {
      "retirement": 9999,
      "id": 5,
      "debut": 1897,
      "name": "Essendon",
      "logo": "/wp-content/themes/squiggle/assets/images/Essendon.png",
      "abbrev": "ESS"
    },
    {
      "retirement": 9999,
      "id": 6,
      "debut": 1995,
      "name": "Fremantle",
      "logo": "/wp-content/themes/squiggle/assets/images/Fremantle.png",
      "abbrev": "FRE"
    },
    {
      "retirement": 9999,
      "id": 7,
      "debut": 1897,
      "name": "Geelong",
      "logo": "/wp-content/themes/squiggle/assets/images/Geelong.png",
      "abbrev": "GEE"
    },
    {
      "retirement": 9999,
      "id": 8,
      "debut": 2011,
      "name": "Gold Coast",
      "logo": "/wp-content/themes/squiggle/assets/images/GoldCoast.png",
      "abbrev": "GCS"
    },
    {

Parameters

ParameterTypeRequiredDescription
qstringRequiredQuery type: teams, games, standings, tips, sources or ladder. teams
yearintegerOptionalSeason year. 2026
roundintegerOptionalRound number. 5
teamintegerOptionalTeam id to filter by. 1

Response fields

teams[].idinteger
Team identifier used across other queries.
teams[].namestring
Club name.
teams[].abbrevstring
Three-letter abbreviation.
teams[].logostring
Club logo path.
teams[].debut / retirementinteger
First and last seasons — historical clubs are included.
(games) hteam / ateam / hscore / ascorestring|integer
Home and away teams and scores.
(tips) source / confidence / marginstring|number
Which model made the prediction and how confident it is.

What you can build with the Squiggle (AFL) API

  • Build an AFL fixtures and results site
  • Compare computer tipping model predictions
  • Power a footy tipping competition
  • Analyse AFL ladder and margin trends

Common errors and how to fix them

Empty response

Missing the mandatory `q` parameter.

Fix: Every request needs q=teams, q=games or another query type.

Blocked or throttled

No identifying User-Agent.

Fix: Send a User-Agent with your name and contact, as the maintainer requests.

Historical teams in the list

Defunct clubs are included with retirement years.

Fix: Filter on retirement year if you only want current clubs.

Squiggle (AFL) API — frequently asked questions

Is the Squiggle API free?

Yes, free with no API key. The maintainer asks that you send a User-Agent identifying yourself with contact details.

What makes Squiggle different from other sports APIs?

It aggregates predictions from multiple independent computer tipping models, so you can compare what different statistical approaches forecast for the same match.

Does it cover historical seasons?

Yes, including defunct clubs, which carry a retirement year. Filter on that if you only want currently competing teams.

What sports does it cover?

Australian Football League only — it is a specialist AFL resource rather than a general sports API.

Tools that pair with this API

Squiggle (AFL) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.