An HTS code in. Duty rates and tariff measures out.
Look up a US Harmonized Tariff Schedule code. 4 to 10 digits, dots optional. You get the schedule line verbatim: description, the general, special, and column 2 duty rates, units, and the parent lineage so a leaf that says Other is never alone. Every response carries revision, the official release that answered. Rates changed all year, so an answer without a release name is a guess. An unknown code is a 404. Have a product instead of a code? Search the schedule with ?q=.
On paid plans, ?deep=true&origin= resolves duty: every Chapter 99 tariff measure that applies to this code from that origin country, verbatim, with effective dates and expiries. effective_rate composes only when the base rate and every duty-imposing measure are clean ad valorem percentages that stack. Anything compound or conditional ships as rows with the rate null. This is the schedule as published, not a customs ruling. Your broker files the entry.
curl "https://api.parseapi.com/hts/8471.30.01.00" \
-H "X-API-Key: YOUR_API_KEY"{
"hts": "8471.30.01.00",
"description": "Portable automatic data processing machines, weighing not more than 10 kg, consisting of at least a central processing unit, a keyboard and a display",
"lineage": [
"Automatic data processing machines and units thereof; magnetic or optical readers, machines for transcribing data onto data media in coded form and machines for processing such data, not elsewhere specified or included:"
],
"units": [
"No."
],
"general": "Free",
"special": null,
"other": "35%",
"revision": "2026HTSRev17"
}Response fields
Search schedule descriptions by product. Matches include outline context, so horses finds Purebred breeding animals. Chapter 99 is duty measures, resolved on deep, so it is not in this index. Up to 20 lines, best match first, each with its general rate.
curl "https://api.parseapi.com/hts?q=sunglasses" \
-H "X-API-Key: YOUR_API_KEY"{
"q": "sunglasses",
"revision": "2026HTSRev17",
"codes": [
{
"hts": "9004.10.00.00",
"description": "Sunglasses",
"general": "2%"
}
]
}Paid. Pass ?deep=true&origin= with an ISO country code. deep.measures lists every applicable Chapter 99 measure verbatim. deep.effective_rate is the composed ad valorem percent, or null when the components do not compose cleanly. Null beats a guess. New trade actions can land by Federal Register notice between schedule revisions.
curl "https://api.parseapi.com/hts/8471.30.01.00?deep=true&origin=CN" \
-H "X-API-Key: YOUR_API_KEY"{
"hts": "8471.30.01.00",
"description": "Portable automatic data processing machines, weighing not more than 10 kg, consisting of at least a central processing unit, a keyboard and a display",
"lineage": [
"Automatic data processing machines and units thereof; magnetic or optical readers, machines for transcribing data onto data media in coded form and machines for processing such data, not elsewhere specified or included:"
],
"units": [
"No."
],
"general": "Free",
"special": null,
"other": "35%",
"revision": "2026HTSRev17",
"deep": {
"origin": "CN",
"effective_rate": 22.5,
"measures": [
{
"heading": "9903.01.24",
"description": "Except for products described in headings 9903.01.21, 9903.01.22, 9903.01.23, articles the product of China and Hong Kong, as provided for in U.S. note 2(u) to this subchapter",
"rate": "The duty provided in the applicable subheading + 10%",
"from": null,
"until": null
},
{
"heading": "9903.05.31",
"description": "Except for products described in headings 9903.05.85–9903.05.92, articles the product of China, as provided for in U.S. note 52 to this subchapter",
"rate": "The duty provided in the applicable subheading + 12.5%",
"from": null,
"until": null
}
]
}
}Questions? Email