# NRL Live API
> Live National Rugby League (NRL) data, sourced from the same official scoring feed the broadcasters use. Pull the live scoreboard, the up-to-date ladder (rank, points, wins, losses, draws, points and tries for/against, points difference, bonus points and current streak), all NRL clubs and club detail, and a full match centre: team stats (metres, passes, line breaks, tackles, missed tackles, offloads) plus both team line-ups with per-player tries, run metres, tackles, line breaks, passes and goals. Read the latest NRL news too. Real-time during play, no key needed upstream. Ideal for footy tipping and fantasy apps, live scoreboards, sports media and match dashboards.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/nrl-api/..."
```

## Pricing
- **Free** (Free) — 4,500 calls/Mo, 2 req/s
- **Starter** ($8/Mo) — 75,000 calls/Mo, 8 req/s
- **Pro** ($27/Mo) — 380,000 calls/Mo, 25 req/s
- **Elite** ($89/Mo) — 1,700,000 calls/Mo, 60 req/s

## Endpoints

### NRL

#### `GET /v1/match` — Match centre: team stats + line-ups

**Parameters:**
- `event` (query, required, string) — Match (event) id from /v1/scoreboard Example: `603354`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/match?event=603354"
```

**Response:**
```json
{
    "data": {
        "match": {
            "id": "603354",
            "date": "2026-06-04T09:50Z",
            "teams": [
                {
                    "id": "289196",
                    "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289196.png",
                    "name": "Sea Eagles",
                    "score": 28,
                    "halves": [
                        10,
                        28,
                        0,
                        0
                    ],
                    "record": "WLWWW",
                    "winner": true,
                    "home_away": "home",
                    "abbreviation": "MAN"
                },
                {
                    "id": "289205",
                    "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289205.png",
                    "name": "Rabbitohs",
                    "score": 14,
                    "halves": [
                        8,
                        14,
                        0,
                        0
                    ],
                    "record": "LLLWL",
                    "winner": false,
                    "home_away": "away",
                    "abbreviation": "SOU"
                }
            ],
            "venue": "4 Pines Park",
            "detail": "Final",
            "status": "Final"
        },
        "lineups": [
            {
                "team": "Sea Eagles",
                "winner": true,
                "playe
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/news` — Latest NRL news

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/news"
```

**Response:**
```json
{
    "data": {
        "count": 6,
        "articles": [
            {
                "link": "https://www.espn.com/nrl/story/_/id/48988217/state-origin-ii-news-report-queensland-maroons-bench-options-now-focus-billy-slater",
                "image": "https://a.espncdn.com/photo/2026/0601/r1666545_1296x518_5-2.jpg",
                "headline": "Maroons bench options now the focus for Slater",
                "description": "The Dolphins are the form Queensland team in the NRL and that could play into the hands of forwards Tom Gilbert and Kulikefu Finefeuiaki when the Maroons side is named."
            },
            {
                "link": "https://www.espn.com/nrl/story/_/id/48971943/nrl-round-14-news-report-queensland-maroons-ezra-mam-star-understands-axing-says-broncos-coach",
                "image": "https://a.espncdn.com/photo/2026/0324/r1633051_1296x729_16-9.jpg",
                "headline": "Maroons star 'understands' axing: Broncos coach",
                "description": "Michael Maguire insists Ezra Mam understands the decision to axe him from Brisbane's starting line-up only days after featuring in Queensland's squad for State of Origin I."
            },
            {
                "link": "https://www.espn.com/nrl/story/_/id/48971735/nrl-round-14-news-report-wayne-bennett-blasts-bunker-big-miss-adds-south-sydney-rabbitohs-pain",
                "image": "https://a.espncdn.com/photo/2026/0604/r1668026_1296x729_16-9.jpg",
                "headline": "Bennett 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/scoreboard` — Matches with scores

**Parameters:**
- `dates` (query, optional, string) — Optional YYYYMMDD or range

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/scoreboard"
```

**Response:**
```json
{
    "data": {
        "count": 8,
        "league": "NRL",
        "season": "2026",
        "matches": [
            {
                "id": "603354",
                "date": "2026-06-04T09:50Z",
                "name": "Sea Eagles vs Rabbitohs",
                "state": "post",
                "teams": [
                    {
                        "id": "289196",
                        "name": "Sea Eagles",
                        "score": 28,
                        "halves": [
                            10,
                            28,
                            0,
                            0
                        ],
                        "record": "WLWWW",
                        "winner": true,
                        "home_away": "home",
                        "abbreviation": "MAN"
                    },
                    {
                        "id": "289205",
                        "name": "Rabbitohs",
                        "score": 14,
                        "halves": [
                            8,
                            14,
                            0,
                            0
                        ],
                        "record": "LLLWL",
                        "winner": false,
                        "home_away": "away",
                        "abbreviation": "SOU"
                    }
                ],
                "venue": "4 Pines Park",
                "detail": "Final",
                "status": "Final",
  
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/standings` — The NRL ladder

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/standings"
```

**Response:**
```json
{
    "data": {
        "count": 17,
        "group": "Round-Robin",
        "ladder": [
            {
                "bye": 1,
                "won": 12,
                "lost": 1,
                "rank": 1,
                "seed": 1,
                "team": "Panthers",
                "drawn": 0,
                "played": 13,
                "points": 26,
                "streak": "-",
                "team_id": "289199",
                "tries_for": 76,
                "points_for": 437,
                "bonus_points": 0,
                "tries_against": 29,
                "points_against": 164,
                "tries_difference": "47",
                "points_difference": "+273"
            },
            {
                "bye": 2,
                "won": 9,
                "lost": 3,
                "rank": 2,
                "seed": 2,
                "team": "Warriors",
                "drawn": 0,
                "played": 12,
                "points": 22,
                "streak": "-",
                "team_id": "289201",
                "tries_for": 64,
                "points_for": 368,
                "bonus_points": 0,
                "tries_against": 38,
                "points_against": 214,
                "tries_difference": "26",
                "points_difference": "+154"
            },
            {
                "bye": 2,
                "won": 8,
                "lost": 4,
                "rank": 3,
                "seed": 3,
                "team": "
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/team` — Club detail by id

**Parameters:**
- `team` (query, required, string) — Numeric club id, e.g. 289195 (Broncos) Example: `289195`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/team?team=289195"
```

**Response:**
```json
{
    "data": {
        "team": {
            "id": "289195",
            "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289195.png",
            "name": "Broncos",
            "record": "LLLLL",
            "next_event": "Rabbitohs vs Broncos",
            "abbreviation": "BRI"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T01:19:59.406Z",
        "request_id": "9f89a050-ca75-4a90-bcec-7b5abadf2b8b"
    },
    "status": "ok",
    "message": "Team retrieved successfully",
    "success": true
}
```

#### `GET /v1/teams` — All NRL clubs

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/teams"
```

**Response:**
```json
{
    "data": {
        "count": 19,
        "teams": [
            {
                "id": "289195",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289195.png",
                "name": "Broncos",
                "abbreviation": "BRI"
            },
            {
                "id": "289197",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289197.png",
                "name": "Bulldogs",
                "abbreviation": "CAN"
            },
            {
                "id": "289202",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289202.png",
                "name": "Cowboys",
                "abbreviation": "NOR"
            },
            {
                "id": "289346",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289346.png",
                "name": "Dolphins",
                "abbreviation": "DOL"
            },
            {
                "id": "289209",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289209.png",
                "name": "Dragons",
                "abbreviation": "ST."
            },
            {
                "id": "289194",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/teams/500/289194.png",
                "name": "Eels",
                "abbreviation": "PAR"
            },
            {
                "id": "289207",
                "logo": "https://a.espncdn.com/i/teamlogos/rugby/te
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service description & endpoints

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nrl-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "nrl-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/news": "NRL news.",
            "GET /v1/team": "Club detail by id (team=, e.g. 289195).",
            "GET /v1/match": "Match centre: team stats + line-ups (event=id from scoreboard).",
            "GET /v1/teams": "All NRL clubs.",
            "GET /v1/standings": "The NRL ladder.",
            "GET /v1/scoreboard": "Matches with scores (dates=YYYYMMDD optional)."
        },
        "description": "National Rugby League (NRL) live data: the scoreboard, the ladder (rank, points, wins/losses/draws, points and tries for/against, bonus points, streak), the 17 clubs and club detail, a full match centre with team stats and team line-ups (per-player tries, metres, tackles, line breaks, passes and goals), and news. Real live data, no key."
    },
    "meta": {
        "timestamp": "2026-06-08T01:19:59.749Z",
        "request_id": "1a67e4e3-34aa-4393-b452-7b038d87fefc"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/nrl-api
OpenAPI spec: https://www.oanor.com/api/nrl-api/openapi.json
