How ADR dangerous goods data works — and why I made it a free API

How ADR dangerous goods data works — and why I made it a free API

posted 2 min read

I plan freight transport, including dangerous goods shipments. A big part of my job involves checking ADR dangerous goods classifications — is this substance Class 3 or 6.1? What's the transport category? Does the 1.1.3.6 small load exemption apply?

The data exists in a UN treaty called ADR (Accord européen relatif au transport international des marchandises Dangereuses par Route). It's updated every two years. The current edition — ADR 2025 — has 2,939 entries covering every hazardous substance authorised for road transport across 54 countries.

The problem

Every time I needed to check a UN number, I'd either dig through a physical copy of ADR Table A or use one of the paid compliance tools. The free options online were incomplete, outdated, or buried behind registration walls.

So I built my own.

What the data looks like

Each ADR entry contains:

  • UN Number — 4-digit identifier (e.g. UN 1203 for petrol)
  • Proper Shipping Name — the official name for transport documents
  • Class — primary hazard (1-9, from explosives to miscellaneous)
  • Packing Group — I (high danger), II (medium), III (low)
  • Transport Category — determines the 1.1.3.6 exemption threshold
  • Tunnel Restriction Code — which road tunnels the goods may pass through
  • Limited Quantity — max per inner package for LQ relief
  • Excepted Quantity — EQ code for minimal-quantity exemptions

The 1.1.3.6 exemption — where it gets interesting

Most freight operators carrying small quantities of DG don't need full ADR compliance. The 1.1.3.6 exemption works on a points system:

  • Each substance has a transport category (0–4)
  • Each category has a multiplier (category 2 = ×3, category 3 = ×1)
  • Multiply quantity × multiplier for each substance
  • If total ≤ 1,000 points, the exemption applies

For example: 200 litres of petrol (UN 1203, category 2, multiplier 3) = 600 points. Under 1,000, so the exemption applies. No ADR driver licence needed, reduced placarding requirements.

This calculation is something I do daily. So I built a calculator that does it instantly — including mixed loads with multiple substances.

The free API

Everything is available as a REST API. No auth, no signup, JSON responses:

# Look up UN 1203
curl "https://www.freightutils.com/api/adr?un=1203"

# Calculate 1.1.3.6 exemption for 200L of petrol
curl "https://www.freightutils.com/api/adr-calculator?un=1203&qty=200"

# Search by substance name
curl "https://www.freightutils.com/api/adr?search=acetone"

The dataset contains all 2,939 entries from UNECE ADR 2025, licensed from Labeline.com. It's updated with each new ADR edition.

Why free?

The formulas are standard. The data is published by the UN. Freight calculations shouldn't be locked behind enterprise contracts. I built these tools because I needed them — and if other planners and developers need them too, they should just work.

The full toolkit is at freightutils.com — 17 tools, 19 API endpoints, and an MCP server for AI agents.


Built between loading DG shipments at 3AM. If you're integrating freight calculations into your software, the API docs are at freightutils.com/api-docs.

1 Comment

1 vote
1

More Posts

Merancang Backend Bisnis ISP: API Pelanggan, Paket Internet, Invoice, dan Tiket Support

Masbadar - Mar 13

I’m a Senior Dev and I’ve Forgotten How to Think Without a Prompt

Karol Modelskiverified - Mar 19

How I Built a React Portfolio in 7 Days That Landed ₹1.2L in Freelance Work

Dharanidharan - Feb 9

Breaking the AI Data Bottleneck: How Hammerspace's AI Data Platform Eliminates Migration Nightmares

Tom Smithverified - Mar 16

The End of Data Export: Why the Cloud is a Compliance Trap

Pocket Portfolioverified - Apr 6
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

1 comment
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!