API

The Live Roads Australia API

The live events behind the map: closures, crashes, roadworks, flooding and bushfires, by state or territory, road or area, as GeoJSON or JSON. Try it for 5 days with a trial key; after that, the API is paid.

Attribution is required on every plan

Trial, Personal, Professional and Enterprise alike: wherever the data appears, show “Data: Live Roads Australia” with a visible link to liveroadsaustralia.com, and keep the original sources' credits where the response includes them. Ready to paste:

Data: <a href="https://liveroadsaustralia.com">Live Roads Australia</a>

Get started

Create a trial key with the form below and add it to the request. Open this in a browser, with your key at the end, and you have data:

https://liveroadsaustralia.com/api/v1/incidents?state=NSW&road=hume-highway&key=lra_…

From code, send the key in a header instead:

curl -H "X-API-Key: lra_…" "https://liveroadsaustralia.com/api/v1/incidents?state=QLD&road=bruce-highway&type=flooding&format=json"

It answers with GeoJSON, ready for a map. For plain JSON, add &format=json. CORS is open, so you can call it from a browser with no server in between.

Your key

Since 8 October 2026 the API is paid, and every request needs a key. The key you create here is a trial key: it works for 5 days from your first request, at 120 requests per hour, so you can see whether the API fits what you are building. To keep going after that, write to [email protected] with your project's name and intended use, and we reply with a plan and an invoice.

We ask for a name, an email and what it is for so we can tell you when an official source goes down, learn what the API is missing, and switch off a runaway loop without switching off everyone.

Instant, no approval. Works for 5 days from the first request.

Plans

Trial

Everyone, to see if it fits

Free

  • 5 days from your first request
  • 120 requests per hour
  • All states and filters
  • Attribution required

Personal

Personal and small projects with no meaningful revenue

$16/month

  • About 10,000 requests per day
  • All states and territories
  • Attribution required

Professional

Commercial apps, ad-supported sites, use inside a company

$89/month

  • About 100,000 requests per day
  • Email notice when a source goes down
  • Attribution required

Enterprise

Fleets, insurers, media, several countries, an SLA

Talk to us

  • Agreed limits and an SLA
  • Several countries, through Roadscore
  • A contract

Through Roadscore, or write to [email protected].

What a plan pays for: access to the service, meaning the API itself, its limits and support. It does not buy rights to the underlying data, which belongs to the agencies that publish it; their credits travel with every record and must be kept.

How to pay: for now, by email and invoice. Write to [email protected] with what you are building and the plan you want; we reply with an invoice and switch your key over, with no new key to install.

Parameters

One endpoint, GET /api/v1/incidents. Every parameter is optional and they combine: a request with none returns every live event in Australia, newest first, up to the limit.

ParameterValuesWhat for
stateNSW, QLD, western-australiaOne or more states or territories, by code (NSW, VIC, QLD, WA, SA, TAS, ACT, NT) or by the slug in /state/… URLs. Comma-separated.
roadhume-highway, Bruce Highway, Hume HwyOne or more roads, by the slug in /road/hume-highway or by name. Names are read the way the feeds write them, so Hume Hwy and M31 Hume Motorway both mean the Hume Highway.
typeaccident, incident, roadworks, flooding, bushfireCrashes, other unplanned events (breakdowns, debris, hazards, load restrictions), roadworks, roads cut or affected by water, and bushfires near a road or warnings for an area.
statusactive, scheduledWhat applies now, or planned work that has not started yet.
closureany, full, lanes, ramp, connector, shoulder, partialOnly events that close something. full is the road itself shut.
sourcelivetraffic-nsw, mainroads-wa, trafficsa…One or more source ids, as in each record's source field.
bbox150.5,-34.2,151.4,-33.5minLon,minLat,maxLon,maxLat: only events inside this box.
since2026-10-08T14:00:00ZOnly events updated at or after this time.
limit, offset1 to 5000 (1000 by default)Paging. Events come newest update first; meta.total says how many matched.
formatgeojson (default), jsonGeoJSON for maps, plain JSON for lists.
keylra_…Your key, if you can't send the X-API-Key header (for example, pasting the URL in a browser).

An unknown state or territory, type or a malformed bbox gets a 400 that says what was wrong.

Example

Full closures in New South Wales, as GeoJSON (a real response, with limit=2):

