List outages

GEThttps://api.aussieoutagetracker.com.au/v1/outages

Needs an API key on the API plan. Each call answered 2xx counts against the plan’s included calls, then is billed beyond them; refusals and our failures never are.

Search the archive. Every network's outages in one shape, newest first, filtered by place, time, type, status and cause, and paged with a cursor. With no filters it walks the whole archive. For what is off right now, use status=active; to keep a copy in sync, use changed_since with sort=updated.

Query parameters

comma-separated list of valuesoptional

Only outages in these states or territories. Comma-separated, e.g. vic,nsw.

Up to 20 values

comma-separated list of stringsoptional

Only these networks, by id from GET /v1/networks, e.g. ausnet,jemena.

Up to 20 values

comma-separated list of valuesoptional

Only these utilities. Electricity is the only one published today.

Up to 20 values

enumoptional

planned work or unplanned faults. Omit for both.

comma-separated list of valuesoptional

Only these lifecycle statuses, e.g. active for what is off right now.

Up to 20 values

What each value means

Lifecycle. active: supply is affected now. scheduled: planned work not yet started. restored: supply is back. cancelled: called off without happening — never summed with restored. unknown: the network gave no status signal at all (vanishingly rare).

comma-separated list of valuesoptional

Only these cause categories, e.g. weather,vegetation.

Up to 20 values

What each value means

The cause, in one vocabulary across every network: planned_work — maintenance, upgrades, connections, metering; weather — storms, lightning, wind, flood, heat; vegetation — trees and branches in or on the lines; animal — birds, bats, possums, wildlife; vehicle — a car, truck or high load hitting the network; third_party — vandalism, theft, dig-ins, other people's works; fire — bushfire or fire near the network; equipment — a failure of the network's own poles, wires, cables or plant; customer — a fault in the customer's installation, or work they asked for; safety — supply cut for public safety or at emergency services' request; upstream — transmission or generation, outside the distributor's network; unspecified — a fault, with no cause given yet; other — a cause the classifier does not recognise yet.

stringoptional

Outages that started at or after this instant. An outage's start is the network's own start time, or when we first saw it where the network publishes none. One query reads at most 31 days of start times: from and to may be at most 31 days apart, from alone reads the 31 days after it, and with neither the window is the last 31 days (not needed for active_at, changed_since, or status of only active/scheduled). Any date can be reached: step through the archive a window at a time. For years at once, request a bulk export.

stringoptional

Outages that started at or before this instant. to alone reads the 31 days before it.

stringoptional

Outages in effect at this instant: started at or before it, and not yet restored by it. Cancelled work is excluded. The question an insurer asks: was the power off here at 3pm on Tuesday?

stringoptional

Outages whose record changed after this instant — created, updated or closed. Pair with sort=updated to keep a copy in sync without re-reading it. At most 31 days ago.

integeroptional

Only outages attributed to this suburb, by id from GET /v1/suburbs.

Above 0

stringoptional

Only outages naming this postcode among their affected localities.

Pattern ^\d{4}$

stringoptional

lat,lng. Only outages within radius_km of this point.

numberoptional

Radius for near, in kilometres. 0 means the point itself must fall inside the outage area.

Default 2Range 0 to 50

stringoptional

minLng,minLat,maxLng,maxLat. Only outages whose area or point falls inside the box.

integeroptional

Only outages that affected at least this many customers.

comma-separated list of valuesoptional

geometry adds each outage's GeoJSON shape. Off by default: polygons are most of the payload.

Up to 20 values

enumoptional

-start newest first (default), start oldest first, updated / -updated by last change.

Default -start

integeroptional

Page size, 1–500.

Default 100Range 1 to 500

stringoptional

The next_cursor from the previous page. Opaque; do not build it.

Max length 400

Responses

200Success
dataarray of object
ShowHide 21 fields of each item
idinteger

Aussie Outage Tracker's id for this outage. Stable for its whole life.

networkobject
ShowHide 3 fields
idstring

Stable network id, e.g. ausnet. Use it in network= filters.

namestring

The network's name, e.g. AusNet Services.

brandstringnullable

Sub-brand where one feed covers two, e.g. Powercor within CitiPower / Powercor. Otherwise null.

utilityenum
electricitywatergastelecommunications
stateenum

Australian state or territory, lower case.

