Disclaimer
Read this before you put a number from this API on a customs entry.
Not official
This is an independent project. It is not affiliated with, endorsed by or certified by the U.S. International Trade Commission, U.S. Customs and Border Protection, or the U.S. Census Bureau. The underlying data is published by those agencies; the parsing, the estimates and any mistake in them are mine.
Not legal or customs advice
Classification is the importer's legal responsibility, and CBP determines the duty actually owed on an entry. A number from this API is an estimate produced from the published schedule. It is a good starting point and a poor final answer. If money or liability turns on it, ask a licensed customs broker.
What a duty estimate excludes
Every estimate says so in its own response body, and here it is again:
- Federal excise tax on wine (26 U.S.C. 5041) — which the HTS footnotes themselves flag on these lines.
- Merchandise processing fee and harbor maintenance fee.
- Chapter 99 additional duties — section 301, section 232, IEEPA and the rest. These are listed in the response as candidates to check, and deliberately never added in: those headings state their scope in prose, and whether one reaches your goods is a classification judgement this service cannot make for you.
- Antidumping and countervailing duties.
- Freight, insurance, brokerage and anything else that is not a duty.
Trade programmes are participation, not eligibility
A programme letter on a tariff line means goods from a participating country may enter at the special rate. It does not mean your shipment qualifies — that depends on the agreement's rules of origin, which are a determination about the goods. This service reports a special rate as conditional, with the saving it would represent if the goods qualify, and never as a fact.
Inherited rates
The Harmonized Tariff Schedule publishes most duty rates at the 8-digit subheading and leaves the
10-digit statistical suffixes beneath it blank. Because the 10-digit code is what you declare, this service
resolves each line to the rate that applies and tells you it did: every response carries a
rateSource block naming the line the rate came from.
Freshness
USITC publishes several HTS revisions a year. This service polls for a new release daily and rebuilds when
one appears, so there is a window in which it can be behind. Every response carries htsRelease;
check it against /v1/tariffs/release if timing matters.
No uptime commitment
This runs on one small server shared with five sibling APIs. It is free and it is offered as-is, with no availability guarantee. If you need it to be reliable, the complete datasets are published as static files and the server is MIT licensed — host your own copy.
Liability
To the maximum extent permitted by law, this service is provided without warranty of any kind and the author accepts no liability for any loss arising from its use, including duty assessed differently from an estimate it produced.