GET https://liveroadsaustralia.com/api/v1/incidents?state=NSW&closure=full&limit=2
{
  "type": "FeatureCollection",
  "attribution": {
    "text": "Data: Live Roads Australia",
    "url": "https://liveroadsaustralia.com"
  },
  "meta": {
    "count": 2,
    "total": 2,
    "offset": 0,
    "limit": 2,
    "generatedAt": "2026-10-12T10:15:25.813Z",
    "licence": "Use requires a key (5-day trial, then a paid plan). Attribution is required on every plan: show \"Data: Live Roads Australia\" with a visible link to https://liveroadsaustralia.com wherever the data appears, and keep the original sources' credits where the response includes them. Sources: Live Traffic NSW (Transport for NSW) is CC BY 3.0 AU; ACT data (act-tccs, Transport Canberra and City Services) is CC BY-SA 4.0, share-alike, so work built on those records must carry the same licence; the other state sources are CC BY. No Bureau of Meteorology data is included.",
    "sources": [
      {
        "id": "livetraffic-nsw",
        "name": "Live Traffic NSW (Transport for NSW)",
        "attribution": "Live Traffic NSW, Transport for NSW"
      }
    ]
  },
  "features": [
    {
      "type": "Feature",
      "id": "nsw-286135",
      "geometry": {
        "type": "Point",
        "coordinates": [
          151.2117665,
          -33.8641321
        ]
      },
      "properties": {
        "id": "nsw-286135",
        "type": "roadworks",
        "severity": "high",
        "status": "active",
        "title": "Roadworks on Phillip Street, at Bridge Street Sydney",
        "description": "The road will be closed in both directions continuously from midnight Fri to 3am Mon. · Phillip Street at Bridge Street Sydney · Use diversions",
        "road": "Phillip Street",
        "direction": "both directions",
        "location": "at Bridge Street Sydney",
        "state": "NSW",
        "closure": "full",
        "overnight": false,
        "source": "livetraffic-nsw",
        "sourceUrl": "https://www.livetraffic.com/",
        "reportedBy": null,
        "tz": "Australia/Sydney",
        "startedAt": "2026-09-25T14:00:00.000Z",
        "endsAt": null,
        "updatedAt": "2026-09-16T15:56:07.631Z"
      }
    },
    {
      "type": "Feature",
      "id": "nsw-95130",
      "geometry": {
        "type": "Point",
        "coordinates": [
          148.386062,
          -35.753159
        ]
      },
      "properties": {
        "id": "nsw-95130",
        "type": "incident",
        "severity": "critical",
        "status": "active",
        "title": "Changed traffic conditions: Snowy 2.0 road closure on Lobs Hole Ravine Road, at Snowy Mountains Highway Yarrangobilly…",
        "description": "Snowy 2.0 construction vehicles only will be allowed access. · Lobs Hole Ravine Road at Snowy Mountains Highway Yarrangobilly to Cabramurra · Plan your journey",
        "road": "Lobs Hole Ravine Road",
        "direction": null,
        "location": "at Snowy Mountains Highway Yarrangobilly to Cabramurra",
        "state": "NSW",
        "closure": "full",
        "overnight": false,
        "source": "livetraffic-nsw",
        "sourceUrl": "https://www.livetraffic.com/",
        "reportedBy": null,
        "tz": "Australia/Sydney",
        "startedAt": "2019-02-19T07:00:00.000Z",
        "endsAt": null,
        "updatedAt": "2026-02-08T12:00:21.647Z"
      }
    }
  ]
}

Crashes and other incidents in Western Australia, as JSON:

GET https://liveroadsaustralia.com/api/v1/incidents?state=WA&type=accident,incident&format=json&limit=2
{
  "attribution": {
    "text": "Data: Live Roads Australia",
    "url": "https://liveroadsaustralia.com"
  },
  "meta": {
    "count": 2,
    "total": 28,
    "offset": 0,
    "limit": 2,
    "generatedAt": "2026-10-12T10:15:25.813Z",
    "licence": "Use requires a key (5-day trial, then a paid plan). Attribution is required on every plan: show \"Data: Live Roads Australia\" with a visible link to https://liveroadsaustralia.com wherever the data appears, and keep the original sources' credits where the response includes them. Sources: Live Traffic NSW (Transport for NSW) is CC BY 3.0 AU; ACT data (act-tccs, Transport Canberra and City Services) is CC BY-SA 4.0, share-alike, so work built on those records must carry the same licence; the other state sources are CC BY. No Bureau of Meteorology data is included.",
    "sources": [
      {
        "id": "mainroads-wa",
        "name": "Main Roads Western Australia",
        "attribution": "Main Roads Western Australia"
      }
    ]
  },
  "incidents": [
    {
      "id": "wa-0-7284",
      "type": "incident",
      "severity": "medium",
      "status": "active",
      "lat": -34.994514465332,
      "lon": 116.903602600098,
      "title": "Events on the South Coast Highway",
      "description": "Shire of Denmark",
      "road": "South Coast Highway",
      "direction": null,
      "location": null,
      "state": "WA",
      "closure": null,
      "overnight": false,
      "source": "mainroads-wa",
      "sourceUrl": "https://travelmap.mainroads.wa.gov.au/",
      "reportedBy": null,
      "tz": "Australia/Perth",
      "startedAt": "2026-10-12T10:14:26.499Z",
      "endsAt": null,
      "updatedAt": "2026-10-12T10:14:26.499Z"
    },
    {
      "id": "wa-0-7402",
      "type": "incident",
      "severity": "medium",
      "status": "active",
      "lat": -32.8170356750488,
      "lon": 116.472671508789,
      "title": "Events on Bannister Marradong Road",
      "description": "Shire of Boddington",
      "road": "Bannister Marradong Road",
      "direction": null,
      "location": null,
      "state": "WA",
      "closure": null,
      "overnight": false,
      "source": "mainroads-wa",
      "sourceUrl": "https://travelmap.mainroads.wa.gov.au/",
      "reportedBy": null,
      "tz": "Australia/Perth",
      "startedAt": "2026-10-12T10:14:26.499Z",
      "endsAt": null,
      "updatedAt": "2026-10-12T10:14:26.499Z"
    }
  ]
}

