Describe a product. The agent searches CBP rulings, applies GRI rules, checks the code against the current HTS schedule, and returns the code as deep as your facts support, with the duty actually collected on past imports (US Census Bureau). Usually 15–35 seconds. Web UI below, API access included.
JSON in, JSON out. No SDK required.
# Classify a product curl -X POST https://htsapi.dev/v1/classify \ -H "Content-Type: application/json" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "description": "yoga mat", "country_of_origin": "China" }' # Response includes: # - answer: the code as deep as the facts support, e.g. "9506.91.00.30" # - candidates: 1-3 codes, each with confidence, rationale, cited CBP ruling # - importers_paid: what importers from China paid on each code, latest 3 Census months # - legal_notes: Chapter 95 section and chapter notes # - clarification: null (no missing fact)
Also: Duty stacking · De minimis · CBP rulings · Audit response
An AI agent does the investigation. One API call returns the code with evidence.
Tested on 54 products drawn from CBP rulings issued in 2024 or later, the source ruling hidden from the agent, 2 runs. Method. The agent searches ruling precedents, reads the USITC HTS schedule, and applies GRI rules.
Most tariff classification APIs return a code and a rate. We return the code, the duty actually collected on past imports, from Census data (a historical average, not the duty your shipment will owe), the CBP ruling each candidate relied on (when one applies), the section and chapter legal notes read under the WCO General Rules of Interpretation, and a specific question when the answer isn't clear. Each figure names its source.
On a 54-product test drawn from 2024+ CBP rulings (the source ruling hidden from the agent, 2 runs, 2026-10-01): exact 10-digit code 69-76%, right 6-digit subheading 83-89%, right 4-digit heading 85-91%. Answers marked high confidence were exact 35 times out of 40. The agent searches CBP precedent and applies GRI rules, telling you its confidence level and asking clarification questions when uncertain, so you know when to trust the result and when to verify.
Two sources. The base rate comes from the USITC schedule (GET /v1/hts/{code}). What importers paid comes from the US Census Bureau International Trade API: duty collected divided by dutiable value on imports from that country, in each of the latest 3 published months, for the 10-digit line (when it had too little trade, its 6-digit group's months are shown as the group's). It includes Section 301/232 and other Chapter 99 duties actually paid; anti-dumping and countervailing duties are not included. They are history, not a quote: they describe past imports, not the duty a specific shipment will owe. The API does not compute the additional Chapter 99 duties (Section 301, 232 and others).
As history, not as a computed duty. The API does not compute Section 301 or the other additional Chapter 99 duties (Section 232 and others) for a code. What importers paid includes the Chapter 99 duties actually collected on past imports from that country, so it shows how far above the base rate they paid. To check whether a code is on the Section 301 list, use USITC's China Tariffs list at hts.usitc.gov.
We have not benchmarked them. What we return alongside the classification: the duty actually collected on past imports (Census), the CBP ruling each candidate relied on, and section and chapter legal notes. Price: $0.05-$0.10 per classification.
Yes. The web demo above is free with no API key required. Describe any product and get the full classification with duty rates, rulings, and legal notes.
The current 2026 USITC Harmonized Tariff Schedule release (Chapters 1–97), refreshed weekly. Census Bureau duty figures are the latest 3 months Census has published, about two months behind.
No subscriptions. Credits never expire. Each /classify call = 1 credit. HTS lookups (GET /v1/hts/{code}) are free with a key.
Already have an API key? Sign in
Need volume pricing? [email protected].