---
title: Libraries in New South Wales
resource: https://publicdata.au/d/nsw-public-libraries/
publisher: Spatial Services, Department of Customer Service NSW
licence: CC BY 3.0 AU
licence_url: https://creativecommons.org/licenses/by/3.0/au/
version: 2026-10-20
rows: 423
fields: 13
source: https://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_POI/MapServer/0/query?where=poitype%3D%27Library%27&outFields=*&orderByFields=objectid&outSR=4326&f=geojson
source_sha256: 0817fa2ca731f55e59f2f055d21bc88fe0f6e5184309884bf4e65d8c8412d496
language: en-AU
operator: National Digital
not_endorsed: true
---

# Libraries in New South Wales

The libraries in the NSW Points of Interest layer, one row per library, with each one's name and location.

Published by Spatial Services, Department of Customer Service NSW under CC BY 3.0 AU. National Digital converted the publisher's file to other formats. It renamed and typed the columns and kept only those the schema lists. National Digital made these changes, and the publisher is not responsible for them. Spatial Services, Department of Customer Service NSW has not endorsed this site.

Also called: NSW public libraries, Library locations in New South Wales, NSW Points of Interest libraries.

## Download

Latest version, redirects to `https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/`:

- csv: https://publicdata.au/d/nsw-public-libraries/latest/data.csv (78 KB)
- xlsx: https://publicdata.au/d/nsw-public-libraries/latest/data.xlsx (57 KB)
- json: https://publicdata.au/d/nsw-public-libraries/latest/data.json (150 KB)
- geojson: https://publicdata.au/d/nsw-public-libraries/latest/data.geojson (197 KB)
- parquet: https://publicdata.au/d/nsw-public-libraries/latest/data.parquet (38 KB)
- sqlite: https://publicdata.au/d/nsw-public-libraries/latest/data.sqlite (102 KB)
- duckdb: https://publicdata.au/d/nsw-public-libraries/latest/data.duckdb
- gpkg: https://publicdata.au/d/nsw-public-libraries/latest/data.gpkg (160 KB)
- geo.parquet: https://publicdata.au/d/nsw-public-libraries/latest/data.geo.parquet (38 KB)
- ndjson: https://publicdata.au/d/nsw-public-libraries/latest/data.ndjson (148 KB)
- csv.gz: https://publicdata.au/d/nsw-public-libraries/latest/data.csv.gz (30 KB)

Pinned version 2026-10-20: `https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/data.<format>`. Dated versions keep their content.

## 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/nsw-public-libraries/rows. Counts and sums: https://publicdata.au/api/v1/datasets/nsw-public-libraries/aggregate.

