---
title: Beachwatch swim sites with pollution forecasts and latest water quality, New South Wales
resource: https://publicdata.au/d/nsw-beachwatch-sites/
publisher: NSW Department of Climate Change, Energy, the Environment and Water
licence: CC BY 4.0
licence_url: https://creativecommons.org/licenses/by/4.0/
version: 2026-10-05
rows: 246
fields: 9
source: https://api.beachwatch.nsw.gov.au/public/sites/geojson
source_sha256: 41eb306d501653dae129f13a34efa79c4f3437682817853b27fb8f6b22ed5bd0
language: en-AU
operator: National Digital
not_endorsed: true
---

# Beachwatch swim sites with pollution forecasts and latest water quality, New South Wales

Every NSW swim site that Beachwatch monitors, with today's pollution forecast, the latest water quality result and the site's location. Read daily as a live feed.

Published by NSW Department of Climate Change, Energy, the Environment and Water under CC BY 4.0 and republished here in other formats, with cells typed and suppressed values made null. NSW Department of Climate Change, Energy, the Environment and Water has not endorsed this site.

Also called: Beachwatch NSW water quality, Is it safe to swim at my beach NSW, Sydney beach pollution forecast, NSW swim site water quality results.

## Download

Latest version, redirects to `https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-05/`:

- csv: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.csv (42 KB)
- xlsx: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.xlsx (29 KB)
- json: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.json (85 KB)
- geojson: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.geojson (109 KB)
- parquet: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.parquet (20 KB)
- sqlite: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.sqlite (82 KB)
- duckdb: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.duckdb (200 KB)
- gpkg: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.gpkg (127 KB)
- geo.parquet: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.geo.parquet (21 KB)
- ndjson: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.ndjson (84 KB)
- arrow: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.arrow (20 KB)
- csv.gz: https://publicdata.au/d/nsw-beachwatch-sites/latest/data.csv.gz (11 KB)

