Know what your US imports
really cost.
Instant duty lookups for every HTS code, every country, every stacking rule. Free calculator for importers — clean JSON for developers.
Type a product.
See the real duty.
We match your product to the right HTS code, apply every layer (base rate, Section 301, IEEPA, Chapter 99), and return the number you'll actually pay at the border.
Three steps.
No spreadsheets.
Find the code
Search by product name or paste any HTS. We handle 8- and 10-digit codes, plus every Chapter 99 note that stacks on top.
Stack the duties
Base rate, then Section 301/232, IEEPA, antidumping, and every Chapter 99 modifier applied in the right legal order.
Get your number
Dollars payable at the border, a line-by-line breakdown you can hand your customs broker, or clean JSON for your integration.
HTS Watch.
Rate change? You'll know.
Importers ask us the same question every week: "Did the tariff on my product change?" Save the codes you import, tell us the country and typical shipment value, and we'll email you the moment a rate moves.
- Save up to 3 codes free, unlimited on paid plans
- Email alerts on any rate change affecting your codes
- Auto-flags IEEPA refund eligibility
- Export PDF tariff sheet for your customs broker
Every layer of the US tariff stack. One source of truth.
Harmonized Tariff Schedule
All 17,000+ 10-digit subheadings. Column 1 General, Column 1 Special (FTAs), Column 2.
China trade remedies
All four lists, exclusions, and product-specific notes. Effective dates tracked to the day.
Steel, aluminum, derivatives
Country-specific quotas and exemptions, including the 2025 Section 232 expansions.
Emergency tariffs
Country and product scope, refund-eligible periods flagged for CAPE and later rulings.
Modifiers & overrides
Every Chapter 99 subheading that layers on top, with stacking order respected.
Antidumping & countervailing
Active cases by producer and country, including cash deposit rates from the ITA.
The tariff API — one endpoint, deterministic JSON.
GET /api/v1/tariffs/resolve?hts=…&origin=… returns the base duty, every applicable Chapter 99 measure, a confidence score, and attempted candidates when the match isn't exact. Bulk endpoint accepts up to 200 codes per request. MCP server on the Pro tier for Claude, Cursor, and other agents.
GET /api/v1/tariffs/resolve?hts=8541.10.00.80&origin=CN
// deterministic, no AI guessing
{
"hts": "8541.10.00.80",
"origin": "CN",
"match_type": "exact",
"match_level": "10",
"confidence": 1.0,
"base_duty": { "rate": "2.5%", "rate_type": "general" },
"additional_measures": [
{ "program": "Section 301", "rate": "25%", "chapter_99_ref": "9903.88.04" }
],
"warnings": [],
"attempted_candidates": []
}
Made for teams that actually pay the duty.
Importers & SMBs
Know your landed cost before you sign the PO. Watch the codes you repeat-import and catch rate changes the week they happen.
E-commerce & 3PLs
Drop our API into checkout to show duty-inclusive prices. Reduce chargebacks, delight international buyers.
Customs brokers
One source for every stacked measure. Export PDF tariff sheets per client, and spot CAPE refund opportunities automatically.
Simple plans for importers and developers.
Free for the calculator. Paid plans for alerts, bulk API, and MCP.
Web calculator and HTS browser. No API access.
- ✓Unlimited tariff calculator lookups
- ✓Full HTS index and search
- ✓Save up to 3 HTS codes in HTS Watch
- ✓Current rates for all countries
- ✓Section 301, 232, 122, IEEPA measures
For importers and ecommerce sellers pricing SKUs.
- ✓Everything in Free
- ✓Save unlimited HTS codes in HTS Watch
- ✓Email alerts on rate changes
- ✓IEEPA refund eligibility flags
- ✓Landed-cost breakdowns with freight + insurance
- ✓CSV and PDF export of tariff sheets
- ✓Historical rates via
as_of
For developers building single-resolve tariff features.
- ✓Everything in Importer
- ✓
/resolveendpoint (single HTS + origin) - ✓Chapter 99 and trade agreement resolution
- ✓10,000 API calls per month
- ✓Confidence scores, warnings, match metadata
- ✓Standard support
For catalog-scale workflows, ERPs, and agents.
- ✓Everything in Basic
- ✓Bulk
/resolve(up to 200 HTS per request) - ✓100,000 API calls per month
- ✓MCP server access
- ✓Priority support
- ✓Custom
as_ofqueries at scale
Official sources, updated every night.
We pull directly from the USTR, CBP, the ITC HTS, Federal Register proclamations, and the ITA's ADCVD database. No hand-maintained spreadsheets. No scraping somebody else's PDF.
-
Apr 20↑ RaisedIEEPA China: +12.5% on HTS 8517.13, 8471.30Effective immediately · affects 34 watchlists
-
Apr 13○ ExpandedSection 232 steel derivatives expanded23 new HTS subheadings now in-scope
-
Apr 04↓ RefundCAPE refund portal opens for IEEPA 2025 payersRetroactive refunds filed through CBP ACE · deadline Jul 15
-
Mar 29○ AdminHTS 2026 Revision 4 merged217 subheadings renumbered or split · code aliases preserved
You ask. We answer.
Where does the data come from?
Every rate returned by Tariffs API comes from the official US Harmonized Tariff Schedule published by USITC, combined with USTR, CBP, and Federal Register notices for Section 301, 232, 122, and IEEPA measures. We never invent numbers.
How often is it updated?
Base HTS data is refreshed weekly against USITC's published schedule. Chapter 99 and trade-measure updates are captured daily from USTR and CBP notices. Breaking changes (new Section 301 rounds, IEEPA proclamations) are applied within 24 hours of publication.
Do you cover Section 301, Section 232, IEEPA, and reciprocal tariffs?
Yes. Section 301 (China), Section 232 (steel, aluminum, autos, semiconductors), Section 122 reciprocal duties, and IEEPA measures (including 2025 baseline, fentanyl-trafficking, Brazil/India-specific) are all resolved and stacked correctly on top of base HTS rates. Chapter 99 reference codes are resolved to numeric rates when available.
What is an HTS code?
The Harmonized Tariff Schedule (HTS) is the US classification system for every imported product, maintained by the USITC. An HTS code is 10 digits — the first 6 match the international Harmonized System (HS); the last 4 are US-specific. The code determines your base duty rate and which trade measures apply.
How do trade agreements affect the rate I pay?
If the country of origin has a free trade agreement with the US (USMCA, KORUS, etc.), eligible goods qualify for the Special rate column — often duty-free. Otherwise the General rate (Column 1) applies. Column 2 applies to a small set of non-MFN countries. Additional Section 301/232/IEEPA duties stack on top regardless of agreement eligibility.
Can I save the HTS codes I import?
Yes. HTS Watch lets you save HTS codes with country of origin and shipment value. We track rate changes and email you when something affecting your codes changes — including IEEPA refund eligibility. Free for up to 3 codes, unlimited on the Importer plan.
Does Tariffs API replace a customs broker?
No. Tariffs API gives you accurate rate data and landed-cost calculations, but does not file entries, issue binding classification rulings, or act as a customs broker. Use it for catalog pricing, compliance planning, and audit trails. Final classification and entry filing should go through a licensed customs broker.
Is this legal advice or a binding classification?
No. Data is for informational purposes. Final classification and duty determinations are made by US Customs and Border Protection (CBP). For binding rulings, request a CBP ruling letter. We tell you what the schedule says — CBP tells you what applies to your specific entry.
Can I calculate tariffs programmatically?
Yes. GET /api/v1/tariffs/resolve takes an HTS code and country of origin and returns the base duty plus every applicable Chapter 99 measure with rates, effective dates, and confidence scores. Bulk endpoint handles up to 200 codes per request. Pass as_of to get historical rates. See /api-documentation.
How should I interpret the confidence score?
Every resolved measure includes a confidence score and a match type (exact, prefix, inherited). High confidence means the HTS code matched a measure directly. Medium or low means we inferred the match from a parent heading or a normalized variant — the JSON response includes attempted_candidates so you can verify. For anything low-confidence, cross-check with your broker or CBP.
Stop guessing at your landed cost.
Run your first lookup in under ten seconds. No signup, no credit card — just the real number.