What each event carries

idStable for the life of the event; also what /api/incident/{id} on the site uses.
type, severity, statustype as above; severity info, low, medium, high or critical; status active or scheduled.
lat, lonWhere the event is. In GeoJSON, the Point geometry.
title, descriptionA short title, and the source's own wording cleaned of whitespace.
road, direction, locationThe road's name in one spelling (Hume Highway, Pacific Motorway), direction in words, and the place on the road when the source names them. Null when it doesn't; area-wide bushfire warnings have no road.
state, tzState or territory code (NSW, VIC, QLD, WA, SA, TAS, ACT, NT), and the IANA time zone of the place (Australia/Sydney, Australia/Perth…).
closurefull, lanes, ramp, connector, shoulder or partial, when something is shut. Null otherwise.
overnightNight works: roadworks that run at night only.
source, sourceUrlWho published it, and where to check. Every record carries its source; keep it, and its licence, when you show the data.
reportedByThe newsroom, when the record is a news report rather than an official one. Null otherwise.
startedAt, endsAt, updatedAtISO times. endsAt is null when the source gives no end.

Around the events, every response has attribution (the credit to show) and meta: count, total, offset, limit, generatedAt, the licence line, and sources, each source in the response with the credit line it asks for. The same credit goes in the X-Attribution header.

Errors

  • 401 no key. Until the end of 13 October 2026 (Lisbon time) a request without a key still gets an answer, with a notice in the X-API-Notice header and in meta.notice; from 14 October it gets a 401.
  • 402 the trial is over. The body says when it ended and how to get a paid plan.
  • 403 the key was revoked. The body says why.
  • 429 too many requests, with the wait in the retry-after header.
  • 400 a parameter we can't read; 503 the upstream data could not be reached (try again in a minute).

A trial key's responses carry X-API-Trial-Ends with the end of its trial, so your code can see it coming.

Limits

Trial keys: 120 requests per hour. Personal: about 10,000 a day; Professional: about 100,000 a day; Enterprise: what we agree. Counted per key, not per IP, so an app with many users is not stopped by one of them. Over the limit you get a 429; every response says where you stand in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Without a key, during the grace period, 20 per hour.

Responses are cached for 30 seconds and the sources update every few minutes, so asking more than twice a minute brings nothing new.

Terms

Attribution is required on every plan

Trial, Personal, Professional and Enterprise alike: wherever the data appears, show “Data: Live Roads Australia” with a visible link to liveroadsaustralia.com, and keep the original sources' credits where the response includes them. Ready to paste:

Data: <a href="https://liveroadsaustralia.com">Live Roads Australia</a>

Building a product on the API without a paid plan, or without the attribution above, is not an authorized use. A plan pays for access to the service (the API, its limits and support); we don't own or license the underlying data, and each record's source and the credit lines in meta.sources must stay with it. The data comes from the state and territory road authorities (Transport for NSW, Main Roads WA, the Department for Infrastructure and Transport in South Australia, the Northern Territory Government, the Department of State Growth in Tasmania and others as they connect), through Roadscore; readers have a right to know that an event was posted by an agency and not invented by an algorithm.

The sources' licences travel with the data. Live Traffic NSW is published under CC BY 3.0 AU. ACT data (source act-tccs, Transport Canberra and City Services) is CC BY-SA 4.0: share-alike, so anything you publish that is built on those records must be shared under the same licence. The other state sources are CC BY. Each record's source tells you which applies. No Bureau of Meteorology data is included: its licence does not allow it.

Honest about coverage

The API returns what official sources published, not what is happening on the road. A road with no events in the response is not a clear road: it may be one nobody published anything about. Coverage grows state by state, and each state page (for example New South Wales) says what is covered there and what is not connected yet. If you build alerts on this, tell the people who get them. Never use it for emergency decisions: in an emergency, call 000.

Publish data instead of reading it

This page is for reading the data. If you are a road authority, a council or an event organiser and want your closures on the map and in this API, with your agency named as the source, see partners. It is free for public agencies.

Contact

Paid plans, a lost key, a question about a field, or a source that looks wrong: [email protected].