---
title: Traffic and other offences on police-issued expiation notices, South Australia
resource: https://publicdata.au/d/sa-police-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: 27070
fields: 20
source: https://data.sa.gov.au/data/dataset/f8647df4-617b-439c-8de2-6aadfc84826a/resource/408a6933-daa8-4d85-a78c-3c90da501b02/download/2026-2027-manual-notice-offence-report.zip
source_sha256: 6911578b0dce1a56e28b74cca636fd94361f4da5d82e0f5d4424017b30b8c28a
language: en-AU
operator: National Digital
not_endorsed: true
---

# Traffic and other offences on police-issued expiation notices, South Australia

Every offence on an expiation notice or caution written by a South Australia Police officer in the newest financial year, one row per offence with its status, vehicle 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 Manual Notice Offence Report, SA on-the-spot fines, South Australian police traffic infringements.

## Download

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

- csv: https://publicdata.au/d/sa-police-expiation-offences/latest/data.csv (6.5 MB)
- xlsx: https://publicdata.au/d/sa-police-expiation-offences/latest/data.xlsx (2.7 MB)
- json: https://publicdata.au/d/sa-police-expiation-offences/latest/data.json (16 MB)
- parquet: https://publicdata.au/d/sa-police-expiation-offences/latest/data.parquet (330 KB)
- sqlite: https://publicdata.au/d/sa-police-expiation-offences/latest/data.sqlite (6.0 MB)
- duckdb: https://publicdata.au/d/sa-police-expiation-offences/latest/data.duckdb (1.0 MB)
- ndjson: https://publicdata.au/d/sa-police-expiation-offences/latest/data.ndjson (16 MB)
- arrow: https://publicdata.au/d/sa-police-expiation-offences/latest/data.arrow (1.6 MB)
- csv.gz: https://publicdata.au/d/sa-police-expiation-offences/latest/data.csv.gz (650 KB)

Pinned version 2026-09-28: `https://publicdata.au/d/sa-police-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-police-expiation-offences/rows. Counts and sums: https://publicdata.au/api/v1/datasets/sa-police-expiation-offences/aggregate.

- Rows: https://publicdata.au/api/v1/datasets/sa-police-expiation-offences/rows?limit=5
- Aggregate: https://publicdata.au/api/v1/datasets/sa-police-expiation-offences/aggregate?group=offence_description&metric=count

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-police-expiation-offences/openapi.json

## Explore

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

## Smaller files

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

## Fields

| field | type | publisher's header | note |
|---|---|---|---|
| `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 |  |
| `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 |  |
| `blood_alcohol_content` | number | Blood Alcohol Content | 0 where no test was conducted, as the publisher records it. |
| `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: 27070 rows, 20 fields, sha256 6911578b0dce. https://publicdata.au/d/sa-police-expiation-offences/v/2026-09-28/

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

## Part of Expiation notices, South Australia Police

- [Speed and red light camera offences, South Australia](https://publicdata.au/d/sa-camera-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 infringements and charges issued by police district, Queensland, from 2013-14](https://publicdata.au/d/qld-traffic-infringements-issued/) (Qld)
- [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)
- [Parking offences and fines, ACT](https://publicdata.au/d/act-parking-offences/) (ACT)
- [Traffic infringement notice payments by day and channel, Queensland](https://publicdata.au/d/qld-traffic-infringement-payments/) (Qld)
- [Traffic infringements and official warnings by issuing agency, Victoria, quarterly](https://publicdata.au/d/vic-traffic-infringements-vs-official-warnings/) (Vic)
- [Recorded offences by region and month, Northern Territory](https://publicdata.au/d/nt-crime-statistics/) (NT)
- [Factors in road crashes, Queensland](https://publicdata.au/d/qld-road-crash-factors/) (Qld)
- [Office of Fair Trading legal and enforcement actions, Queensland, latest period](https://publicdata.au/d/qld-fair-trading-enforcement-actions/) (Qld)
- [Infringements and fines by road safety camera site, Victoria, quarterly](https://publicdata.au/d/vic-road-safety-camera-fines-by-site/) (Vic)
- [Road crashes, ACT](https://publicdata.au/d/act-road-crashes/) (ACT)
- [Traffic camera locations, ACT](https://publicdata.au/d/act-traffic-camera-locations/) (ACT)

## 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-police-expiation-offences/v/2026-09-28/

Harvard: South Australia Police (2026) Traffic and other offences on police-issued expiation notices, 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-police-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-police-expiation-offences/v/2026-09-28/) by [National Digital](https://nationaldigital.com.au/).

## Questions

### How do I download Traffic and other offences on police-issued expiation notices as a CSV file?

Open https://publicdata.au/d/sa-police-expiation-offences/latest/data.csv. It redirects to the newest dated version, which is https://publicdata.au/d/sa-police-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 Traffic and other offences on police-issued expiation notices in Excel?

Yes. https://publicdata.au/d/sa-police-expiation-offences/v/2026-09-28/data.xlsx is a workbook with the 27,070 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-police-expiation-offences/v/2026-09-28/data.csv.gz is the CSV at about a tenth of the size.

### How often is Traffic and other offences on police-issued expiation notices updated?

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

### Can I use Traffic and other offences on police-issued expiation notices 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 Traffic and other offences on police-issued expiation notices?

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 notice type?

Every version has one JSON file per value of notice_type, 2 files in the current version, listed with row counts at https://publicdata.au/d/sa-police-expiation-offences/v/2026-09-28/by/notice_type/index.json. For example https://publicdata.au/d/sa-police-expiation-offences/v/2026-09-28/by/notice_type/caution-only.json holds the 13,669 rows where notice_type is CAUTION ONLY.

### What is in each row?

One offence on an expiation notice or formal caution written by a police officer, with the incident date and time, the offence code and description, the notice and offence status, the police district, the vehicle, the speed and limit, the blood alcohol reading, and the penalty, levy, corporate fee and total.

### Why is the speed or blood alcohol 0?

The publisher writes 0 where no speed was recorded or no breath test was conducted. The value is kept as published.

### 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.

### 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-police-expiation-offences.yaml](https://github.com/National-Digital/publicdata.au/blob/main/register/sa-police-expiation-offences.yaml) on GitHub, and a fix to it is welcome as a pull request. https://publicdata.au/contribute/ explains how.
