AI HTS Classification Accuracy: What We Measured and How

One test, its method, its two results, and what they mean when you use the API. No other accuracy figure for the current classifier exists.

The measurement (2026-10-01)

We took 54 products from CBP rulings issued in 2024 or later: not revoked, one HTS code each, and that code still valid in today's schedule. For each one we wrote a product description from the facts in the ruling, then asked the classifier, with the source ruling hidden from the agent so it could not simply look the answer up. We ran the whole set twice against the current version.

LevelRun 1Run 2
Exact 10-digit code37 of 54 (69%)41 of 54 (76%)
Right 6-digit subheading45 of 54 (83%)48 of 54 (89%)
Right 4-digit heading46 of 54 (85%)49 of 54 (91%)

Read these as ranges, not as one number. From one run to the next the same 54 products move by about four either way, and 54 is a small set: a few products shift the percentage by several points.

What high and medium confidence mean

Every candidate carries a confidence of high, medium or low. On this test:

Read the answer block, not just the top code

The response leads with answer. Its code goes only as deep as the facts you gave support: 4, 6, 8 or 10 digits. When that is short of 10 digits, answer lists the options beneath it, each with the condition that leads to it, and the question whose answer decides between them. "Rubber or plastics outer sole?" is a typical one. Answer the question and classify again, or have a person decide.

Below that, candidates holds one to three codes, each with its confidence, rationale, the CBP ruling it relied on, the schedule duty, Census duty figures and trimmed legal notes. confident_to gives the deepest level no answer to the question could change.

Some products are structurally hard

The agent still struggles with:

No tool should be used for filing without human review. Even in the better run, 13 of 54 products did not get the exact 10-digit code. The value is in first-pass research: the agent narrows the schedule to a few candidates with CBP ruling citations and a rationale, and tells you which fact it is missing. Results are investigatory guidance, not a binding ruling.

How it works

An AI agent (OpenAI GPT-6 Luna since 2026-10-01) works with these tools:

Each classification call:

  1. Reads the product description and searches CBP rulings for similar products
  2. Reads ruling text when search snippets aren't conclusive
  3. Compares headings and reads legal notes when ruling out alternatives
  4. Checks the code against the current schedule (rulings often reference obsolete codes)
  5. Answers: candidates with confidence and rationale, the ruling it relied on, and a question if a missing fact decides the code
  6. The response adds the schedule duty, Census duty-collected figures for the 6-digit subheading and legal notes

A classification typically takes 15 to 35 seconds, sometimes up to about 60.

About other benchmarks

ATLAS (arXiv:2509.18400): 259 real CBP rulings, public. An earlier version of htsapi.dev, built on a different model and design, scored 59.1% exact 10-digit on it. That figure describes the earlier version, not the current one.

Try it yourself. The free demo runs the same agent. Describe any product and see the answer, confidence levels, ruling citations and Census duty figures. No signup needed.

Sources

Related guides