What the UK Clean Air Zones charge: the daily rate each council publishes, per vehicle type — and what a trip through them adds up to.
| Zone | Class | Car | Van/LGV | Taxi | HGV | Bus/Coach |
|---|---|---|---|---|---|---|
| Bath | C | — | — | — | £100 | £100 |
| Birmingham | D | £8 | £8 | £8 | £50 | £50 |
| Bradford | C | — | £9 | £7 | £50 | £50 |
| Bristol | D | £9 | £9 | £9 | £100 | £100 |
| Portsmouth | B | — | — | £10 | £50 | £50 |
| Sheffield | C | — | £10 | £10 | £50 | £50 |
| Tyneside (Newcastle and Gateshead) | C | — | £12.5 | £12.5 | £50 | £50 |
| London Congestion Charge | charge | £18 | £18 | £18 | £18 | £18 |
| London Ultra Low Emission Zone (ULEZ) | ULEZ | £12.5 | £12.5 | — | — | — |
London is shown separately: the Congestion Charge and ULEZ are not Clean Air Zones and have different rules. "—" means that vehicle class is not charged in that zone; it is not a zero.
curl "https://caz-cost.rowb.app/api/cost?zone=birmingham&vehicle=van&days=2"
Every zone's penalty figures we could find are in /api/zones, next to the charge. Where a council does not publish the figure on the page we retrieved, it is null — not an estimate.
Each figure comes from the council's own page or GOV.UK, and the URL is carried next to the value in the API. If a council changes its price, the API changes with it.
POST https://caz-cost.rowb.app/mcp