Air waybill extraction API

Upload an air waybill. Get structured JSON—validated.

A developer API that turns MAWB/HAWB PDFs and scans into a fixed schema, with IATA Mod-7 check digits and weight sanity checks built in.

Credit packs check out via Creem now. Public extraction API & interactive playground are coming soon—see a static before/after below.

One schema

Same JSON for Master (MAWB) and House (HAWB). Not courier labels. Not general document AI.

Mod-7 + weights

IATA AWB check digit and chargeable_kg ≥ gross_kg run on every response.

Review flags

Failed checks or low confidence set needs_review: true—so bad rows don’t land silently.

Who this is for

Freight forwarders, customs brokers, and cargo TMS teams that already receive air-waybill PDFs (or phone photos) and need fields in a database or workflow—not another generic OCR playground.

Core fields

FieldNotes
document_typeAlways air_waybill
awb_levelmawb | hawb | unknown
awb_number11-digit airline AWB (XXX-XXXXXXXX)
hawb_numberHouse number when present
issue_dateISO date when readable
shipper_name / consignee_nameParty names
airport_dep / airport_destPrefer IATA three-letter codes
flight_number / flight_dateWhen printed on the form
piecesPiece count
gross_kg / chargeable_kgWeights in kg
charges_paymente.g. prepaid / collect when present
field_confidencePer-field confidence hints
validationsRule results (Mod-7, weights)
needs_reviewtrue when validators fail or confidence is low

Validations (product, not garnish)

More detail: AWB check digit (Mod-7) · MAWB vs HAWB

Before & after

Sample public MAWB (Ethiopian Airlines / Against Malaria fixture) → structured JSON with Mod-7 and weight validators. Illustrative extract—not a live API call.

Input · sample air waybill
Sample Ethiopian Airlines master air waybill
Output · example JSON
{
  "document_type": "air_waybill",
  "awb_level": "mawb",
  "awb_number": "071-12760786",
  "hawb_number": null,
  "issue_date": "2006-05-27",
  "shipper_name": "International Federation of Red Cross…",
  "consignee_name": "Ethiopia Red Cross Society…",
  "airport_dep": "DXB",
  "airport_dest": "ADD",
  "flight_number": null,
  "flight_date": null,
  "pieces": "60",
  "gross_kg": "2520",
  "chargeable_kg": "2520",
  "charges_payment": "prepaid",
  "field_confidence": { "awb_number": 0.95 },
  "validations": {
    "awb_check_digit_ok": true,
    "chargeable_gte_gross": true
  },
  "needs_review": false
}

Curl example

Public API endpoint — coming soon

curl -sS -X POST "https://getdocapi.com/v1/extract/awb" \
  -H "Authorization: Bearer <api_key>" \
  -F "file=@./sample-mawb.pdf;type=application/pdf"

Marketing site is live. The extraction API at this path is not public yet—contract shown for integrators planning ahead.

Example response

{
  "document_type": "air_waybill",
  "awb_level": "mawb",
  "awb_number": "071-12760786",
  "hawb_number": null,
  "issue_date": "2006-05-27",
  "shipper_name": "…",
  "consignee_name": "…",
  "airport_dep": "DXB",
  "airport_dest": "ADD",
  "flight_number": null,
  "flight_date": null,
  "pieces": "60",
  "gross_kg": "2520",
  "chargeable_kg": "2520",
  "charges_payment": "prepaid",
  "field_confidence": { "awb_number": 0.95 },
  "validations": {
    "awb_check_digit_ok": true,
    "chargeable_gte_gross": true
  },
  "needs_review": false
}

Pricing teaser

Free

100 / month

  • No card required
  • Playground + API

Credit packs

from $12

  • $12 → 100 docs
  • $50 → 500 docs

Full pricing → · Credit packs: Buy with Creem.

Accuracy note

On a self-built 31-document bench (public blanks, vendor examples, and open challenge fixtures—not a third-party certification), DeepSeek-assisted extraction scored approximately: AWB number ~96%, airports ~92%, pieces ~96%, gross weight ~93%, chargeable weight ~92%. These numbers are internal eval only. They are not audited by IATA, carriers, or an independent lab. Production SLAs are TBD.

FAQ

MAWB vs HAWB—do I need two endpoints?

No. One endpoint, one schema. See MAWB vs HAWB extraction.

Does this replace EDI / FWB?

No. If you already receive clean FWB/EDI, keep using it. This API fills the PDF and scan gap—pre-alerts, emailed copies, phone photos.

Courier labels (DHL/UPS/FedEx)?

Out of scope for v1. Those are parcel waybills / shipping labels, not IATA air waybills.

Ocean B/L or ASN?

Out of scope. Different document family; may come later as separate extractors.


Try playground Buy credits Read docs