18+ Only  |  Gambling can be addictive — please gamble responsibly  |  Gambling Help: 1800 858 858  |  GambleAware

API reference / Sports

GET /v1/sports/{sport_key}/results

Final scores by sport

Final scores from the league's own record, for the codes we collect. Cost: 1 credit. **Covered: AFL, AFLW, NRL, NRLW** — collected from the AFL's and NRL's own public APIs. Another sport is a free 422 naming these, not an empty 200: an empty list cannot be told apart from a round with no games. `event_id` ties a result to the fixture you have prices for. It is null when the league played a match we were not pricing (most of a backfilled season), and also when two of our fixtures matched it equally well — in that case nothing is guessed and `match_note` says so. One real example: our own feed currently holds the same women's World Cup fixture twice, as 'Papua New Guinea Women' and 'Papua New Guinea Orchids', so that result stays unlinked rather than attaching to one of them. Scores are null until the league calls the match final, so an abandoned or scheduled fixture never reads as a nil-all.

Requires X-API-Key

Request

curl 'https://api.puntersedge.online/v1/sports/afl/results' \
  -H 'X-API-Key: YOUR_KEY'

Parameters

NameIn TypeRequired Description
sport_key path string yes
season query integer no Calendar year of the season. Omit for the most recent results first.
competition query string no Filter on the league's competition name, case-insensitive substring (e.g. 'AFLW', 'Premiership', 'World Cup').
final_only query boolean no Only matches the league has called final. Set false to see scheduled and in-progress fixtures too, which carry null scores.
linked_only query boolean no Only results tied to a fixture in the odds feed. Use it when you are settling bets and a result you cannot join is no use to you.
limit query integer no

Responses

Status codes: 200, 401, 402, 422, 429, 500. Response bodies are JSON; the full schema is in /openapi.json.

Example response

200 application/json Field names and types are as the API returns them; values are a real sample, trimmed to a few items.

[
  {
    "sport_key": "aflw",
    "competition": "2026 NAB AFLW Season",
    "season": 2026,
    "round_title": "Round 10",
    "home_team": "Melbourne",
    "away_team": "Richmond",
    "home_score": 94,
    "away_score": 32,
    "status": "final",
    "start_time": "2026-10-16T08:15:00Z",
    "venue": "Ikon Park",
    "detail": {
      "status": "CONCLUDED",
      "home": {
        "goals": 14,
        "behinds": 10,
        "totalScore": 94,
        "superGoals": 0
      },
      "away": {
        "goals": 5,
        "behinds": 2,
        "totalScore": 32,
        "superGoals": 0
      }
    },
    "event_id": "4b84fde7-7054-40db-a37f-ae05c9705549",
    "match_note": "fuzzy",
    "source": "afl"
  },
  {
    "sport_key": "aflw",
    "competition": "2026 NAB AFLW Season",
    "season": 2026,
    "round_title": "Round 11",
    "home_team": "Adelaide Crows",
    "away_team": "Gold Coast SUNS",
    "home_score": null,
    "away_score": null,
    "status": "unconfirmed_teams",
    "start_time": "2026-10-24T07:45:00Z",
    "venue": "TBC",
    "detail": {
      "status": "UNCONFIRMED_TEAMS",
      "home": null,
      "away": null
    },
    "event_id": null,
    "match_note": "no candidate fixture",
    "source": "afl"
  }
]

Related endpoints

Try it against live data

The free tier needs no credit card, and the sandbox endpoints need no key at all.

Get a free API key Quickstart
This site contains wagering-related analysis and is intended for Australian users aged 18+. Gambling involves risk. Please gamble responsibly.