---
title: Speed and red light camera offences, South Australia
resource: https://publicdata.au/d/sa-camera-expiation-offences/
publisher: South Australia Police
licence: CC BY 4.0
licence_url: https://creativecommons.org/licenses/by/4.0/
version: 2026-09-28
rows: 45229
fields: 25
source: https://data.sa.gov.au/data/dataset/f8647df4-617b-439c-8de2-6aadfc84826a/resource/62602309-d2ef-4816-b3d9-22976b3563e6/download/2026-2027-camera-offence-report.zip
source_sha256: c6c98d272d17f7d8b98978a5173effd5eeea207f778eb12030eada99e47d4d6c
language: en-AU
operator: National Digital
not_endorsed: true
---

# Speed and red light camera offences, South Australia

Every offence detected by a fixed or mobile safety camera in South Australia in the newest financial year, one row per offence with its location, vehicle, speed, status and penalty.

Published by South Australia Police under CC BY 4.0 and republished here in other formats, with cells typed and suppressed values made null. South Australia Police has not endorsed this site.

Also called: SAPOL Camera Offence Report, SA speed camera offences, South Australian red light camera fines, Expiation notices from safety cameras.

## Download

Latest version, redirects to `https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/`:

- csv: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.csv (15 MB)
- xlsx: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.xlsx (5.6 MB)
- json: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.json (35 MB)
- parquet: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.parquet (949 KB)
- sqlite: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.sqlite (14 MB)
- duckdb: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.duckdb (2.0 MB)
- ndjson: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.ndjson (35 MB)
- arrow: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.arrow (3.8 MB)
- csv.gz: https://publicdata.au/d/sa-camera-expiation-offences/latest/data.csv.gz (1.4 MB)

Pinned version 2026-09-28: `https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/data.<format>`. Dated versions never change.

## Query

The query API returns only the rows you ask for, as JSON, NDJSON or CSV, from the same typed rows as the files. It needs no key. Rows: https://publicdata.au/api/v1/datasets/sa-camera-expiation-offences/rows. Counts and sums: https://publicdata.au/api/v1/datasets/sa-camera-expiation-offences/aggregate.

- Rows: https://publicdata.au/api/v1/datasets/sa-camera-expiation-offences/rows?offence_status=neq.WITHDRAWN%20REISSUED&limit=5
- Aggregate: https://publicdata.au/api/v1/datasets/sa-camera-expiation-offences/aggregate?group=offence_description&metric=count&offence_status=neq.WITHDRAWN%20REISSUED

Each filter is `field=operator.value` in the query string, and every filter must match. A number or date field compares as a number or date, and a text field compares as text. Values are case-sensitive except with `ilike`. Prefix `not.` to negate a filter, as `not.eq.value`. Operators: `eq.value`, `neq.value`, `gt.value`, `gte.value`, `lt.value`, `lte.value`, `like.*text*`, `ilike.*text*`, `in.(a,b,c)`, `is.null`.

- `select`: Fields to return, comma-separated. Every field when absent.
- `order`: `field.asc` or `field.desc`, comma-separated. The publisher's row order when absent.
- `limit`: Rows per page, 1 to 10,000. 100 when absent.
- `offset`: Rows to skip. The `next` URL in each answer sets it for you.
- `group`: On `aggregate`, fields to group by, comma-separated.
- `metric`: On `aggregate`, `count`, `sum.field`, `avg.field`, `min.field` or `max.field`, comma-separated. `count` when absent.
- `format`: `json`, `ndjson` or `csv`. JSON carries the provenance header, and the others carry it in response headers.

Without a version the API answers from the newest loaded version, and that answer changes when the publisher releases again. Put `versions/<date>/` before `rows` or `aggregate` for an answer that never changes. `/api/v1/datasets/<slug>/versions` lists the loaded versions. The API allows 60 requests in 10 seconds from one address. Above that it answers 429 for 10 seconds with a `Retry-After` header, a `RateLimit-Policy` header and a JSON body that gives the limit. Every API answer carries the same `RateLimit-Policy`. A client should wait the `Retry-After` seconds, or read the files, which have no limit. OpenAPI for this dataset: https://publicdata.au/d/sa-camera-expiation-offences/openapi.json

## Explore

Charts and dashboards in the browser: https://publicdata.au/d/sa-camera-expiation-offences/explore/. A dashboard can be shared as a link or embedded.