- Rows: https://publicdata.au/api/v1/datasets/nsw-public-libraries/rows?limit=5
- Aggregate: https://publicdata.au/api/v1/datasets/nsw-public-libraries/aggregate?group=urbanity&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 that `like` and `ilike` ignore case in the ASCII letters A to Z. 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. When absent, rows come in the order of the file they are read from. For the newest versions that is the version's own data.parquet, which keeps the publisher's order unless the dataset sorted it. Any other version is read from the Parquet file the answer names in `file`, and when that file is sorted the answer names its sort in `order`, which ties follow too.
- `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 version, and that answer changes when the publisher releases again. Put `versions/<date>/` before `rows` or `aggregate` for an answer from that version alone. Every version with a table can be queried, and `/api/v1/datasets/<slug>/versions` lists them. A query on a version the database does not hold is read from its Parquet file, and one that would read too much of it is refused with DuckDB SQL that answers it from the file. 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/nsw-public-libraries/openapi.json

## Explore

Charts and dashboards in the browser: https://publicdata.au/d/nsw-public-libraries/explore/. A dashboard can be shared as a link or embedded.

## Fields

| field | type | publisher's header | note |
|---|---|---|---|
| `objectid` | integer | objectid | The layer's row number, which the map service orders its answer by. |
| `name` | string | poiname | The library's name as Spatial Services records it, in capitals. It is empty for the few rows whose label type is `GENERIC`. |
| `label` | string | poilabel | The text the layer labels the point with. It is the name where there is one, and `Library` where there is not. |
| `label_type` | string | poilabeltype | The publisher's `NAMED` or `GENERIC`, as published. |
| `alternative_label` | string | poialtlabel |  |
| `type` | string | poitype |  |
| `urbanity` | string | urbanity | The publisher's urbanity code, `U` or `S`, as published. The layer does not define the codes. |
| `topo_id` | integer | topoid |  |
| `shape_uuid` | string | shapeuuid |  |
| `start_date` | date | startdate |  |
| `last_update_ms` | integer | lastupdate | The time Spatial Services last updated the feature, as the map service gives it, in milliseconds since 1 January 1970 UTC. It is kept as a number because the values carry milliseconds. |
| `longitude` | number | (longitude) |  |
| `latitude` | number | (latitude) |  |

Key: `objectid`.

## Versions

- 2026-10-20: 423 rows, 13 fields, sha256 0817fa2ca731. https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/

Machine-readable: https://publicdata.au/d/nsw-public-libraries/versions.json, https://publicdata.au/d/nsw-public-libraries/changes.json, https://publicdata.au/d/nsw-public-libraries/datapackage.json, https://publicdata.au/d/nsw-public-libraries/schema.json, https://publicdata.au/d/nsw-public-libraries/history.tar.zst

## Same subject, other publishers

- [Public libraries in Victoria, Vicmap Features of Interest](https://publicdata.au/d/vic-public-libraries/) (Vic)
- [Public libraries directory, Queensland](https://publicdata.au/d/qld-public-libraries-directory/) (Qld)
- [Libraries Tasmania locations](https://publicdata.au/d/tas-libraries-locations/) (Tas)
- [Public libraries in Western Australia](https://publicdata.au/d/wa-public-libraries/) (WA)
- [Public library branch statistics, Queensland](https://publicdata.au/d/qld-public-library-branch-statistics/) (Qld)
- [Public library statistics by council, Queensland](https://publicdata.au/d/qld-public-library-council-statistics/) (Qld)
- [Public barbecues, ACT](https://publicdata.au/d/act-barbecues/) (ACT)
- [Public barbecues in the Adelaide Park Lands and city](https://publicdata.au/d/sa-adelaide-city-barbecues/) (Local)
- [Park barbecue locations, Brisbane](https://publicdata.au/d/qld-brisbane-park-barbecues/) (Qld)
- [Boat licences and vessel registrations by postcode, New South Wales](https://publicdata.au/d/nsw-boat-licences-registrations-by-postcode/) (NSW)
- [Justice of the Peace and Commissioner for Declarations signing locations, Queensland](https://publicdata.au/d/qld-jp-signing-locations/) (Qld)
- [Liquor and gaming licences, South Australia, September 2018](https://publicdata.au/d/sa-liquor-gaming-licences-2018/) (SA)

## Attribution and citation

© State Government of NSW and Spatial Services (DCS), NSW Points of Interest (POI), sourced 19 October 2026, https://data.nsw.gov.au/data/dataset/nsw-points-of-interest-poi, licensed under CC BY 3.0 AU.

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

Plain text: © State Government of NSW and Spatial Services (DCS), NSW Points of Interest (POI), sourced 19 October 2026, https://data.nsw.gov.au/data/dataset/nsw-points-of-interest-poi, licensed under CC BY 3.0 AU. Serialised and versioned by National Digital at publicdata.au, https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/

Harvard: Spatial Services, Department of Customer Service NSW (2026) Libraries in New South Wales, version 2026-10-20 [data set], CC BY 3.0 AU, sourced 19 October 2026. Serialised and versioned by National Digital at publicdata.au. Available at: https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/

Markdown: Data: [Libraries in New South Wales](https://data.nsw.gov.au/data/dataset/nsw-points-of-interest-poi), Spatial Services, Department of Customer Service NSW, [CC BY 3.0 AU](https://creativecommons.org/licenses/by/3.0/au/), sourced 19 October 2026. Files: [publicdata.au](https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/) by [National Digital](https://nationaldigital.com.au/).

## Questions

### How do I download Libraries in New South Wales as a CSV file?

Open https://publicdata.au/d/nsw-public-libraries/latest/data.csv. It redirects to the newest dated version, which is https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/data.csv today. The same path serves Excel, JSON, GeoJSON, Parquet, SQLite, DuckDB, GeoPackage, GeoParquet, NDJSON. A dated URL never changes, so use it when the file must stay the same.

### Can I open Libraries in New South Wales in Excel?

Yes. https://publicdata.au/d/nsw-public-libraries/v/2026-10-20/data.xlsx is a workbook with the 423 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/nsw-public-libraries/v/2026-10-20/data.csv.gz is the CSV at about a tenth of the size.

### How often is Libraries in New South Wales updated?

Spatial Services releases it as needed. This site checks the portal every week and adds a dated version when the file changes.

### Can I use Libraries in New South Wales commercially?

Yes. CC BY 3.0 AU 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 Libraries in New South Wales?

No. The publisher is Spatial Services, Department of Customer Service NSW, and its page is https://data.nsw.gov.au/data/dataset/nsw-points-of-interest-poi. National Digital converted the publisher's file to other formats. It renamed and typed the columns and kept only those the schema lists. National Digital made these changes, and the publisher is not responsible for them. The original sits beside every version as source.geojson with its SHA-256, so the two can be compared.

### What coordinate system does Libraries in New South Wales use?

Longitude and latitude in WGS84 (EPSG:4326), as the map service projects them on request. The layer's own extent is stated in GDA94. The GeoJSON file uses the same coordinates, which is what GeoJSON expects.

### What is in each row?

One feature of the NSW Points of Interest layer that Spatial Services types as a library. Each row has the feature's name and label, the dates Spatial Services recorded for it, the publisher's urbanity code and its longitude and latitude.

### Are these only council libraries?

No. The layer types a feature as a library without saying who runs it. Going by their names, most rows are council branch libraries. A small number are university or other institute libraries, such as Fisher Library at the University of Sydney. The layer gives no field that tells them apart.

### Does it give addresses or opening hours?

No. The layer records a library's name and location only. It does not record an address, phone number, opening hours or the library service that runs it.

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

## Improve this dataset

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