What is off right now

One filter does it: status=active. An outage is active while supply is affected — a fault that has not been restored, or planned work that has started and not finished.

# Everywhere
curl -H "Authorization: Bearer $AOT_API_KEY" \
  "https://api.aussieoutagetracker.com.au/v1/outages?status=active&limit=500"
 
# One state, faults only
curl -H "Authorization: Bearer $AOT_API_KEY" \
  "https://api.aussieoutagetracker.com.au/v1/outages?state=nsw&status=active&type=unplanned"
 
# Two networks
curl -H "Authorization: Bearer $AOT_API_KEY" \
  "https://api.aussieoutagetracker.com.au/v1/outages?network=ausnet,jemena&status=active"

Lists take comma-separated values, so state=vic,nsw is both states. Walk the pages with cursor until has_more is false (Pagination); on a quiet day one page of up to 500 holds everything.

status=active on its own needs no from or to. A query for live outages is not held to the 31-day window that applies to the archive, so an outage that started weeks ago and is still off is never missed. Add from or to and the window applies again.

Why not just "not restored"

Because some feeds list far more than what is off. AusNet publishes cancelled and forward-dated planned work for months, so most of its feed at any moment is not a live outage. status=active is the normalised answer for every network; anything else — scheduled, restored, cancelled — is kept out. Statuses says how each is decided.

Reading the figures

  • customers_off_now is how many customers are off supply at the latest observation. It is the figure to sum for "customers off right now". It is null where the network publishes no counts.
  • customers_affected is the outage's size over its life, which can be larger than who is off now if some have been restored.
  • estimated_restoration_at is the network's latest estimate. It moves; it is null when the network gave none, and an estimate in the past means the network has not updated it, not that supply is back.
  • starts_at is the network's own start time. It is null for networks that publish none — see Networks and coverage.

Freshness

Every response carries meta.data_as_of, when the most recent successful poll of any network finished. If one network's feed is down, its last known outages are still returned — check feed.status per network in GET/v1/networks before treating a quiet network as a quiet network.

Not for emergencies

Confirm with the distributor before acting on any outage, and never rely on this data for life support or emergency decisions.

Planned work that has not started

status=scheduled lists planned work not yet under way — the forward calendar. Only some networks publish it ahead of time; others list planned work only once it begins, so a quiet calendar for their territory means "not published", never "nothing planned".