HTS Code Lookup: US Tariff Rates & Duty Search (USITC) avatar

HTS Code Lookup: US Tariff Rates & Duty Search (USITC)

Pricing

from $0.70 / 1,000 hts line returneds

Go to Apify Store
HTS Code Lookup: US Tariff Rates & Duty Search (USITC)

HTS Code Lookup: US Tariff Rates & Duty Search (USITC)

Look up US HTS codes in the official USITC Harmonized Tariff Schedule by code or product description. Get general, special and column 2 duty rates (inherited down to 10-digit lines), full descriptions, units and Chapter 99 references. Misses are free status rows.

Pricing

from $0.70 / 1,000 hts line returneds

Rating

0.0

(0)

Developer

William Jin

William Jin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Look up US Harmonized Tariff Schedule (HTS) codes and import duty rates straight from the official USITC schedule, by code or by product description. Each row gives you the general, special (free trade agreement) and column 2 rates, the full description path from the heading down, the units, and any Chapter 99 provisions the line points to (for example Section 301 or Section 232 references). It always uses the current release (for example 2026HTSRev21).

Built for importers, customs brokers, freight forwarders, e-commerce sellers, landed-cost calculators and AI agents that need a reliable tariff answer.

What can HTS Code Lookup do?

  • Code lookup. 8507.60.00, 850760, HTS 6109.10 or 8507.60.00.10 all work. You get the line itself plus every line under it (for example all 10-digit statistical lines under an 8-digit tariff line).
  • Product description search. cotton t-shirts, lithium-ion batteries or roasted coffee return ranked candidate lines. Our own ranking reads the whole description path, understands "not roasted" and "other than", and knows common everyday words (e-bike, smartphone, sneakers).
  • Rates that are never blank. Ten-digit lines usually have no rate of their own, so the Actor inherits the rate from the parent 8-digit line and tells you where it came from (rateSource).
  • Chapter 99 references, resolved. When a line or its heading says "See 9903.88.15", you get that provision's description and rate, plus whether it applies to the general, special or column 2 rate.
  • Misses are free. A code that doesn't exist comes back as a free not_found row that names the closest valid code.
  • One request per run. The Actor downloads the full schedule from USITC once per run and searches it in memory, so it is fast and gentle on the source.

What data does it return?

FieldExample
query, status, matchType, rank, scorecotton t-shirts, found, keyword, 1, 92.5
htsNumber, htsDigits, level6109.10.00.12, 6109100012, statistical
description, fullDescriptionMen's (338), T-shirts, singlets, tank tops ... > Of cotton > Men's or boys': > Other T-shirts: > Men's (338)
generalRate, specialRate, specialPrograms, column2Rate16.5%, Free (AU,BH,CL,...), ["AU","BH","CL"], 90%
rateSourceinherited from 6109.10.00
units, footnotes, quotaQuantity["doz.","kg"], …
additionalDutyRefs[{"htsNumber":"9903.90.08","appliesTo":"column2","description":"...","rate":"..."}]
htsRelease, htsReleaseStart, sourceUrl, checkedAt2026HTSRev21, 10/09/2026, https://hts.usitc.gov/search?query=6109.10.00.12

Statuses:

  • Charged: found (one HTS line returned).
  • Free: not_found, invalid_input, service_unavailable and skipped_charge_limit.

How much does it cost?

You pay only for HTS lines returned:

PlanPer 1,000 lines
Free$1.00
Bronze$0.90
Silver$0.80
Gold$0.70

Ten candidate lines for a product description cost $0.01 or less. Misses and bad input are free. There is also a tiny Apify start fee of $0.00005 per run.

Input example

{
"queries": ["8507.60.00", "cotton t-shirts", "roasted coffee", "6403.99"],
"maxResultsPerQuery": 10
}

Output example

{"query": "8507.60.00", "status": "found", "matchType": "code_child", "rank": 2, "htsNumber": "8507.60.00.10", "level": "statistical",
"fullDescription": "Electric storage batteries, ... > Lithium-ion batteries > Of a kind used as the primary source of electrical power for electrically powered vehicles ...",
"generalRate": "3.4%", "specialRate": "Free (A,AU,B,BH,C,CL,CO,D,E,IL,JO,KR,MA,OM,P,PA,PE,S,SG)", "column2Rate": "40%",
"rateSource": "inherited from 8507.60.00", "units": ["No.", "kg"], "htsRelease": "2026HTSRev21"}
{"query": "8507.60.00.20", "status": "not_found", "closestHtsNumber": "8507.60.00",
"error": "8507.60.00.20 is not in the current HTS. Closest existing code: 8507.60.00. Run that code to see its valid statistical lines. Not charged."}

Use cases

  • Landed-cost and duty calculators: get the general rate and FTA programs for a code in one call.
  • Product catalog classification: pass product titles from a scrape (datasetId) and get ranked candidate HTS lines to review.
  • Customs and broker workflows: check that a 10-digit code exists in the current release before filing.
  • Tariff monitoring: schedule a weekly run over your codes and compare htsRelease and rates over time.

Use with AI agents (MCP, ChatGPT, Claude, Cursor, n8n)

AI agents can run this Actor through the Apify MCP server:

{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=swillz/hts-code-lookup"}}}

Or run it locally with npx -y @apify/actors-mcp-server --tools swillz/hts-code-lookup and APIFY_TOKEN set.

Example prompts:

  • "What is the US import duty rate for HTS 8507.60.00?"
  • "Find the HTS code and duty rate for men's cotton t-shirts."
  • "Which Chapter 99 provisions apply to HTS 8711.30?"

Minimal input: {"queries": ["8507.60.00"]}. To cap the cost, pass maxTotalChargeUsd. Queries left unrun come back as free skipped_charge_limit rows.

Integrations and API

Run it from the Apify API, the clients, Make, Zapier or n8n. To chain it, pass {"datasetId": "...", "queryField": "title"}. The OUTPUT record holds a run summary (byStatus, htsRelease, zeroResultsReason, nextSteps).

FAQ

Is this the official source? Yes. Every run downloads the current schedule from the US International Trade Commission's public HTS service (hts.usitc.gov). Nothing is cached between runs.

Is a description match a binding classification? No. Description search returns ranked candidates to help you find the right line. Classification depends on the General Rules of Interpretation and chapter notes; confirm with CBP (binding rulings at rulings.cbp.gov) or a licensed customs broker.

Does it include Section 301, 232 or IEEPA tariffs? It includes every Chapter 99 provision that the line or its heading references, with its rate. Some additional duties apply by country of origin through Chapter 99 notes without a reference on the line, so check those for China-origin and other affected goods.

What is the difference between 8 and 10 digits? Duty rates are set at the 8-digit tariff line. The last 2 digits are statistical suffixes used on customs entries; they share the 8-digit rate (rateSource shows this).

More tools from the same developer, built to work together:

Popular workflows

  • Import compliance: classify products and get US duty rates with this Actor, and check trading partners' EORI numbers with EORI Number Validator.

Source code: https://github.com/williamjin02/apify-actors/tree/main/actors/hts-code-lookup