publicdataau
Published by NSW Bureau of Crime Statistics and Research under CC BY 4.0 and republished here without change to the content. NSW Bureau of Crime Statistics and Research has not endorsed this site.

Recorded criminal incidents by council area and month, NSW

live
Publisher NSW Bureau of Crime Statistics and ResearchUpdated quarterlyLicence CC BY 4.0Latest 2026-09-16Rows 3,070,116Fields 5

Recorded criminal incidents for each NSW local government area, by offence category and subcategory, for every month since January 1995. BOCSAR publishes it as a workbook with one column per month; each cell is one row here, keyed by council area, offence category, subcategory and month.

Also called: BOCSAR recorded crime statistics, NSW recorded criminal incidents by LGA, NSW crime data by local government area, BOCSAR RCI offence by month.

Format
"Latest" redirects to the newest version and will change when the publisher releases again. A dated version never changes.
https://publicdata.au/d/nsw-recorded-crime-by-lga/latest/data.parquet
Download

What is in it

Column names are made snake_case and the publisher's original header is kept beside each one. Blank cells are null. Nothing is added, removed, ranked or summarised.

FieldTypePublisher's headerNote
lgastringLGALocal government area as BOCSAR names it.
offence_categorystringOffence category
subcategorystringSubcategoryBlank where the category has no subcategories. An asterisk on a name is BOCSAR's own.
monthdate(column header)First day of the month the incidents were recorded in.
incidentsinteger(cell)Criminal incidents recorded by NSW Police in that month.

schema.json has the same list as a Frictionless Table Schema. The key is lga, offence_category, subcategory, month.

A sample record

The first row of the latest version, as it appears in data.json.

GET https://publicdata.au/d/nsw-recorded-crime-by-lga/latest/data.json
{
  "lga": "Albury",
  "offence_category": "Homicide",
  "subcategory": "Murder *",
  "month": "1995-01-01",
  "incidents": 0
}

Smaller files

The same rows split by a field, one JSON file each. Each file carries the same provenance header.

By lga (131 files)

by/lga/index.json lists every file with its row count.

What changed

One version for every release the publisher has made since this site started following the dataset. The date is the day the file changed on the portal.

  • 2026-09-16
    3,070,116 rows5 fieldsxlsx9b13b9e87887

versions.json · changes.json · history.tar.zst (1.3 MB, every version's Parquet and manifest)

Questions

How do I download Recorded criminal incidents by council area and month as a CSV file?

Open https://publicdata.au/d/nsw-recorded-crime-by-lga/latest/data.csv. It redirects to the newest dated version, which is https://publicdata.au/d/nsw-recorded-crime-by-lga/v/2026-09-16/data.csv today. The same path serves Parquet, JSON, SQLite, NDJSON, Arrow. A dated URL never changes, so use it when the file must stay the same.

Can I open Recorded criminal incidents by council area and month in Excel?

Not as a workbook. Excel stops at 1,048,576 rows and this table has 3,070,116, so there is no data.xlsx. Load the CSV or the Parquet file with Power Query, or take one partition file at a time. https://publicdata.au/d/nsw-recorded-crime-by-lga/v/2026-09-16/data.csv.gz is the CSV at about a tenth of the size.

What years does Recorded criminal incidents by council area and month cover?

The current version covers 1995. Each release from BOCSAR becomes a new dated version here, and earlier versions stay online.

How often is Recorded criminal incidents by council area and month updated?

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

Can I use Recorded criminal incidents by council area and month 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 Recorded criminal incidents by council area and month?

No. The publisher is NSW Bureau of Crime Statistics and Research, and its page is https://data.nsw.gov.au/data/dataset/nsw-crime-and-policing-statistics. This site republishes the publisher's file without changing its content. The original sits beside every version as source.xlsm with its SHA-256, so the two can be compared.

How do I get only the rows for one lga?

Every version has one JSON file per value of lga, 131 files in the current version, listed with row counts at https://publicdata.au/d/nsw-recorded-crime-by-lga/v/2026-09-16/by/lga/index.json. For example https://publicdata.au/d/nsw-recorded-crime-by-lga/v/2026-09-16/by/lga/albury.json holds the 23,436 rows where lga is Albury.

Why is this one row per month when the publisher's file has one column per month?

The publisher's workbook has a column for every month since January 1995 and gains three columns each quarter. Each cell here is one row, with its council area, offence category, subcategory and month, so a new release adds rows instead of columns and every version has the same fields. No count is changed.

Are these counts of offences or of people?

They are criminal incidents recorded by NSW Police in each month. One incident can involve more than one person and more than one offence category. The publisher's notes on the portal explain how incidents are counted.

How often is it updated?

BOCSAR releases this dataset every quarter. Recent months can change when police records are updated, so a later version can revise an earlier month.

What this site did to the data. Cells were typed, headers were renamed and the encoding was made UTF-8. Rows were left alone. The publisher's file sits beside every version as source.xlsm so the change can be checked.