*** September 2026 Major Release ***Read and watch
Document type

Extracting data from certificates of origin

Chambers of commerce and government agencies issue certificates of origin, and some trade agreements let exporters certify origin themselves. Customs brokers and importers receive proof of origin with shipments that claim a preferential tariff rate, as a scan, a PDF from the exporter or an electronic certificate.

Customs entry needs the exporter, the importer, each item's HS code and origin criterion, and the invoice it covers. The broker claims the agreement's tariff rate in the customs entry, and the certificate supports that claim in an audit.

Page 1 of a sample Certificate of Origin, with extracted values outlined
3,312Markdown characters
46parse blocks
48fields extracted
The problem

What makes certificates of origin hard

Formats differ by agreement

Some agreements prescribe a numbered certificate, and others accept an origin statement in the exporter's own format, so boxes and wording vary.

Typed values over captions

Exporters complete the form by typewriter or printer, and values often start on a caption's line and print over it.

Red stamps across the text

The exporter's company chop and the certifying authority's seal are stamped in red, often over printed dates and declarations.

How it works

Parse, extract, verify

1

Parse

Parse turns the document into reading-order Markdown and a hierarchy of blocks (text, tables, figures), and grounds each block to its exact location on the page.

2

Extract

You define the fields in a JSON schema, and Extract returns their values in a consistent, structured format, each linked back to where it appears in the Markdown.

3

Verify

Each value links back to where it appears, down to the character range in the Markdown, and the page and bounding box in the source document, so every result can be verified.

Worked example

One certificate of origin, end to end

About this document: A preferential certificate of origin, Form L, issued in Guangzhou under the China–Costa Rica Free Trade Agreement for two lines of footwear shipped by sea. One portrait page, scanned in color from pale-blue security paper, with a red company chop, the authority's red seal and two handwritten signatures. Page 1 is featured. A freight forwarder publishes it as a sample.

Processing objective: The objective is to read one shipment line as a customs broker checks it: the vessel, the port of loading, the goods and their tariff classification. The origin criterion states why the goods qualify for the agreement's rate, and each value grounds to its own box on the certificate.

Demonstration fields: Vessel and voyage, Port of loading, Goods (item 1), HS code (item 1), Origin criterion (item 1)

The document

1 page
  • Page 1 of the sample Certificate of OriginPage 1shown below

Where each value came from

Page 1 of the sample Certificate of Origin, with every featured field outlined
Vessel and voyagetransport.vessel
XIANG XING V. BN02W
The region of the sample Certificate of Origin containing Vessel and voyage, with the extracted value outlined
extraction_metadata["transport.vessel"]
{
  "value": "XIANG XING V. BN02W",
  "page": 1,
  "range": {
    "end": 1093,
    "start": 1038
  },
  "box": {
    "xmin": 0.0933,
    "ymin": 0.29305,
    "xmax": 0.51669,
    "ymax": 0.32066
  }
}
Port of loadingtransport.port_of_loading
XIAMEN, CHINA
The region of the sample Certificate of Origin containing Port of loading, with the extracted value outlined
extraction_metadata["transport.port_of_loading"]
{
  "value": "XIAMEN, CHINA",
  "page": 1,
  "range": {
    "end": 1152,
    "start": 1121
  },
  "box": {
    "xmin": 0.09312,
    "ymin": 0.32023,
    "xmax": 0.51654,
    "ymax": 0.35194
  }
}
Goods (item 1)items[0].description
FOOTWEAR
The region of the sample Certificate of Origin containing Goods (item 1), with the extracted value outlined
extraction_metadata["items[0].description"]
{
  "value": "FOOTWEAR",
  "page": 1,
  "range": {
    "end": 1808,
    "start": 1800
  },
  "box": {
    "xmin": 0.28553,
    "ymin": 0.43987,
    "xmax": 0.58422,
    "ymax": 0.4651
  }
}
HS code (item 1)items[0].hs_code
6403.99
The region of the sample Certificate of Origin containing HS code (item 1), with the extracted value outlined
extraction_metadata["items[0].hs_code"]
{
  "value": "6403.99",
  "page": 1,
  "range": {
    "end": 1824,
    "start": 1817
  },
  "box": {
    "xmin": 0.58407,
    "ymin": 0.44041,
    "xmax": 0.65785,
    "ymax": 0.46523
  }
}
Origin criterion (item 1)items[0].origin_criterion
WO
The region of the sample Certificate of Origin containing Origin criterion (item 1), with the extracted value outlined
extraction_metadata["items[0].origin_criterion"]
{
  "value": "WO",
  "page": 1,
  "range": {
    "end": 1837,
    "start": 1833
  },
  "box": {
    "xmin": 0.65772,
    "ymin": 0.44054,
    "xmax": 0.71689,
    "ymax": 0.46533
  }
}

How to try it yourself

Everything on this page is reproducible. The sample, its schema, and the Parse and Extract API outputs are published. You can repeat the same two calls from whichever surface you already build on.

  • Claude Skilldescribe the job; the agent writes it
  • CLIno code at all
  • MCPexpose ADE docs as an agent tool
  • REST APIany language
  • Pythonlandingai-ade
  • TypeScriptlandingai-ade
Why LandingAI?

Documents into data

Accurate

The best accuracy on the difficult documents other tools get wrong, such as messy scans, complicated tables, checkboxes and handwriting.

Auditable

Every answer cites its sources. Values come back with an audit trail (page, bounding box, character range) so a human can review them.

Agentic

Applies multi-step reasoning, and plans before it acts. Handles documents it has never seen before and adapts to variations.

API-first

Composable APIs that drop into any tech stack and can be called from anywhere. Easy to build on and embed in your pipelines and products.

Affordable

Cost-competitive rates with complete price transparency. Spend controls before you run, and every job reports its exact cost.

Enterprise-grade

Built for production and scale from day one. Fully observable and monitored, running securely in our cloud or yours.

Built for high-volume, high-throughput production

  • Zero data retention
  • Priority rate limits
  • Enhanced support
  • VPC and on-prem deployment

Available on Team and Enterprise plans.

Compare plans
Capabilities

Certificate of Origin processing highlights

Exporter, producer and importer
HS code per item
Origin criterion
Goods description lines
Vessel and port of loading
Port of discharge
Invoice number and value
Importing and producing country
Certificate number
Stamp and signature detection
Typed values over captions
Bounding box for every value
FAQs

Questions, answered

Yes. Define the goods as an array in your schema. Each item comes back as its own entry with its description, HS code and origin criterion, grounded to the cells that print them.

Yes. Parsing labels stamps and signatures where they appear on the page, so fields asking whether the certificate is stamped or signed come back true or false.

Yes. Parsing works from the page image, so a color scan with a patterned background and stamps reads the same way as a clean PDF. Each value is grounded to the box that prints it.

No. A schema names the fields you want and describes them in plain language. Extraction reads the parsed certificate for meaning, so one schema covers certificates and origin statements under different agreements.

Every extracted value carries the character range it was quoted from in the parsed Markdown. The Ground API maps that range to a page and a bounding box, so a reviewer sees each value in the box that printed it.

Start extracting certificate of origin data

Reliable, structured outputs with full traceability in minutes