How verification works
Reference datasets marked Verified in the table below pass through a two-agent verification chain before they land. 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. Datasets marked Pending verification carry named-authority sourcing with that independent verification chain still in progress — the Status column below, and each API response’s _source.provenance_status, say which is which.
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. What a developer or agent can inspect and cite directly is the _source envelope returned on every API and MCP response — the named authority, dataset edition and data vintage, licence where applicable, and a one-line citation for the data behind that response. The detailed per-dataset audit records are maintained internally.
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 | Status |
|---|---|---|---|---|---|
| HS codes | 6,937 entries | World Customs Organization HS 2022 nomenclature | On WCO revision (typically 5-yearly with interim corrigenda) | 24 July 2026 | Verified |
| 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 | Verified |
| Airlines | 6,357 carriers (391 with cargo AWB prefixes) | IATA and ICAO airline code registries | Quarterly | 13 May 2026 | Pending verification |
| UN/LOCODE | 116,129 locations | UNECE United Nations Code for Trade and Transport Locations | Semi-annual UNECE release | 15 May 2026 | Pending verification |
| Containers | 10 ISO types | ISO 668 dimensions + ISO 1496 capacities + carrier specifications (Maersk, Hapag-Lloyd, CMA CGM) | As ISO revises | 15 May 2026 | Pending verification |
| 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 | Pending verification |
| INCOTERMS | 11 terms | International Chamber of Commerce Incoterms 2020 rules | Decennial (next: Incoterms 2030) | See CHANGELOG | Verified |
| ULDs | 16 unit-load devices | IATA ULD Technical Manual + carrier-published specifications (Cargolux, Thai Cargo, Unilode) | Annual | 13 May 2026 | Verified |
| 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 | Computed live |
| Emissions factors | 22 factors · road / rail / sea / air / inland waterway | ISO 14083 / GLEC distance-based method; factors from UK DEFRA/DESNZ 2026 (OGL v3.0), US EPA GHG Emission Factors Hub 2024 (US-Gov public domain) and ADEME Base Carbone V23.6 (Licence Ouverte). Fleet/sector-average factors that include average empty running per the cited methodologies (DEFRA, EPA, ADEME road+sea); use actual gross mass, not chargeable/volumetric. Sea and air are low-representativeness generic defaults. | On authority republication; factor table verified cell-for-cell against source | 23 June 2026 | Verified |
| Airports | 85,555 airports | OurAirports community-maintained open data (public domain), cross-checked against OpenFlights + an independent Wikidata sample | On OurAirports publication (community-maintained, frequent) | 24 June 2026 | Verified |
| EU ICS2 stop-words | 240 active terms | European Commission DG TAXUD — EU ICS2 Common Repository stop-words list (ref TAXUD.A.3.003/TA), legal basis Commission Delegated Regulation (EU) 2015/2446 | On EU Commission republication (monthly CIRCABC re-check) | 23 June 2026 | Verified |
| Identifier check digits | 3 schemes · ISO 6346 · IATA AWB · IMO | ISO 6346 (containers), IATA Air Waybill modulus-7 (air waybills), IMO Ship Identification Number Scheme — public check-digit algorithms, implemented not reproduced | On standard revision (algorithms are stable) | 23 June 2026 | Verified |
Counts are accurate as of July 2026. Status reflects each dataset’s current provenance flag — the same one the API’s _source.provenance_status carries: Verified = independent verification complete; Pending verification = compiled from published manufacturer, standard and regulatory sources, best-effort, with independent verification still pending; Computed live = fetched or calculated per request. 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 on the public MCP server repo at github.com/SoapyRED/freightutils-mcp/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.