## Smaller files

- by `camera_category`: https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/by/camera_category/index.json lists 2 files

## Fields

| field | type | publisher's header | note |
|---|---|---|---|
| `event_id` | string | Event ID |  |
| `notice_revision` | string | Notice Revision |  |
| `notice_type` | string | Notice Type Desc |  |
| `notice_status` | string | Notice Status |  |
| `offence_status` | string | Offence Status |  |
| `withdrawn_reason` | string | Withdrawn Reason |  |
| `incident_date` | date | Incident Start Date |  |
| `incident_time` | string | Time 24 Hour - Incident Start | 24-hour time, as published, such as 0:05. |
| `offence_code` | string | Expiation Offence Code |  |
| `offence_description` | string | Expiation Offence Description |  |
| `issue_date` | date | Issue Date |  |
| `camera_category` | string | Camera Category |  |
| `location_code` | string | Location Code | Kept as text to preserve leading zeros. |
| `location_description` | string | Location Description |  |
| `location_suburb` | string | Location Suburb |  |
| `district` | string | District/Service Area |  |
| `vehicle_description` | string | Vehicle Description |  |
| `licence_state` | string | Licence State |  |
| `registration_state` | string | Registration State |  |
| `vehicle_speed` | integer | Vehicle Speed |  |
| `speed_limit` | integer | Expiation Zone Speed Limit |  |
| `penalty_amount` | string | Offence Penalty Amount | The legislated penalty for the offence at the time. As published, in dollars with a dollar sign, such as $1,002. |
| `victims_of_crime_levy` | string | Victim Of Crime Levy Amount | The levy at the time of the incident. As published, in dollars with a dollar sign, such as $1,002. |
| `corporate_fee` | string | Corporate Fee Amount | The fee where the vehicle is registered to a company. As published, in dollars with a dollar sign, such as $1,002. |
| `offence_total` | string | Offence Total | The penalty, levy and corporate fee together. As published, in dollars with a dollar sign, such as $1,002. |

## Versions

- 2026-09-28: 45229 rows, 25 fields, sha256 c6c98d272d17. https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/

Machine-readable: https://publicdata.au/d/sa-camera-expiation-offences/versions.json, https://publicdata.au/d/sa-camera-expiation-offences/changes.json, https://publicdata.au/d/sa-camera-expiation-offences/datapackage.json, https://publicdata.au/d/sa-camera-expiation-offences/schema.json, https://publicdata.au/d/sa-camera-expiation-offences/history.tar.zst

## Part of Expiation notices, South Australia Police

