---
title: Yearly traffic counts by station, New South Wales
resource: https://publicdata.au/d/nsw-traffic-volume-yearly/
publisher: Transport for NSW
licence: CC BY 4.0
licence_url: https://creativecommons.org/licenses/by/4.0/
version: 2026-10-04
rows: 276877
fields: 22
source: https://opendata.transport.nsw.gov.au/data/dataset/ef2b0bd2-db1e-48f3-9ea1-2bb9e6bc6504/resource/cba9a012-c305-414e-b848-f0e3aad18d97/download/road_traffic_counts_yearly_summary.csv
source_sha256: 27a429d13b431d20085cb87685305acff94a39e95dc4991a881de1fd3d16467d
language: en-AU
operator: National Digital
not_endorsed: true
---

# Yearly traffic counts by station, New South Wales

The yearly traffic count at each Transport for NSW counting station since 2006, by direction, vehicle class and period of the week.

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

Also called: NSW annual average daily traffic by station, TfNSW traffic count yearly summary, NSW road traffic volumes by year.

## Download

Latest version, redirects to `https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/`:

- csv: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.csv (43 MB)
- xlsx: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.xlsx (21 MB)
- json: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.json (154 MB)
- parquet: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.parquet (2.7 MB)
- sqlite: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.sqlite (40 MB)
- duckdb: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.duckdb (10 MB)
- ndjson: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.ndjson (154 MB)
- arrow: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.arrow (8.5 MB)
- csv.gz: https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.csv.gz (3.8 MB)

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

- Rows: https://publicdata.au/api/v1/datasets/nsw-traffic-volume-yearly/rows?period=eq.ALL%20DAYS&year=eq.2026&classification_type=neq.UNCLASSIFIED&traffic_direction_seq=eq.2&limit=5
- Aggregate: https://publicdata.au/api/v1/datasets/nsw-traffic-volume-yearly/aggregate?group=classification_type&metric=avg.traffic_count&period=eq.ALL%20DAYS&year=eq.2026&classification_type=neq.UNCLASSIFIED&traffic_direction_seq=eq.2

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-traffic-volume-yearly/openapi.json

## Explore

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

## Smaller files

- by `year`: https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/by/year/index.json lists 21 files

## Fields

| field | type | publisher's header | note |
|---|---|---|---|
| `cartodb_id` | integer | cartodb_id |  |
| `station_key` | integer | station_key |  |
| `station_id` | string | station_id |  |
| `traffic_direction_seq` | integer | traffic_direction_seq |  |
| `traffic_direction_name` | string | traffic_direction_name |  |
| `cardinal_direction_seq` | integer | cardinal_direction_seq |  |
| `cardinal_direction_name` | string | cardinal_direction_name |  |
| `classification_seq` | integer | classification_seq |  |
| `classification_type` | string | classification_type |  |
| `count_type` | string | count_type |  |
| `year` | integer | year |  |
| `period` | string | period |  |
| `partial_year` | boolean | partial_year |  |
| `latest_date` | string | latest_date |  |
| `traffic_count` | integer | traffic_count |  |
| `data_start_date` | string | data_start_date |  |
| `data_end_date` | string | data_end_date |  |
| `data_duration` | integer | data_duration |  |
| `data_availability` | integer | data_availability |  |
| `data_reliability` | integer | data_reliability |  |
| `data_quality_indicator` | integer | data_quality_indicator |  |
| `updated_on` | string | updated_on |  |

Key: `cartodb_id`.

## Versions

- 2026-10-04: 276877 rows, 22 fields, sha256 27a429d13b43 (9582 added, 9567 removed, 1 changed). https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/
- 2026-09-04: 276862 rows, 22 fields, sha256 9ac6aca26db7. https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-09-04/

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

## Part of NSW Roads Traffic Volume Counts