Pinned version 2026-10-05: `https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-05/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/nsw-beachwatch-sites/rows. Counts and sums: https://publicdata.au/api/v1/datasets/nsw-beachwatch-sites/aggregate.

- Rows: https://publicdata.au/api/v1/datasets/nsw-beachwatch-sites/rows?limit=5
- Aggregate: https://publicdata.au/api/v1/datasets/nsw-beachwatch-sites/aggregate?group=latest_result&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/nsw-beachwatch-sites/openapi.json

## Explore

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

## Fields

| field | type | publisher's header | note |
|---|---|---|---|
| `id` | string | id |  |
| `site_name` | string | siteName |  |
| `pollution_forecast` | string | pollutionForecast |  |
| `pollution_forecast_timestamp` | string | pollutionForecastTimeStamp | ISO 8601 timestamp with its UTC offset, as the feed gives it. |
| `latest_result` | string | latestResult |  |
| `latest_result_rating` | integer | latestResultRating | Beachwatch's numeric rating for the latest result, as published. |
| `latest_result_observation_date` | string | latestResultObservationDate | ISO 8601 timestamp with its UTC offset, as the feed gives it. |
| `longitude` | number | (longitude) |  |
| `latitude` | number | (latitude) |  |

Key: `id`.

## Versions

- 2026-10-05: 246 rows, 9 fields, sha256 41eb306d5016 (0 added, 0 removed, 246 changed). https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-05/
- 2026-10-04: 246 rows, 9 fields, sha256 eace078fe5df (0 added, 0 removed, 246 changed). https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-04/
- 2026-10-03: 246 rows, 9 fields, sha256 4f1e944b4095 (0 added, 0 removed, 246 changed). https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-03/
- 2026-10-02: 246 rows, 9 fields, sha256 7ba64b671183. https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-02/

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

## Same subject, other publishers

- [Beach Report enterococci samples, Port Phillip Bay, since 2013](https://publicdata.au/d/vic-beach-report-enterococci/) (Vic)
- [Beach Report sampling sites, Port Phillip Bay](https://publicdata.au/d/vic-beach-report-sites/) (Vic)
- [Recreational lakes and rivers water quality, ACT, 2019-20 season](https://publicdata.au/d/act-recreational-water-quality-2019-20/) (ACT)
- [Recreational lakes and rivers water quality, ACT, 2018-19 season](https://publicdata.au/d/act-recreational-water-quality-2018-19/) (ACT)
- [Lakes and rivers water quality samples, ACT](https://publicdata.au/d/act-lakes-rivers-water-quality/) (ACT)
- [Daily water storage levels, Australian dams and reservoirs](https://publicdata.au/d/au-water-storage-levels/) (Cth)
- [Open surface water gauging stations, Queensland](https://publicdata.au/d/qld-surface-water-gauging-stations/) (Qld)
- [Air quality monitoring sites, South Australia](https://publicdata.au/d/sa-air-quality-monitoring-sites/) (SA)
- [Air quality hourly averages at every EPA monitoring station, Victoria, latest year](https://publicdata.au/d/vic-air-quality-hourly/) (Vic)
- [Air quality monitoring by hour, ACT](https://publicdata.au/d/act-air-quality/) (ACT)
- [Water storages reporting to the Bureau of Meteorology, Australia](https://publicdata.au/d/au-water-storages/) (Cth)
- [Bushfire and prescribed burn history, South Australia](https://publicdata.au/d/sa-fire-history/) (SA)

## Attribution and citation

NSW Department of Climate Change, Energy, the Environment and Water, NSW Government, Beachwatch, sourced 4 October 2026, https://data.nsw.gov.au/data/dataset/beachwatch, 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: NSW Department of Climate Change, Energy, the Environment and Water, NSW Government, Beachwatch, sourced 4 October 2026, https://data.nsw.gov.au/data/dataset/beachwatch, licensed under CC BY 4.0. Serialised and versioned by National Digital at publicdata.au, https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-05/

Harvard: NSW Department of Climate Change, Energy, the Environment and Water (2026) Beachwatch swim sites with pollution forecasts and latest water quality, New South Wales, version 2026-10-05 [data set], CC BY 4.0, sourced 4 October 2026. Serialised and versioned by National Digital at publicdata.au. Available at: https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-05/

Markdown: Data: [Beachwatch swim sites with pollution forecasts and latest water quality, New South Wales](https://www.environment.nsw.gov.au/about-us/copyright-and-disclaimer), NSW Department of Climate Change, Energy, the Environment and Water, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), sourced 4 October 2026. Files: [publicdata.au](https://publicdata.au/d/nsw-beachwatch-sites/v/2026-10-05/) by [National Digital](https://nationaldigital.com.au/).

## Questions

### How do I download Beachwatch swim sites with pollution forecasts and latest water quality as a CSV file?

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

### Can I open Beachwatch swim sites with pollution forecasts and latest water quality in Excel?

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

### How often is Beachwatch swim sites with pollution forecasts and latest water quality updated?

DCCEEW updates it continuously. This site checks the portal every week and adds a dated version when the file changes.

### Can I use Beachwatch swim sites with pollution forecasts and latest water quality 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 Beachwatch swim sites with pollution forecasts and latest water quality?

No. The publisher is NSW Department of Climate Change, Energy, the Environment and Water, and its page is https://www.environment.nsw.gov.au/about-us/copyright-and-disclaimer. This site republishes the publisher's file without changing its content. The original sits beside every version as source.geojson with its SHA-256, so the two can be compared.

### What coordinate system does Beachwatch swim sites with pollution forecasts and latest water quality use?

Point coordinates from a GeoJSON feed, which by the GeoJSON standard are WGS84 longitude and latitude. They are published as given. The GeoJSON file uses the same coordinates, which is what GeoJSON expects.

### What is in each row?

One swim site that Beachwatch monitors, with its name, the current pollution forecast and when it was issued, the latest water quality result and its rating, the date of that sample, and the site's longitude and latitude.

### How often does it change?

Beachwatch issues pollution forecasts daily and samples sites on a schedule. This entry is read as a live feed, and each day the feed changes is one version, so earlier days stay here as earlier versions.

### What does forecast not available mean?

Beachwatch issues a daily forecast only for some sites and seasons. Other sites show forecast not available 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.geojson`.

## Improve this dataset

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