How verification works
Every record in the reference datasets passes through a two-agent verification chain before it lands. Code (running in a sandboxed terminal) does the source consensus โ pulling at least four independent authoritative sources per entry and transcribing the canonical values. Chrome (running in a real browser) then re-opens each source URL live and confirms the transcription matches what the publisher is currently serving.
Smoke tests and regression guards catch the systematic errors a per-record reviewer would miss โ volume-versus-dimension consistency on containers, plausible-bounds checks on ULD heights, known-value guards on commonly-cited HS codes. The pre-2026-04 PAG/PGA bug on ULDs (a single character drift that survived several months) is the type case for why human-only review is the failure mode this skips.
Every audit decision โ including aggregator-versus-primary-source tiebreaks, tare-weight range collapses, and variant-split decisions โ is captured in a per-record provenance.decision_rationale field. The full audit log lives in docs/audit/ in the source repository; the per-record summary surfaces on each REST endpoint.
Datasets
Every dataset shipped through FreightUtils is listed below with its canonical source, update cadence, and last audit date.
| Dataset | Size | Source | Update cadence | Last audit |
|---|---|---|---|---|
| HS codes | 6,940 entries | World Customs Organization HS 2022 nomenclature | On WCO revision (typically 5-yearly with interim corrigenda) | 15 May 2026 |
| ADR 2025 | 2,939 entries | UNECE Agreement concerning the International Carriage of Dangerous Goods by Road (ADR), 2025 edition | Biennial (next: ADR 2027) | 13 May 2026 |
| Airlines | 6,352 carriers (390 verified cargo AWB prefixes) | IATA and ICAO airline code registries | Quarterly | 13 May 2026 |
| UN/LOCODE | 116,129 locations | UNECE United Nations Code for Trade and Transport Locations | Semi-annual UNECE release | 15 May 2026 |
| Containers | 10 ISO types | ISO 668 dimensions + ISO 1496 capacities + carrier specifications (Maersk, Hapag-Lloyd, CMA CGM) | As ISO revises | 15 May 2026 |
| Vehicles | 17 road-freight records | EU Directive 96/53/EC + UK DVSA + 49 CFR Part 393 + manufacturer specifications (Schmitz Cargobull, Krone, Faymonville, DAF, Mercedes-Benz, VW, Ford, Wabash National) | As manufacturers publish; regulatory limits as published | 16 May 2026 |
| INCOTERMS | 11 terms | International Chamber of Commerce Incoterms 2020 rules | Decennial (next: Incoterms 2030) | See CHANGELOG |
| ULDs | 16 unit-load devices | IATA ULD Technical Manual + carrier-published specifications (Cargolux, Thai Cargo, Unilode) | Annual | 13 May 2026 |
| UK Duty calculator | Live tariff fetch | UK Trade Tariff (trade-tariff.service.gov.uk), Open Government Licence v3 | Continuous โ UK Trade Tariff is rolling-updated by HMRC | 16 May 2026 |
Counts are accurate as of May 2026. Aggregator sources (SeaRates, IncoDocs, freight-news blogs, generic ULD reseller pages) are not counted as independent sources โ they republish carrier data. Where an aggregator and a primary publisher disagree, the primary publisher wins.
Known limitations
FreightUtils is not a substitute for the canonical published source. The numbers, classifications, and rules on this site are accurate to the named authority as of the last audit date, but operators making consequential decisions must verify against the publisher.
- ADR data is for reference. It does not replace classification by a qualified Dangerous Goods Safety Adviser, and it does not constitute legal advice on dangerous-goods transport compliance.
- HS code data is for reference. Official customs classification is the responsibility of a licensed customs broker or the relevant national customs authority.
- UK duty rates are computed against the live UK Trade Tariff API. Rates change. The site fetches at request time; cached or screenshotted results go stale immediately.
- Container, pallet, ULD, and vehicle specifications represent the standardised or most-commonly-published manufacturer values. Real-world tare and capacity vary between build lots and operators.
- Airline codes change. Mergers, code retirements, and new entrants are picked up on the quarterly audit pass; between passes, the underlying IATA/ICAO registry is the authority.
For any operational, regulatory, or commercial decision, verify against the canonical publisher named in the datasets table above.
Report an error
Errors get fixed. If a value disagrees with a primary source, email contact@freightutils.com with the dataset, the record, and the source URL โ or file an issue at github.com/SoapyRED/freighttools/issues.
Flagged errors are investigated within 48 hours. Fixed entries are recorded by date in the changelog with a one-line note explaining the correction and the primary source it now reflects.