- [Traffic count stations, New South Wales](https://publicdata.au/d/nsw-traffic-count-stations/)

## Same subject, other publishers

- [Traffic volume estimates on state roads, South Australia](https://publicdata.au/d/sa-traffic-volumes/) (SA)
- [Traffic census of state-controlled roads, Queensland](https://publicdata.au/d/qld-traffic-census/) (Qld)
- [Annual average daily traffic volume on declared roads, 2019, Victoria](https://publicdata.au/d/vic-traffic-volume-aadt-2019/) (Vic)
- [Traffic volumes at count sites, Main Roads Western Australia](https://publicdata.au/d/wa-traffic-digest/) (WA)
- [Traffic by hour of day and day of week, Queensland, 2025](https://publicdata.au/d/qld-traffic-by-hour-and-day/) (Qld)
- [Vehicle types in road crashes, Queensland](https://publicdata.au/d/qld-road-crash-vehicle-types/) (Qld)
- [Factors in road crashes, Queensland](https://publicdata.au/d/qld-road-crash-factors/) (Qld)
- [Registered vehicles by owner postcode, make and body type, South Australia](https://publicdata.au/d/sa-registered-vehicles-by-postcode/) (SA)
- [Registered vehicles by colour, make and body type, South Australia](https://publicdata.au/d/sa-registered-vehicles-by-colour/) (SA)
- [Road crash locations, South Australia](https://publicdata.au/d/sa-road-crash-locations/) (SA)
- [Registered vehicles by body type and vehicle type, South Australia](https://publicdata.au/d/sa-registered-vehicles-by-body-type/) (SA)
- [Road crashes, Tasmania](https://publicdata.au/d/tas-road-crashes/) (Tas)

## Attribution and citation

Transport for NSW, NSW Government, NSW Roads Traffic Volume Counts API, sourced 4 October 2026, https://data.nsw.gov.au/data/dataset/2-nsw-roads-traffic-volume-counts-api, 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: Transport for NSW, NSW Government, NSW Roads Traffic Volume Counts API, sourced 4 October 2026, https://data.nsw.gov.au/data/dataset/2-nsw-roads-traffic-volume-counts-api, licensed under CC BY 4.0. Serialised and versioned by National Digital at publicdata.au, https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/

Harvard: Transport for NSW (2026) Yearly traffic counts by station, New South Wales, version 2026-10-04 [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-traffic-volume-yearly/v/2026-10-04/

Markdown: Data: [NSW Roads Traffic Volume Counts](https://data.nsw.gov.au/data/dataset/2-nsw-roads-traffic-volume-counts-api), Transport for NSW, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), sourced 4 October 2026. Files: [publicdata.au](https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/) by [National Digital](https://nationaldigital.com.au/).

## Questions

### How do I download Yearly traffic counts by station as a CSV file?

Open https://publicdata.au/d/nsw-traffic-volume-yearly/latest/data.csv. It redirects to the newest dated version, which is https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/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 Yearly traffic counts by station in Excel?

Yes. https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/data.xlsx is a workbook with the 276,877 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-traffic-volume-yearly/v/2026-10-04/data.csv.gz is the CSV at about a tenth of the size.

### What years does Yearly traffic counts by station cover?

The current version covers 2006 to 2025. Each release from TfNSW becomes a new dated version here, and earlier versions stay online.

### How often is Yearly traffic counts by station updated?

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

### Can I use Yearly traffic counts by station 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 Yearly traffic counts by station?

No. The publisher is Transport for NSW, and its page is https://data.nsw.gov.au/data/dataset/2-nsw-roads-traffic-volume-counts-api. This site republishes the publisher's file without changing its content. The original sits beside every version as source.csv with its SHA-256, so the two can be compared.

### How do I get only the rows for one year?

Every version has one JSON file per value of year, 21 files in the current version, listed with row counts at https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/by/year/index.json. For example https://publicdata.au/d/nsw-traffic-volume-yearly/v/2026-10-04/by/year/2010.json holds the 23,333 rows where year is 2010.

### What is in each row?

One station, year, direction, vehicle class and period of the week, such as weekdays or the AM peak, with the traffic count Transport for NSW reports for it and its flags for a partial year, data availability, reliability and quality.

### How is the traffic count formed?

The count is the figure Transport for NSW reports for the station, year, direction, vehicle class and period named. Its documentation on the dataset page explains how counts are built. Note the partial year flag and the quality indicators before comparing stations or years.

### Where is each station?

Join on the station key to the station table in this collection, which has the road, suburb and coordinates.

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

## Improve this dataset

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