nswvicqldsawatasntact
typeenum

planned work or an unplanned fault.

plannedunplanned
statusenum

Lifecycle. active: supply is affected now. scheduled: planned work not yet started. restored: supply is back. cancelled: called off without happening — never summed with restored. unknown: the network gave no status signal at all (vanishingly rare).

scheduledactiverestoredcancelledunknown
status_detailstringnullable

The network's own status words, verbatim, where it publishes any.

causeobject
ShowHide 2 fields
categoryenumnullable

Null where the network published no cause at all.

planned_workweathervegetationanimalvehiclethird_partyfireequipmentcustomersafetyupstreamunspecifiedother
descriptionstringnullable

The network's own words, verbatim.

customers_affectedintegernullable

Best figure for how many customers this outage affected: the highest count the network reported, or the sum across its localities, whichever is larger. Null where the network publishes no counts.

customers_off_nowintegernullable

Customers off supply at the latest observation, while active. Null once closed, or where not published.

starts_atstring (date-time)nullable

When the outage began (or is scheduled to), as the network reported it. Null where the network publishes no start.

estimated_restoration_atstring (date-time)nullable

The network's latest estimate of restoration, or its scheduled finish for planned work. Null when it gave none.

restored_atstring (date-time)nullable

When supply came back. Null until restored.

restored_at_basisenumnullable

reported: the network published the restoration time. observed: it did not, and this is when the outage left the network's feed.

reportedobserved
duration_minutesintegernullable

starts_at to restored_at, where both are known.

first_seen_atstring (date-time)

When Aussie Outage Tracker first recorded this outage.

last_seen_atstring (date-time)

The latest poll in which the network still published it.

updated_atstring (date-time)

The last time this record changed. What changed_since compares against.

locationobject
ShowHide 4 fields
kindenumnullable

area: the network published a footprint. point: a single location only. Null: no location published.

areapoint
approximateboolean

True when the location is a point, which is approximate — never treat it as the edge of the outage.

centroidobjectnullable

A point inside the outage area, or the published point.

ShowHide 2 fields
latnumber
lngnumber
localitiesarray of object

Affected localities as the network listed them. Empty where it lists none.

ShowHide 3 fields of each item
namestring

Locality name, title-cased where the network writes capitals.

postcodestringnullable

Four-digit postcode, or null where the network gives none.

customersintegernullable

Customers affected in this locality, where the network breaks it down.

geometryobjectnullableoptional

The outage's shape. Present on GET /v1/outages/{id}, and on lists with include=geometry.

ShowHide 2 fields
typestring
coordinatesanyoptional
sourceobject
ShowHide 1 fields
referencestring

The network's own reference for this outage, for quoting to the network.

paginationobject
ShowHide 3 fields
has_moreboolean
next_cursorstringnullable

Pass as cursor for the next page. Null on the last page.

limitinteger
metaobject
ShowHide 1 fields
data_as_ofstring (date-time)nullable

When the most recent successful poll of any network finished. A stale value means the feeds, not this response, are behind.

400A parameter is invalid or unknown — error.param names it.

Every error has the same envelope:

errorobject
ShowHide 3 fields
codeenum
unauthorizedpayment_requiredforbiddennot_foundinvalid_parameterrate_limitedinternal_error
messagestring
paramstringoptional

The query parameter at fault, for invalid_parameter.

401No API key, or one that is not valid.

Every error has the same envelope:

errorobject
ShowHide 3 fields
codeenum
unauthorizedpayment_requiredforbiddennot_foundinvalid_parameterrate_limitedinternal_error
messagestring
paramstringoptional

The query parameter at fault, for invalid_parameter.

402The key's account cannot be billed: no card, or billing past due.

Every error has the same envelope:

errorobject
ShowHide 3 fields
codeenum
unauthorizedpayment_requiredforbiddennot_foundinvalid_parameterrate_limitedinternal_error
messagestring
paramstringoptional

The query parameter at fault, for invalid_parameter.

429Over 60 requests a minute on this key. Not billed.

Every error has the same envelope:

errorobject
ShowHide 3 fields
codeenum
unauthorizedpayment_requiredforbiddennot_foundinvalid_parameterrate_limitedinternal_error
messagestring
paramstringoptional

The query parameter at fault, for invalid_parameter.

Errors lists every error code and what to do about it.