- [Traffic and other offences on police-issued expiation notices, South Australia](https://publicdata.au/d/sa-police-expiation-offences/)
- [Safety camera detections not issued as offences, South Australia](https://publicdata.au/d/sa-camera-detections-not-accepted/)
- [Mobile safety camera location codes, South Australia](https://publicdata.au/d/sa-mobile-camera-location-codes/)

## Same subject, other publishers

- [Traffic and camera offences and fines, ACT](https://publicdata.au/d/act-traffic-camera-offences/) (ACT)
- [Traffic camera offences and fines, ACT, 2010 to 2021](https://publicdata.au/d/act-traffic-camera-offences-2010-2021/) (ACT)
- [Traffic camera locations, ACT](https://publicdata.au/d/act-traffic-camera-locations/) (ACT)
- [Infringements and fines by road safety camera site, Victoria, quarterly](https://publicdata.au/d/vic-road-safety-camera-fines-by-site/) (Vic)
- [Traffic infringements and charges issued by police district, Queensland, from 2013-14](https://publicdata.au/d/qld-traffic-infringements-issued/) (Qld)
- [Traffic infringements and official warnings by issuing agency, Victoria, quarterly](https://publicdata.au/d/vic-traffic-infringements-vs-official-warnings/) (Vic)
- [Mobile speed camera visits, ACT](https://publicdata.au/d/act-mobile-speed-camera-visits/) (ACT)
- [Mobile speed camera sites, Queensland](https://publicdata.au/d/qld-mobile-speed-camera-sites/) (Qld)
- [Approved mobile road safety camera locations, Victoria](https://publicdata.au/d/vic-mobile-road-safety-camera-locations/) (Vic)
- [Parking offences and fines, ACT](https://publicdata.au/d/act-parking-offences/) (ACT)
- [Mobile phone detection camera sites, ACT](https://publicdata.au/d/act-mobile-distraction-camera-locations/) (ACT)
- [Traffic infringement notice payments by day and channel, Queensland](https://publicdata.au/d/qld-traffic-infringement-payments/) (Qld)

## Attribution and citation

South Australia Police, Government of South Australia, Expiation Notice System Data, https://data.sa.gov.au/data/dataset/expiation-notice-system-data, accessed 3 October 2026, licensed under CC BY 4.0.

The licence requires the publisher's attribution. We ask that you also name publicdata.au and link to the version you used.

Plain text: South Australia Police, Government of South Australia, Expiation Notice System Data, https://data.sa.gov.au/data/dataset/expiation-notice-system-data, accessed 3 October 2026, licensed under CC BY 4.0. Serialised and versioned by National Digital at publicdata.au, https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/

Harvard: South Australia Police (2026) Speed and red light camera offences, South Australia, version 2026-09-28 [data set], CC BY 4.0, sourced 3 October 2026. Serialised and versioned by National Digital at publicdata.au. Available at: https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/

Markdown: Data: [Expiation notices, South Australia Police](https://data.sa.gov.au/data/dataset/expiation-notice-system-data), South Australia Police, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), sourced 3 October 2026. Files: [publicdata.au](https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/) by [National Digital](https://nationaldigital.com.au/).

## Questions

### How do I download Speed and red light camera offences as a CSV file?

Open https://publicdata.au/d/sa-camera-expiation-offences/latest/data.csv. It redirects to the newest dated version, which is https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/data.csv today. The same path serves Excel, JSON, Parquet, SQLite, DuckDB, NDJSON, Arrow. A dated URL never changes, so use it when the file must stay the same.

### Can I open Speed and red light camera offences in Excel?

Yes. https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/data.xlsx is a workbook with the 45,229 rows on a records sheet, the field list on a second sheet and the provenance on a third. The CSV also opens in Excel. https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/data.csv.gz is the CSV at about a tenth of the size.

### How often is Speed and red light camera offences updated?

SAPOL releases it monthly. This site checks the portal every week and adds a dated version when the file changes.

### Can I use Speed and red light camera offences commercially?

Yes. CC BY 4.0 allows commercial use, redistribution and derived works as long as the attribution is kept. The attribution string is in this page's side column and inside every file.

### Is this the official source for Speed and red light camera offences?

No. The publisher is South Australia Police, and its page is https://data.sa.gov.au/data/dataset/expiation-notice-system-data. This site republishes the publisher's file without changing its content. The original sits beside every version as source.zip with its SHA-256, so the two can be compared.

### How do I get only the rows for one camera category?

Every version has one JSON file per value of camera_category, 2 files in the current version, listed with row counts at https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/by/camera_category/index.json. For example https://publicdata.au/d/sa-camera-expiation-offences/v/2026-09-28/by/camera_category/fixed-camera.json holds the 29,303 rows where camera_category is FIXED CAMERA.

### What is in each row?

One offence detected by a fixed or mobile safety camera, with the incident date and time, the offence code and description, the notice's revision and status, the camera's location, the vehicle, the speed and limit where it was a speeding offence, and the penalty, levy, corporate fee and total.

### Is each row one fine?

No. Each row is one offence. A notice may hold several offences and may be withdrawn and reissued, so one Event ID can appear on several rows, each with its notice revision.

### Which period does the table cover?

The financial year of the newest report, 2026-27 at the first version, which the publisher replaces as the year goes on. Each new file becomes a version here, and the reports back to 2011-12 stay on the portal.

### Why are the amounts text?

The publisher writes each amount with a dollar sign and a thousands separator, such as $1,002. The amounts are kept as published.

## What this site did to the data

Cells were typed, headers were renamed to snake_case and the encoding was made UTF-8. Rows were left alone. Nothing is derived. The publisher's file is beside every version as `source.zip`.

## Improve this dataset

This page is built from [register/sa-camera-expiation-offences.yaml](https://github.com/National-Digital/publicdata.au/blob/main/register/sa-camera-expiation-offences.yaml) on GitHub, and a fix to it is welcome as a pull request. https://publicdata.au/contribute/ explains how.
