Classify a product with the missing questions and the evidence.
A product title is rarely enough to classify, and a code without proof gets rejected by the forwarder. The Customs Classification API asks for the facts that decide the code, returns the line for your destination and date, quotes the notes behind it, and keeps a dossier. One product or a whole catalog.
What brokers and merchants tell us
“Most commercial invoices I’ve seen in my career are not descriptive enough on their own for classification” (thread)
“i sell over 10k products and now EU want me to fill all tariff/HS code in all products” (thread)
From a product title to codes in your catalog
Facts
Send the description, the destination and the facts you know. When a fact decides the code, the answer is
needs_informationwith the questions to ask your supplier, not a guess. HowEvidence
Each candidate quotes the HS notes and EU classification regulations behind it, verbatim, with a reference, a link and the source version. How
Dossier
Keep the classification as a dossier, JSON or PDF, that you can hand to your forwarder or a licensed broker. How
Review
A named reviewer approves, rejects or requests changes. An approved code is locked until someone requests changes, and every decision stays in the history and the dossier. How
Batch
Classify a catalog of up to 2,000 items in one request, follow it by job id or webhook, and download the answers as CSV. How
Write-back
Put the approved codes back into Shopify, or into Odoo, SAP GTS and WooCommerce through CSV profiles. Shipped in
@cleo-legal/sdk0.9.0 asnpx @cleo-legal/sdk connectors …(installable from the GitHub release; npm registry publication pending). How
Coverage, measured on 25 September 2026 with GET /v2/customs/coverage/countries: 249 territories, 112 of them at the national tariff line and 137 at HS6 only, across 26 tariff systems. Per-country detail.
Three ways in
Try it without an account
The playground classifies a product with the shared demo: 30 calls a day, no account.
Try itSandbox, no card
Create an account and a key: 200 units to wire a real integration. One classification costs 1 unit plus 1 per kit component.
Get a Sandbox keyBuy a plan
Starter: 100,000 units a month. Pro: 1,000,000 units a month. One click to checkout.
Buy StarterBuilt for cross-border trade.
Classify products, detect dual-use risks, and split obligations by client type. Classification covers 249 territories, 112 of them at the national tariff line, across 26 tariff systems (measured on 25 September 2026 with GET /v2/customs/coverage/countries).
POST /v2/customs/classificationsClassification with evidence
Send a product, its destination and the facts you know. Get candidate codes for that tariff with the verbatim notes behind each one, or the questions to ask when a fact is missing.
GET /v2/customs/dual-use-checkDual-Use Detection
Wassenaar and EU 2021/821 cross-check for a description or a code and a destination, before the shipment is blocked.
GET /v2/customs/obligationsProject Context
Government vs private buyer? GOST mandatory vs contractually expected? We split the obligations for you across 8 buyer contexts.
POST /v2/compliance/check
Classify the product, list obligations split by buyer context, cross-check dual-use, surface defensible alternatives and check EAEU parallel-import recognition — in one round-trip.
- 5 units per call — Pro includes 1,000,000 units a month.
- Always returns
advisory_disclaimer— surface it verbatim to your end user. - Wired as a single MCP tool call — install once in Claude Desktop or Claude Code.
What trade teams ask.
Which countries answer at the national tariff line?
On 25 September 2026, 112 of 249 territories answered at the national line (EU cn8, US hts, UK, EAEU TN VED and others) and 137 at HS6 only. GET /v2/customs/coverage/countries answers for any country; the customs guide lists them.
Is the answer a binding classification?
No. Every classification is advisory and carries advisory_disclaimer. The dossier is built to be reviewed by a licensed broker or the competent authority; for US entries, CBP ruling H350722 treats deriving HTS subheadings beyond six digits as customs business.
What does the dual-use check cover?
Wassenaar and EU 2021/821. Every result carries advisory_disclaimer: an export licence decision stays with the competent authority.