Customs & HS Code · Cleo Legal Data

The HS code is the hard part.
One API call solves it.

Classify a product, compute duties and landed cost, screen dual-use & sanctions — across 177 jurisdictions, in a single API call.

Try in the playgroundSee pricing
177
Jurisdictions
8
Sanctions lists
7
Dual-use regimes
CETA · TCA · USMCA · RCEP · AfCFTA…
FTA preferential rates
Flow

Five endpoints, one flow

From product name to landed cost, sanctions screened along the way.

01
Classify
/v2/customs/lookup

Product description → HS codes ranked by confidence.

02
Duties
/v2/customs/duties

Tariff, VAT, excise by code & country.

03
Landed cost
/v2/customs/landed-cost

FOB + duty + VAT + fees = total delivered cost.

04
Dual-use
/v2/customs/dual-use

Wassenaar / EU 2021-821 / US CCL export control.

05
Sanctions
/v2/sanctions/screen

Denied-party screening, 8 authorities.

For information only — not binding customs advice. Confidence score, not certainty: below threshold, request a BTI.

API · curl

One call · one result

curl · GET /v2/customs/lookup
curl https://api.legaldata.cleolabs.co/v2/customs/lookup \
  -H "Authorization: Bearer $CLEO_KEY" -G \
  --data-urlencode "description=sunscreen SPF50" \
  --data-urlencode "country=FR" \
  --data-urlencode "limit=3"

# → {
#   "data": [
#     {
#       "code": "330420",
#       "description": "Skin-care preparations with SPF",
#       "confidence": 0.92,
#       "duty_pct": 0,
#       "vat_pct": 20,
#       "obligations": ["EU Reg 1223/2009", "FR Code de la santé publique"]
#     }, ...
#   ],
#   "query": "sunscreen SPF50",
#   "ms": 743
# }
Use cases

Built for

01

E-commerce checkout

Show the all-in landed cost to international customers before they pay. Reduce cart abandonment caused by surprise duty bills at delivery.

02

AI agent

Plug Cleo's MCP connector into Claude or Cursor. Your agent classifies products, quotes duties and screens sanctions in one tool call.

03

Customs broker / freight forwarder

Pre-classify shipments before the broker desk. Cut declaration time by 60% and reduce reclassification disputes.

04

Marketplace seller onboarding

When a seller lists a product, auto-suggest the HS code, flag dual-use issues and tell them which markets they can ship to.

FAQ

Frequently asked

What problem does the HS Code API solve?+

Customs classification is the single hardest step in cross-border trade: a wrong HS code means seized shipments, retroactive duty payments, or up to 10x penalties. Cleo's API takes a free-text product description and returns the most likely HS6 → HS10 code with a confidence score, the applicable duty / VAT / excise rates, and a defensible product description suitable for a customs declaration — in one call.

Which jurisdictions are covered for tariffs and duties?+

177 jurisdictions, with full WCO HS, EU TARIC, US HTSUS, UK Global Tariff, China MFN, Japan, Korea, ASEAN, GCC, Brazil NCM, Mexico TIGIE, India ITC-HS, Russia / EAEU TN VED, EFTA. Free Trade Agreement preferential rates (CETA, EU-UK TCA, USMCA, RCEP, AfCFTA…) are returned alongside the MFN rate.

How accurate is the HS classification?+

Every result carries a confidence score (0-1). Above 0.85, you can use it directly in a customs declaration with no human review. Below 0.85, the API returns top-5 alternatives with reasoning, and recommends a Binding Tariff Information (BTI) request — the only way to get certainty under EU law. We never claim 100% accuracy because nobody can — but we are transparent about uncertainty.

What is dual-use screening?+

GET /v2/customs/dual-use checks whether a product is controlled under EU Regulation 2021/821, the US Export Administration Regulations (EAR / CCL), the Wassenaar Arrangement, the Nuclear Suppliers Group, the Missile Technology Control Regime, the Australia Group, and the Chemical Weapons Convention. For each destination, the API returns the relevant control list entry and whether a licence is required.

Which sanction lists are screened?+

POST /v2/sanctions/screen checks 8 authorities: EU Consolidated, US OFAC SDN + SSI, UK HMT, UN Security Council, Switzerland SECO, Canada SEMA, Australia DFAT and Japan METI. Each match returns the list, the listing date, the sanctions applied (asset freeze, travel ban, sector-specific) and the original notice URL.

How is the landed cost calculated?+

POST /v2/customs/landed-cost takes HS code + origin + destination + FOB price (USD) and returns: CIF (FOB + freight + insurance estimate), customs duty applied to CIF at the right preferential rate if any FTA applies, VAT applied on CIF + duty, customs broker fees, and the final landed cost. Each component is itemised so you can plug it into Shopify / WooCommerce / your ERP as a line item.

Is this a binding customs ruling?+

No. Cleo's HS Code API returns advisory data: classifications carry a confidence score, not certainty. For binding rulings, request a BTI in the EU, a CROSS ruling in the US, or the equivalent in your destination country. We provide the data and the reasoning — the binding decision remains the customs authority's.

Ready to classify your first product?

No key needed to test in the Playground. Instant Stripe key to ship to production.

Open the PlaygroundGet API key