Extract data from dangerous goods declarations
A dangerous goods declaration is the document in which a shipper certifies, in writing and under signature, that a hazardous consignment has been classified, packed, marked, and labeled to move safely. It is the paper a carrier, a port, and a customs authority all check before hazmat is loaded, and it is unforgiving of error: the core of it is the UN number, the proper shipping name, the hazard class (one of Classes 1 through 9), and the packing group (I, II, or III) that together decide how a substance may travel. A freight forwarder booking the cargo, a vessel planner stowing it, and an emergency responder reading it after an incident all rely on the same fields being exactly right. Which rulebook governs depends on the mode. Sea carriage follows the IMO IMDG Code, air follows the IATA Dangerous Goods Regulations, and road follows ADR, and a multimodal move can touch two of them on one journey. A single declaration often lists several substances, each its own line with a UN number, a proper shipping name, a hazard class and any subsidiary hazard, a packing group, a quantity and unit, and a marine-pollutant flag. Transport detail sits alongside: the vessel and voyage, the container number and its ISO 6346 type, the seal, and the ports of loading and discharge. An emergency contact reachable around the clock and any special handling instructions round it out, because the declaration is a safety document first and a logistics document second. Feed the declaration to Talonic and the shipper, consignee, notify party, and carrier come back with the transport leg and a dangerous-goods line array: UN number, proper shipping name, hazard class, subsidiary hazard, packing group, quantity and unit, packaging type, and the marine-pollutant flag per substance. A sea declaration issued 2026-05-09 by Rhein Chemie GmbH out of Hamburg, listing Paint under Class 3 in Packing Group III alongside a flammable liquid, signed off 2026-05-10 with an around-the-clock emergency number and a 40-foot container under ISO 6346, lands in a booking and stowage system as structured data. UN numbers and hazard classes are read exactly as written, and each value links to its source region, because a transcription error on a dangerous goods line is a safety problem, not a data-entry one.
What gets extracted from dangerous goods declarations
How extraction works for dangerous goods declarations
Dangerous goods declarations reach a forwarder as shipper-signed PDFs, portal exports, and scanned multimodal forms, and the hazmat detail is the part that cannot be approximated. Talonic classifies the declaration by transport mode and maps it to the dangerous-goods model in the Field Registry, which returns the parties and the transport leg as header fields and each hazardous substance as its own line. The UN number, proper shipping name, hazard class, subsidiary hazard, packing group, quantity and unit, and marine-pollutant flag are read per line exactly as written, the container is validated against the ISO 6346 check digit, and the transport mode (sea under IMDG, air under IATA, road under ADR) is captured so the right rulebook is on the record. Every value returns with a confidence score and a pixel-region pointer conforming to DIN SPEC 91491, so a vessel planner or a customs officer can verify a UN number or a packing group against the signed declaration before the cargo is loaded.
Sample extraction
A two-line multimodal dangerous goods declaration for a sea leg out of Hamburg
{
"document_number": "DGD-2026-05-0774",
"document_date": "2026-05-09",
"shipper": "Rhein Chemie GmbH",
"shipper.address": "Chempark, 20539 Hamburg, Germany",
"transport_mode": "sea",
"vessel_name": "Northern Jasper",
"voyage_number": "124W",
"port_of_loading": "DEHAM Hamburg",
"port_of_discharge": "USNYC New York",
"container_number": "HLXU2249871",
"container_type": "40HC",
"declarant_name": "K. Vogel",
"declaration_signature_date": "2026-05-10",
"dangerous_goods_items": [
{
"un_number": "UN1263",
"proper_shipping_name": "Paint",
"hazard_class": "3",
"packing_group": "III",
"quantity": 480,
"quantity_unit": "L",
"marine_pollutant": false
},
{
"un_number": "UN1993",
"proper_shipping_name": "Flammable liquid, n.o.s.",
"hazard_class": "3",
"packing_group": "II",
"quantity": 120,
"quantity_unit": "L",
"marine_pollutant": false
}
]
}Frequently asked
Does it read each hazardous substance as its own line?
Yes. A declaration listing several substances returns a line per substance with its UN number, proper shipping name, hazard class, any subsidiary hazard, packing group, quantity, unit, and marine-pollutant flag, so a mixed consignment is itemized rather than collapsed into one description.
Which regulatory modes are supported?
The transport mode is captured, and the field set follows it: sea carriage under the IMO IMDG Code, air under the IATA Dangerous Goods Regulations, and road under ADR. A multimodal move that touches more than one is flagged so both rulebooks are visible on the record.
Are UN numbers and classes validated?
UN numbers, hazard classes, and packing groups are read exactly as written and returned with a confidence score, because a transposed UN number changes the substance. A low-confidence hazard field is surfaced for a human to check against the signed page rather than passed through silently.
What about the emergency contact and handling instructions?
The around-the-clock emergency contact and any special handling instructions are captured as their own fields, because they are what a first responder reads at the scene, and the declarant name and signature date are kept for the audit trail.
Ready to extract from your own dangerous goods declarations?
Author note
Reviewed by Talonic engineering · last reviewed 2026-07-07