On this page
HTS Calculator API · OpenAPI 3.1 and MCP
API documentation
- SpecOpenAPI 3.1
- openapi.json
- mcp-tools.json
- Base URLhttps://api.htscalculator.com
The HTS Calculator APIs, grouped by product: Duty Stack, HTS Lookup & History, IEEPA Refund and the Tariff Change Feed, plus the MCP server.
Generated from the OpenAPI 3.1 spec (openapi.json); every example response below is real output of the API on the current data.
We do not classify goods. These pages show reference rates for HTS codes. Choosing the code for an entry is the importer's responsibility, and entries are filed by the importer of record or a licensed customs broker. Duties shown are calculations from public sources, not legal advice.
Try the API
Choose an endpoint and a sample, change the parameters, and send. Without a key the public demo answers the sample requests (marked demo, not counted against any quota, limited per IP address). With your key, or your account when you are signed in, any values work and the call counts against your plan. A key stays in this page's memory: it is never stored. Get a free key.
Summary
HTS 6112.19.40.50 from CN, entered 2025-08-20
Total duty41%= $4,100.00 on $10,000.00
- Merchandise processing fee (MPF) and harbor maintenance fee (HMF)
- Antidumping and countervailing duties
- Duties on a specific (per unit) basis, which need the quantity
| Line | Rate | Running total | Duty |
|---|---|---|---|
| Base rate column 1 General | 3.5% | 3.5% | $350.00 |
| 9903.01.24 IEEPA | +20% | 23.5% | $2,000.00 |
| 9903.01.25 IEEPA | +10% | 33.5% | $1,000.00 |
| 9903.88.15 Section 301 | +7.5% | 41% | $750.00 |
| Total duty | 41% | $4,100.00 |
Response
{
"data": {
"qid": null,
"input": {
"hts10": "6112194050",
"origin": "CN",
"entry_date": "2025-08-20",
"export_date": null,
"mode": "vessel",
"declared_attributes": {}
},
"hts_revision_in_force": {
"release": "2025HTSRev19",
"valid_from": "2025-08-18",
"valid_to": "2025-08-26",
"chapter99_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=Chapter%2099",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=Change%20Record",
"source": "ruledata/revisions.json (USITC releaseList)"
},
"base_mfn": {
"hts10": "6112.19.4050",
"general_rate_text": "3.5%",
"rate_type": "ad_valorem",
"ad_valorem_equivalent": 3.5,
"applied_rate_text": "3.5%",
"applied_basis": "column 1 General",
"applied_ad_valorem_pct": 3.5,
"citations": [
{
"type": "USITC HTS (adjudicated MFN group)",
"release": "2025HTSRev19",
"locator": "HTS 6112.19.4050, column 1 General, release 2025HTSRev19",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=finalCopy",
"rule_file": "ruledata/mfn_intervals.jsonl"
}
]
},
"declared_attributes_used": [],
"defaults_applied": [
"cbp_transshipment_determination=false (policy_default)",
"humanitarian_donation_1702b2=false (policy_default)"
],
"chapter99_lines": [
{
"heading": "9903.01.24",
"rule_id": "IEEPA_CN_FENT_20",
"group": "ieepa",
"authority": "IEEPA; EO 14195 as amended by EO 14228 (90 FR 11463)",
"rate_text": "+20% ad valorem on the value of the article",
"rate_pct": 20,
"rate_formula": null,
"valuation_basis": "full customs value",
"share_of_value": 1,
"amount_pct": 20,
"amount_formula": "20",
"specific_rate": null,
"status_hint": null,
"citations": [
{
"type": "cbp_csms",
"id": "CSMS #64299816",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3d52328",
"quote": "entered for consumption, or withdrawn from warehouse for consumption, on or after 12:01 a.m. eastern standard time on March 4, 2025: 9903.01.24: All imports of articles that are products of China and …"
},
{
"type": "federal_register",
"id": "EO 14228, 90 FR 11463",
"url": "https://www.federalregister.gov/documents/2025/03/07/2025-03775/further-amendment-to-duties-addressing-the-synthetic-opioid-supply-chain-in-the-peoples-republic-of",
"quote": "section 2(a) of Executive Order 14195 is hereby amended by striking the words “10 percent” and inserting in lieu thereof the words “20 percent”. Sec. 3 . General Provisions. (a) Nothing in this order …"
},
"… 3 more"
]
},
{
"heading": "9903.01.25",
"rule_id": "RECIP_BASE_10_W5",
"group": "ieepa",
"authority": "IEEPA; EO 14257 as amended by EO 14326 (90 FR 37963) and later orders",
"rate_text": "+10% ad valorem on the value of the article",
"rate_pct": 10,
"rate_formula": null,
"valuation_basis": "full customs value",
"share_of_value": 1,
"amount_pct": 10,
"amount_formula": "10",
"specific_rate": null,
"status_hint": null,
"citations": [
{
"type": "cbp_csms",
"id": "CSMS #65829726",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3ec7b5e",
"quote": "Goods of China, including Hong Kong and Macau, continue to be subject to the 10% reciprocal tariff under heading 9903.01.25. EXEMPTIONS The following HTSUS classifications apply to products that are e…"
},
{
"type": "usitc_hts",
"id": "HTSUS 2026HTSRev3, Chapter 99 heading 9903.01.25",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev3&filename=Chapter%2099",
"quote": "9903.01.25: Articles the product of any country, except for products described in headings 9903.01.26–9903.01.33, 9903.02.02–9903.02.91, 9903.96.01, and 9903.96.02, and except as provided for in headi…"
},
"… 3 more"
]
},
"… 1 more"
],
"not_applied": [
{
"heading": "9903.02.01",
"rule_id": "RECIP_TRANSSHIP_40",
"group": "ieepa",
"authority": "IEEPA; EO 14326 sec.3",
"reason": "condition cbp_transshipment_determination == true not met (cbp_transshipment_determination = false, policy_default) - available only if claimed/declared",
"citation": [
{
"type": "usitc_hts",
"id": "HTSUS 2026HTSRev3, Chapter 99 heading 9903.02.01",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev3&filename=Chapter%2099",
"quote": "9903.02.01: Articles the product of any country determined by U.S. Customs and Border Protection to have been transshipped to evade applicable duties under section 2 of Executive Order [Insert EO numb…"
}
]
},
{
"heading": "9903.01.20",
"rule_id": "IEEPA_CN_FENT_10_2025FEB",
"group": "ieepa",
"authority": "IEEPA; EO 14195 (90 FR 9121) as amended by EO 14200",
"reason": "terminated/expired: in force for entries 2025-02-04..2025-03-03",
"citation": [
{
"type": "usitc_hts",
"id": "HTSUS 2025HTSRev1, Chapter 99 heading 9903.01.20",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev1&filename=Chapter%2099",
"quote": "9903.01.20: Except for products described in headings 9903.01.21, 9903.01.22, or 9903.01.23 articles the product of China and Hong Kong, as provided for in U.S. note 2(s) to this subchapter | General:…"
}
]
},
"… 8 more"
],
"total": {
"ad_valorem_pct": 41,
"formula": "41",
"specific_components": []
},
"status": "COMPUTED",
"review_flags": [],
"ieepa": {
"ieepa_duty_paid": true,
"ieepa_lines": ["9903.01.24", "9903.01.25"],
"ieepa_pct_of_value": 30,
"refund_eligible": true,
"refund_basis": "IEEPA duties are no longer collected for entries on/after 12:00 a.m. ET 2026-02-24 (EO 14389; CBP CSMS #67834313). CBP refunds IEEPA duties paid on earlier entries through a CAPE Declaration in ACE (C…",
"needs_attributes_for_path": ["liquidation_status", "liquidation_date", "… 1 more"],
"sources": [
{
"type": "CBP CSMS",
"id": "CSMS #67834313",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/40b11c9"
},
{
"type": "Federal Register",
"id": "EO 14389, Ending Certain Tariff Actions (91 FR 9437)",
"url": "https://www.federalregister.gov/documents/2026/02/25/2026-03832/ending-certain-tariff-actions"
},
"… 1 more"
]
},
"trace": [
"Entry date 2025-08-20 -> 2025HTSRev19 (valid 2025-08-18..2025-08-26).",
"11 rules match origin CN and HTS 6112.19.4050 on the entry date (34 more outside their date window)."
],
"plausibility": [],
"engine": {
"name": "engine-ts (datasets/tariffs)",
"rules_version": "1.0.0",
"coverage": { "from": "2025-01-01", "to": "2026-10-09" },
"parity": "identical to the Python reference engine on 500 test and 3,000 stress queries (datasets/tariffs/engine-ts/PARITY.md)"
},
"amounts": {
"entered_value_usd": 10000,
"base": { "rate_text": "3.5%", "ad_valorem_pct": 3.5, "duty_usd": 350 },
"chapter99_lines": [
{
"heading": "9903.01.24",
"rule_id": "IEEPA_CN_FENT_20",
"amount_pct": 20,
"duty_usd": 2000
},
{
"heading": "9903.01.25",
"rule_id": "RECIP_BASE_10_W5",
"amount_pct": 10,
"duty_usd": 1000
},
"… 1 more"
],
"total": { "ad_valorem_pct": 41, "duty_usd": 4100, "basis": "sum of the rounded lines" },
"not_included": [
"Merchandise processing fee (MPF) and harbor maintenance fee (HMF)",
"Antidumping and countervailing duties",
"… 1 more"
],
"method": "duty = entered value x percent / 100, rounded to the cent (code, exact decimal arithmetic), for each line whose percent is a number on this entry date; the total is the sum of the rounded lines, as an…"
}
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}- 1Each line carries its citations, with the quoted text
- 2Pin and diff: the version is also in the X-Dataset-Version header
Request
curl -s -X POST "https://api.htscalculator.com/demo/v1/tariffs/duty-stack" \
-H "Content-Type: application/json" \
-d '{"hts10":"6112194050","origin":"CN","entry_date":"2025-08-20","entered_value_usd":10000}'Getting started
- Create a free account: confirm your email with a code, and your first key is on your dashboard, where you also create, name and revoke keys and see your usage.
- Send it in the
X-API-Keyheader (orAuthorization: Bearer). - Base URL:
https://api.htscalculator.com.
export API_KEY=xmd_live_...
curl -s "https://api.htscalculator.com/v1/tariffs/duty-stack" -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" -d '{"hts10":"6112194050","origin":"CN","entry_date":"2025-12-07","export_date":"2025-11-17","mode":"vessel","declared_attributes":{},"entered_value_usd":48250}'Responses and provenance
Every successful response is {"data": …, "meta": …}. meta always has dataset, dataset_version, dataset_built_at, data_status, the sources with their licences, a disclaimer and your usage. The X-Dataset-Version header repeats the version so you can pin and diff.
Inside data, each value carries its provenance: the source, the record id or URL, the source field and value, and the retrieval date; where an AI judged something, the method and a confidence. Calculations list their inputs and method.
{
"data": { … 16 more },
"meta": {
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
… 5 more
]
… 5 more
}
}- 1Pin and diff: the version is also in the X-Dataset-Version header
Errors and limits
Errors are {"error": {"code", "message", "details"}} with an HTTP status:
| Status | Meaning and typical codes |
|---|---|
| 400 | Invalid request: invalid_request, invalid_hts, invalid_origin, invalid_date |
| 401 | missing_api_key, invalid_api_key, revoked_api_key |
| 404 | hts_not_found |
| 422 | Valid but not computable: out_of_coverage (entry date outside the rule coverage) |
| 429 | rate_limited (see Retry-After), quota_exceeded, too_many_attempts (signup, key changes and the demo), free_calculator_limit (the free calculator's daily limit) |
| 503 | dataset_not_loaded |
Rate limits are per key per minute; quotas are monthly units. Headers on every metered call: X-RateLimit-Limit, X-RateLimit-Remaining, X-Quota-Limit, X-Quota-Used. X-Quota-Limit is the units included in your plan each month, not the point where calls stop: free plans stop there, paid plans keep working up to meta.usage.hard_cap_units. meta.usage.units_charged is the units a call counted against your plan (a count, not money). Your usage by product and endpoint: GET /v1/usage. Errors cost nothing. See pricing for the limits of each plan.
Free keys stop at their included units until the next month. Developer and Pro keep working above their included units at no extra charge during the beta, up to 3× the included units; then calls answer 429 quota_exceeded until the next month or until you upgrade. Months are calendar months in UTC. If we ever charge for usage above the included units, we will announce it at least 30 days in advance, and it will not apply to usage before that date.
Demo without a key
The playground above, and the try-it panels on the product pages, call https://api.htscalculator.com/demo followed by an endpoint's path when no key is given, for example GET /demo/v1/tariffs/hts/6112194050?date=2025-12-07. The demo answers the sample requests listed at GET /demo/samples (some samples allow a few other values) with the endpoint's real output, marked meta.demo: true and the X-Demo header. It is not counted against any quota and is limited per IP address (30 requests a minute, 200 a day); any other input answers 403 demo_not_allowed. One exception, the free duty calculator: POST /demo/v1/tariffs/duty-stack and POST /demo/v1/tariffs/compare-origins answer any HTS code, origin and entry date with the calculator's fields (hts10, origin or origins, entry_date, entered_value_usd), 10 calculations a day per IP address (meta.demo_kind: "free_calculator"; then 429 free_calculator_limit). Use your key for real work.
MCP for AI agents
POST JSON-RPC 2.0 to /mcp (Streamable HTTP, JSON responses) with your key in X-API-Key. Methods: initialize, tools/list, tools/call, ping. Each REST operation below is a read-only tool with the same input schema; results come back as structuredContent with the same envelope and the same metering. Tool list: mcp-tools.json.
- tariffs_duty_stack
- tariffs_duty_stack_batch
- tariffs_compare_origins
- tariffs_hts_search
- tariffs_hts_lookup
- tariffs_hts_history
- tariffs_revisions
- tariffs_measure
- tariffs_measures_for_hts
- tariffs_changes
- tariffs_ieepa_refund
{
"mcpServers": {
"htscalculator": {
"type": "http",
"url": "https://api.htscalculator.com/mcp",
"headers": { "X-API-Key": "YOUR_KEY" }
}
}
}Endpoints by product
Every endpoint belongs to one product: Duty Stack API, HTS Lookup & History API, IEEPA Refund API and Estimator, Tariff Change Feed. One key and one plan cover all of them.
Duty Stack API
LiveThe base rate plus every Chapter 99 line for an HTS code, origin and entry date, with citations and the duty in dollars. Product page.
POST /v1/tariffs/duty-stack
Duty stack for an HTS code, origin and date. Base MFN rate plus every Chapter 99 line (Section 301, 232, IEEPA and others) that applies on the entry date (2025-01-01 to 2026-10-09), with the lines considered and not applied, totals, attributes the HTS code itself settles, and citations; with entered_value_usd, also the duty in dollars per line and in total (amounts). If a fact about the goods decides between lines and you did not declare it, the result branches on it. Reference calculation from the HTS code you supply: we do not classify goods.
- Cost10 units
- MCP tooltariffs_duty_stack
| Name | Type | Required | Notes |
|---|---|---|---|
| hts10 | string | yes | 10-digit HTSUS statistical number |
| origin | string | yes | Country of origin, ISO 3166-1 alpha-2 |
| entry_date | string | yes | YYYY-MM-DD |
| export_date | string | no | YYYY-MM-DD |
| mode | string: vessel, air, truck, rail, mail, postal, other | no | |
| declared_attributes | object | no | Facts you declare, e.g. steel_content_value_share, usmca_qualifying |
| entered_value_usd | number or string | no | Entered (customs) value in USD: adds the duty in dollars (amounts) |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/duty-stack" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"hts10":"6112194050","origin":"CN","entry_date":"2025-12-07","export_date":"2025-11-17","mode":"vessel","declared_attributes":{},"entered_value_usd":48250}'Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"qid": null,
"input": {
"hts10": "6112194050",
"origin": "CN",
"entry_date": "2025-12-07",
"export_date": "2025-11-17",
"mode": "vessel",
"declared_attributes": {}
},
"hts_revision_in_force": {
"release": "2025HTSRev32",
"valid_from": "2025-12-05",
"valid_to": "2025-12-30",
"chapter99_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev32&filename=Chapter%2099",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev32&filename=Change%20Record",
"source": "ruledata/revisions.json (USITC releaseList)"
},
"base_mfn": {
"hts10": "6112.19.4050",
"general_rate_text": "3.5%",
"rate_type": "ad_valorem",
"ad_valorem_equivalent": 3.5,
"applied_rate_text": "3.5%",
"applied_basis": "column 1 General",
"applied_ad_valorem_pct": 3.5,
"citations": [
{
"type": "USITC HTS (adjudicated MFN group)",
"release": "2025HTSRev32",
"locator": "HTS 6112.19.4050, column 1 General, release 2025HTSRev32",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev32&filename=finalCopy",
"rule_file": "ruledata/mfn_intervals.jsonl"
}
]
},
"declared_attributes_used": [],
"defaults_applied": [
"cbp_transshipment_determination=false (policy_default)",
"humanitarian_donation_1702b2=false (policy_default)",
"… 2 more"
],
"chapter99_lines": [
{
"heading": "9903.01.24",
"rule_id": "IEEPA_CN_FENT_10_2025NOV",
"group": "ieepa",
"authority": "IEEPA; EO 14195 as amended by EO 14357 (90 FR 50725)",
"rate_text": "+10% ad valorem on the value of the article",
"rate_pct": 10,
"rate_formula": null,
"valuation_basis": "full customs value",
"share_of_value": 1,
"amount_pct": 10,
"amount_formula": "10",
"specific_rate": null,
"status_hint": null,
"citations": [
{
"type": "federal_register",
"id": "EO 14357, 90 FR 50725",
"url": "https://www.federalregister.gov/documents/2025/11/07/2025-19825/modifying-duties-addressing-the-synthetic-opioid-supply-chain-in-the-peoples-republic-of-china",
"quote": "All articles that are subject to the additional ad valorem rate of duty of 20 percent under Executive Order 14195, as amended, shall instead be subject to an additional ad valorem rate of duty of 10 p…"
},
{
"type": "cbp_csms",
"id": "CSMS #66749380",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3fa83c4",
"quote": "Effective November 10, 2025, the ad valorem duty rate for goods that are the products of China and Hong Kong applicable under EO 14195, as amended, has been lowered from 20% to 10%. The following HTSU…"
},
"… 3 more"
]
},
{
"heading": "9903.01.25",
"rule_id": "RECIP_BASE_10_W5",
"group": "ieepa",
"authority": "IEEPA; EO 14257 as amended by EO 14326 (90 FR 37963) and later orders",
"rate_text": "+10% ad valorem on the value of the article",
"rate_pct": 10,
"rate_formula": null,
"valuation_basis": "full customs value",
"share_of_value": 1,
"amount_pct": 10,
"amount_formula": "10",
"specific_rate": null,
"status_hint": null,
"citations": [
{
"type": "cbp_csms",
"id": "CSMS #65829726",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3ec7b5e",
"quote": "Goods of China, including Hong Kong and Macau, continue to be subject to the 10% reciprocal tariff under heading 9903.01.25. EXEMPTIONS The following HTSUS classifications apply to products that are e…"
},
{
"type": "usitc_hts",
"id": "HTSUS 2026HTSRev3, Chapter 99 heading 9903.01.25",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev3&filename=Chapter%2099",
"quote": "9903.01.25: Articles the product of any country, except for products described in headings 9903.01.26–9903.01.33, 9903.02.02–9903.02.91, 9903.96.01, and 9903.96.02, and except as provided for in headi…"
},
"… 3 more"
]
},
"… 1 more"
],
"not_applied": [
{
"heading": "9903.94.07",
"rule_id": "S232-9903.94.07-v1",
"group": "sec232",
"authority": "Section 232; Proc. 10908 (autos and auto parts, 90 FR 14705) as amended; Proc. 10984 (auto parts tariff expansion)",
"reason": "condition importer_certifies_auto_production_or_repair_use == true not met (importer_certifies_auto_production_or_repair_use = false, rule_default)",
"citation": [
{
"type": "USITC HTS Chapter 99",
"id": "2025HTSRev26 heading 9903.94.07",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev26&filename=Chapter%2099",
"quote": "9903.94.07 | General: The duty provided in the applicable subheading + 25% | Except as provided for in headings 9903.94.33, 9903.94.44, 9903.94.45, 9903.94.54 and 9903.94.55, automobile parts as provi…"
}
]
},
{
"heading": "9903.74.09",
"rule_id": "S232-9903.74.09-v1",
"group": "sec232",
"authority": "Section 232; Proc. 10984 (medium- and heavy-duty vehicles, parts and buses, 90 FR 48451)",
"reason": "condition importer_certifies_mhdv_production_or_repair_use == true not met (importer_certifies_mhdv_production_or_repair_use = false, rule_default)",
"citation": [
{
"type": "USITC HTS Chapter 99",
"id": "2025HTSRev26 heading 9903.74.09",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev26&filename=Chapter%2099",
"quote": "9903.74.09 | General: The duty provided in the applicable subheading + 25% | Medium- and heavy-duty vehicle parts, as provided for in subdivision (j) of U.S. note 38 to this subchapter"
}
]
},
"… 8 more"
],
"total": {
"ad_valorem_pct": 31,
"formula": "31",
"specific_components": []
},
"status": "COMPUTED",
"review_flags": [],
"ieepa": {
"ieepa_duty_paid": true,
"ieepa_lines": ["9903.01.24", "9903.01.25"],
"ieepa_pct_of_value": 20,
"refund_eligible": true,
"refund_basis": "IEEPA duties are no longer collected for entries on/after 12:00 a.m. ET 2026-02-24 (EO 14389; CBP CSMS #67834313). CBP refunds IEEPA duties paid on earlier entries through a CAPE Declaration in ACE (C…",
"needs_attributes_for_path": ["liquidation_status", "liquidation_date", "… 1 more"],
"sources": [
{
"type": "CBP CSMS",
"id": "CSMS #67834313",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/40b11c9"
},
{
"type": "Federal Register",
"id": "EO 14389, Ending Certain Tariff Actions (91 FR 9437)",
"url": "https://www.federalregister.gov/documents/2026/02/25/2026-03832/ending-certain-tariff-actions"
},
"… 1 more"
]
},
"trace": [
"Entry date 2025-12-07 -> 2025HTSRev32 (valid 2025-12-05..2025-12-30).",
"13 rules match origin CN and HTS 6112.19.4050 on the entry date (32 more outside their date window)."
],
"plausibility": [],
"engine": {
"name": "engine-ts (datasets/tariffs)",
"rules_version": "1.0.0",
"coverage": { "from": "2025-01-01", "to": "2026-10-09" },
"parity": "identical to the Python reference engine on 500 test and 3,000 stress queries (datasets/tariffs/engine-ts/PARITY.md)"
},
"amounts": {
"entered_value_usd": 48250,
"base": { "rate_text": "3.5%", "ad_valorem_pct": 3.5, "duty_usd": 1688.75 },
"chapter99_lines": [
{
"heading": "9903.01.24",
"rule_id": "IEEPA_CN_FENT_10_2025NOV",
"amount_pct": 10,
"duty_usd": 4825
},
{
"heading": "9903.01.25",
"rule_id": "RECIP_BASE_10_W5",
"amount_pct": 10,
"duty_usd": 4825
},
"… 1 more"
],
"total": {
"ad_valorem_pct": 31,
"duty_usd": 14957.5,
"basis": "sum of the rounded lines"
},
"not_included": [
"Merchandise processing fee (MPF) and harbor maintenance fee (HMF)",
"Antidumping and countervailing duties",
"… 1 more"
],
"method": "duty = entered value x percent / 100, rounded to the cent (code, exact decimal arithmetic), for each line whose percent is a number on this entry date; the total is the sum of the rounded lines, as an…"
}
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}POST /v1/tariffs/duty-stack/batch
Duty stacks for many lines. Up to 200 lines (HTS code, origin, entry date, optional value and declared facts) in one call; each line answers as POST /v1/tariffs/duty-stack does, or with its own error. The summary adds up the dollar totals that are numbers. Reference calculations from the codes you supply: we do not classify goods.
- Cost10 units per line
- MCP tooltariffs_duty_stack_batch
| Name | Type | Required | Notes |
|---|---|---|---|
| lines | array | yes |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/duty-stack/batch" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"lines":[{"line_id":"A1","hts10":"7318158066","origin":"CN","entry_date":"2025-08-20","entered_value_usd":10000},{"line_id":"A2","hts10":"8471300100","origin":"VN","entry_date":"2025-09-15","entered_value_usd":120000}]}'Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"count": 2,
"ok": 2,
"errors": 0,
"summary": {
"lines_with_dollar_total": 0,
"total_duty_usd": null,
"note": "Sum of the lines whose total duty is a number (lines with undeclared facts or specific rates are not summed)"
},
"results": [
{
"line_id": "A1",
"status": "ok",
"result": {
"qid": null,
"input": {
"hts10": "7318158066",
"origin": "CN",
"entry_date": "2025-08-20",
"export_date": null,
"mode": "vessel",
"declared_attributes": {}
},
"hts_revision_in_force": {
"release": "2025HTSRev19",
"valid_from": "2025-08-18",
"valid_to": "2025-08-26",
"chapter99_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=Chapter%2099",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=Change%20Record",
"source": "ruledata/revisions.json (USITC releaseList)"
},
"base_mfn": {
"hts10": "7318.15.8066",
"general_rate_text": "8.5%",
"rate_type": "ad_valorem",
"ad_valorem_equivalent": 8.5,
"applied_rate_text": "8.5%",
"applied_basis": "column 1 General",
"applied_ad_valorem_pct": 8.5,
"citations": [
{
"type": "USITC HTS (adjudicated MFN group)",
"release": "2025HTSRev19",
"locator": "HTS 7318.15.8066, column 1 General, release 2025HTSRev19",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=finalCopy",
"rule_file": "ruledata/mfn_intervals.jsonl"
}
]
},
"declared_attributes_used": [],
"defaults_applied": [
"cbp_transshipment_determination=false (policy_default)",
"ftz_pf_status_admitted_before_2025_06_04=false (rule_default)",
"… 2 more"
],
"chapter99_lines": [
{
"heading": "9903.01.24",
"rule_id": "IEEPA_CN_FENT_20",
"group": "ieepa",
"authority": "IEEPA; EO 14195 as amended by EO 14228 (90 FR 11463)",
"rate_text": "+20% ad valorem on the value of the article",
"rate_pct": 20,
"rate_formula": null,
"valuation_basis": "full customs value",
"…": "6 more fields"
},
{
"heading": "9903.01.25",
"rule_id": "RECIP_BASE_10_W5",
"group": "ieepa",
"authority": "IEEPA; EO 14257 as amended by EO 14326 (90 FR 37963) and later orders",
"rate_text": "+10% ad valorem on the value of the article",
"rate_pct": 10,
"rate_formula": null,
"valuation_basis": "full customs value; limited to value not covered by Section 232 content/exempt share",
"…": "6 more fields"
},
"… 3 more"
],
"not_applied": [
{
"heading": "9903.81.92",
"rule_id": "S232-9903.81.92-v4",
"group": "sec232",
"authority": "Section 232; Proc. 9705 as amended by Proc. 10896 (90 FR 9817)",
"reason": "condition steel_melted_poured_in_us == true not met (steel_melted_poured_in_us = false, rule_default)",
"citation": [
{
"type": "USITC HTS Chapter 99",
"id": "2025HTSRev19 heading 9903.81.92",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev19&filename=Chapter%2099",
"quote": "9903.81.92 | General: The duty provided in the applicable subheading. | Derivative iron or steel products provided for in the tariff subheadings enumerated in subdivision subdivisions (m), (n), (t) or…"
}
]
},
{
"heading": "9903.81.93",
"rule_id": "S232-9903.81.93-v2",
"group": "sec232",
"authority": "Section 232; Proc. 10947 (90 FR 24199) amending Procs. 9704/9705/9980/10895/10896",
"reason": "condition ftz_pf_status_admitted_before_2025_06_04 == true not met (ftz_pf_status_admitted_before_2025_06_04 = false, rule_default)",
"citation": [
{
"type": "USITC HTS Chapter 99",
"id": "2025HTSRev14 heading 9903.81.93",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev14&filename=Chapter%2099",
"quote": "9903.81.93 | General: The duty provided in the applicable subheading + 50%. | Except as provided in headings 9903.81.91 or 9903.81.92, derivative products of iron or steel, as specified in subdivision…"
}
]
},
"… 10 more"
],
"…": "11 more fields"
}
},
{
"line_id": "A2",
"status": "ok",
"result": {
"qid": null,
"input": {
"hts10": "8471300100",
"origin": "VN",
"entry_date": "2025-09-15",
"export_date": null,
"mode": "vessel",
"declared_attributes": {}
},
"hts_revision_in_force": {
"release": "2025HTSRev22",
"valid_from": "2025-09-09",
"valid_to": "2025-09-15",
"chapter99_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev22&filename=Chapter%2099",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev22&filename=Change%20Record",
"source": "ruledata/revisions.json (USITC releaseList)"
},
"base_mfn": {
"hts10": "8471.30.0100",
"general_rate_text": "Free",
"rate_type": "free",
"ad_valorem_equivalent": 0,
"applied_rate_text": "Free",
"applied_basis": "column 1 General",
"applied_ad_valorem_pct": 0,
"citations": [
{
"type": "USITC HTS (adjudicated MFN group)",
"release": "2025HTSRev22",
"locator": "HTS 8471.30.0100, column 1 General, release 2025HTSRev22",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev22&filename=finalCopy",
"rule_file": "ruledata/mfn_intervals.jsonl"
}
]
},
"declared_attributes_used": [],
"defaults_applied": [
"cbp_transshipment_determination=false (policy_default)",
"humanitarian_donation_1702b2=false (policy_default)"
],
"status": "INSUFFICIENT_ATTRIBUTES",
"missing_attributes": ["is_part_of_passenger_vehicle_or_light_truck"],
"…": "11 more fields"
}
}
]
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}POST /v1/tariffs/compare-origins
Compare origins for one HTS code. One HTS code and entry date, up to 20 countries of origin: the total duty (and dollars with entered_value_usd), the Chapter 99 headings and branches for each, and the origins ranked lowest first where the total is a number.
- Cost10 units per distinct origin
- MCP tooltariffs_compare_origins
| Name | Type | Required | Notes |
|---|---|---|---|
| hts10 | string | yes | |
| origins | array | yes | |
| entry_date | string | yes | YYYY-MM-DD |
| export_date | string | no | YYYY-MM-DD |
| mode | string: vessel, air, truck, rail, mail, postal, other | no | |
| declared_attributes | object | no | |
| entered_value_usd | number or string | no | Entered (customs) value in USD: adds the duty in dollars (amounts) |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/compare-origins" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"hts10":"6112194050","origins":["CN","VN","IN","MX","BD","DE"],"entry_date":"2026-10-09","entered_value_usd":10000}'Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"hts10": "6112194050",
"entry_date": "2026-10-09",
"count": 6,
"origins": [
{
"origin": "CN",
"status": "ok",
"engine_status": "COMPUTED",
"total_ad_valorem_pct": 23.5,
"total_formula": "23.5",
"branches": [],
"chapter99": [
{
"heading": "9903.05.31",
"group": "sec301",
"amount_pct": 12.5,
"amount_formula": "12.5"
},
{
"heading": "9903.88.15",
"group": "sec301",
"amount_pct": 7.5,
"amount_formula": "7.5"
}
],
"total_duty_usd": 2350
},
{
"origin": "VN",
"status": "ok",
"engine_status": "COMPUTED",
"total_ad_valorem_pct": 16,
"total_formula": "16",
"branches": [],
"chapter99": [
{
"heading": "9903.05.84",
"group": "sec301",
"amount_pct": 12.5,
"amount_formula": "12.5"
}
],
"total_duty_usd": 1600
},
"… 4 more"
],
"lowest_first": ["DE", "BD", "… 3 more"],
"note": "Each origin is a full duty stack (POST /v1/tariffs/duty-stack) on the same entry date. Origins whose total depends on undeclared facts are not ranked: see their branches. Country of origin follows the…"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}HTS Lookup & History API
LiveThe tariff schedule as of any date: lines, base rates, revisions, changes and the Chapter 99 measures that reach a code. Product page.
GET /v1/tariffs/hts/search
Search the tariff schedule's text. Lines of the current HTS release whose text (with their parent lines) contains every word as a whole word (or its plural or singular: screw = screws). By default the lines whose own text matches the words best come first ('cap screws' finds the line 'Cap screws' before 'Machine screws ... (not including cap screws)'; each line has its score and why); order=schedule gives schedule order. For finding a line whose wording you know: it orders text matches only, does not choose a code for a product, and is not classification.
- Cost1 unit
- MCP tooltariffs_hts_search
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| q | query | string | yes | |
| chapter | query | string | no | |
| limit | query | integer | no | Default 25. |
| offset | query | integer | no | Default 0. |
| order | query | string: relevance, schedule | no | relevance: how well the lines' text matches the words (the 500 lines with the most words in their own text are ranked); schedule: chapter, then line, through all matches Default relevance. |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/hts/search?q=cap+screws&limit=5" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"query": "cap screws",
"words": ["cap", "screws"],
"count": 5,
"total": 8,
"offset": 0,
"lines": [
{
"hts": "7318158066",
"htsno": "7318.15.80.66",
"chapter": "73",
"indent": 9,
"description": "Cap screws",
"description_path": [
"Screws, bolts, nuts, coach screws, screw hooks, rivets, cotters, cotter pins, washers (including spring washers) and similar articles, of iron or steel:",
"Threaded articles:",
"… 8 more"
],
"units": ["kg"],
"general": null,
"release": "2026HTSRev21",
"score": 12.75,
"why": [
"cap: leads the line's text",
"screws: leads the line's text, at 3 levels",
"… 2 more"
]
},
{
"hts": "7318154000",
"htsno": "7318.15.40.00",
"chapter": "73",
"indent": 3,
"description": "Machine screws 9.5 mm or more in length and 3.2 mm or more in diameter (not including cap screws)",
"description_path": [
"Screws, bolts, nuts, coach screws, screw hooks, rivets, cotters, cotter pins, washers (including spring washers) and similar articles, of iron or steel:",
"Threaded articles:",
"… 2 more"
],
"units": ["kg"],
"general": "Free",
"release": "2026HTSRev21",
"score": 5.65,
"why": [
"cap: only in a use or exclusion, the line's text",
"screws: leads 1 level up, at 3 levels",
"… 1 more"
]
},
"… 3 more"
],
"order": "relevance: lines whose own text has the words first (then their parent lines, then headings), more for words leading the text, for the words as a phrase and for lines under a heading about the words; …",
"note": "Text search of the Harmonized Tariff Schedule (current release): every word must appear as a whole word (or its plural or singular) in the line or its parent lines. It finds lines whose text you alrea…"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}GET /v1/tariffs/hts/{hts}
HTS line lookup. An HTS line (10 digits) or every statistical line under a subheading (8 digits): description with its hierarchy and units (current release), the column 1 General rate in force on a date, current special and column 2 rates, and the HTS revision in force.
- Cost1 unit
- MCP tooltariffs_hts_lookup
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| hts | path | string | yes | |
| date | query | string | no | YYYY-MM-DD |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/hts/6112194050?date=2025-12-07" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"query": "6112194050",
"date": "2025-12-07",
"hts_revision_in_force": {
"release": "2025HTSRev32",
"description": "2025 HTS Revision 32",
"posted_date": "2025-12-03",
"valid_from": "2025-12-05",
"valid_to": "2025-12-30",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev32&filename=finalCopy",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev32&filename=Change%20Record",
"pdf_sha256": "f96395c5bb71249c1806710ba9443848b944cf7983ed8de5b8679e09e5c878ea"
},
"subheading": {
"hts": "61121940",
"htsno": "6112.19.40",
"indent": 3,
"description": "Containing 70 percent or more by weight of silk or silk waste",
"description_path": [
"Track suits, ski-suits and swimwear, knitted or crocheted:",
"Track suits:",
"… 2 more"
],
"units": [],
"general": "3.5%",
"special": "Free (AU,BH, CL,CO,E,IL,JO, KR,MA,OM, P,PA,PE,S,SG)",
"column2": "90%",
"footnotes": [],
"provenance": {
"source": "USITC HTS exportList",
"release": "2026HTSRev21",
"url": "https://hts.usitc.gov/reststop/exportList?from=6101&to=6199&format=JSON&styles=false",
"retrieved": "2026-10-10",
"method": "copied by code; hierarchy joined by indent"
}
},
"count": 1,
"lines": [
{
"hts10": "6112194050",
"hts_formatted": "6112.19.40.50",
"line": {
"hts": "6112194050",
"htsno": "6112.19.40.50",
"indent": 5,
"description": "Men's or boys' (747)",
"description_path": [
"Track suits, ski-suits and swimwear, knitted or crocheted:",
"Track suits:",
"… 4 more"
],
"units": ["doz.", "kg"],
"general": null,
"special": null,
"…": "3 more fields"
},
"mfn_on_date": {
"general_rate_text": "3.5%",
"ad_valorem_equivalent": 3.5,
"rate_type": "ad_valorem",
"first_release": "2025HTSBasic",
"last_release": "2026HTSRev21",
"valid_from": "2024-12-31",
"valid_to": null,
"provenance": {
"source": "usitc_hts",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSBasic&filename=finalCopy"
}
},
"current_release": {
"release": "2026HTSRev21",
"general": "3.5%",
"special": {
"AU": "Free",
"BH": "Free",
"CL": "Free",
"CO": "Free",
"E": "Free",
"IL": "Free",
"JO": "Free",
"KR": "Free",
"…": "7 more fields"
},
"special_text": "Free (AU,BH, CL,CO,E,IL,JO, KR,MA,OM, P,PA,PE,S,SG)",
"column2": "90%",
"source": "rd_special (USITC exportList, current release)"
}
}
],
"note": "Column 1 General rate only. Additional duties (Chapter 99) depend on origin and date: use POST /v1/tariffs/duty-stack. Descriptions are from the current release; lines discontinued earlier may have no…"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}GET /v1/tariffs/hts/{hts}/history
Revision history of an HTS line. Column 1 General rate intervals by HTS release (2025HTSBasic to the current release), and established/discontinued events from the Change Records.
- Cost1 unit
- MCP tooltariffs_hts_history
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| hts | path | string | yes |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/hts/0901110035/history" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"hts10": "0901110035",
"hts_formatted": "0901.11.00.35",
"line": {
"hts": "0901110035",
"htsno": "0901.11.00.35",
"indent": 4,
"description": "Certified organic",
"description_path": [
"Coffee, whether or not roasted or decaffeinated; coffee husks and skins; coffee substitutes containing coffee in any proportion:",
"Coffee, not roasted:",
"… 3 more"
],
"units": ["kg"],
"general": null,
"special": null,
"column2": null,
"footnotes": [],
"provenance": {
"source": "USITC HTS exportList",
"release": "2026HTSRev21",
"url": "https://hts.usitc.gov/reststop/exportList?from=0901&to=0999&format=JSON&styles=false",
"retrieved": "2026-10-10",
"method": "copied by code; hierarchy joined by indent"
}
},
"mfn_history": [
{
"general_rate_text": "Free",
"ad_valorem_equivalent": 0,
"rate_type": "free",
"first_release": "2025HTSRev16",
"last_release": "2026HTSRev21",
"valid_from": "2025-07-01",
"valid_to": null,
"provenance": {
"source": "usitc_hts",
"url": "https://hts.usitc.gov/reststop/file?release=2025HTSRev16&filename=finalCopy"
}
}
],
"events": [
{
"nature": "Established",
"effective": "2025-07-01",
"release": "2026HTSBasic",
"text": "Established July 1, 2025 484(f) Rev 16",
"provenance": {
"source": "USITC Change Record (parsed by code)",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSBasic&filename=Change%20Record"
}
}
],
"method": "Column 1 General rate intervals by HTS release (dual AI parse of each release, adjudicated; code copied the rates); events from the Change Records."
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}GET /v1/tariffs/revisions
HTS revisions. HTS releases with their validity windows and links to the official PDF and Change Record.
- Cost1 unit
- MCP tooltariffs_revisions
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| from | query | string | no | YYYY-MM-DD |
| to | query | string | no | YYYY-MM-DD |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/revisions?from=2026-09-01" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"count": 5,
"revisions": [
{
"release": "2026HTSRev17",
"description": "2026 HTS Revision 17",
"posted_date": "2026-08-14",
"valid_from": "2026-08-24",
"valid_to": "2026-09-01",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev17&filename=finalCopy",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev17&filename=Change%20Record",
"pdf_sha256": "13a72b65ccc2a8078fef78ce39113349d60f06a1369b777275a8b64f5dc41c97"
},
{
"release": "2026HTSRev18",
"description": "2026 HTS Revision 18",
"posted_date": "2026-08-27",
"valid_from": "2026-09-02",
"valid_to": "2026-09-14",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev18&filename=finalCopy",
"change_record_url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev18&filename=Change%20Record",
"pdf_sha256": "e329c4e55573f55755afb523454199ee447888bff06ccfb11772ae5d81056dca"
},
"… 3 more"
],
"provenance": {
"source": "USITC HTS releaseList",
"url": "https://hts.usitc.gov/reststop/releaseList"
}
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}GET /v1/tariffs/measures/{heading}
A Chapter 99 measure. Every rule under a Chapter 99 heading, 9903 or 9904 (versions over time, country lists, quotas), or one rule by the rule_id GET /v1/tariffs/measures gives (the way to fetch rules without a heading, such as postal measures): authority, rate as published, valuation basis, countries, entry dates, scope size, conditions, stacking relations and citations with quotes.
- Cost1 unit
- MCP tooltariffs_measure
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| heading | path | string | yes | Chapter 99 heading (e.g. 9903.01.24, 9904.02.01) or a rule_id (e.g. OTH-122-POSTAL; encode / as %2F) |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/measures/9903.01.24" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"heading": "9903.01.24",
"rule_count": 2,
"rules": [
{
"rule_id": "IEEPA_CN_FENT_20",
"heading": "9903.01.24",
"group": "ieepa",
"authority": "IEEPA; EO 14195 as amended by EO 14228 (90 FR 11463)",
"kind": "duty",
"rate_type": "ad_valorem",
"rate_pct": 20,
"rate_text": "+20% ad valorem on the value of the article",
"valuation_basis": "full_value",
"countries": ["CN", "HK"],
"exclude_countries": [],
"effective_from_entry": "2025-03-04",
"effective_to_entry": "2025-11-09",
"scope_type": "all_except",
"scope_code_count": 0,
"status_hint": null,
"provenance": {
"method": "Two independent AI extraction passes (A, B) from USITC Chapter 99, Federal Register and CBP sources; an AI adjudicator settled every disagreement against the primary source; code copied all rates and …",
"confidence": "adjudicated",
"adjudicated_on": "2026-10-10",
"source_file_sha256": "4432e943b096486cbbc9640588906c48d64365d53b154d837922fc337e523485"
},
"scope_lists": [],
"conditions": [
{
"seq": 0,
"attribute": "accompanied_baggage_personal_use",
"operator": "!=",
"value_json": "true",
"default_if_undeclared_json": null
}
],
"stacking": [
{
"seq": 0,
"relation": "yields_to",
"target_kind": "rule",
"target": "IEEPA_CN_EXEMPT_DONATIONS",
"scope": "article",
"from_entry": null,
"to_entry": null,
"why": null
},
{
"seq": 1,
"relation": "yields_to",
"target_kind": "rule",
"target": "IEEPA_CN_EXEMPT_INFOMAT",
"scope": "article",
"from_entry": null,
"to_entry": null,
"why": null
},
"… 5 more"
],
"citations": [
{
"seq": 0,
"type": "cbp_csms",
"citation_id": "CSMS #64299816",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3d52328",
"quote": "entered for consumption, or withdrawn from warehouse for consumption, on or after 12:01 a.m. eastern standard time on March 4, 2025: 9903.01.24: All imports of articles that are products of China and …",
"quote_check": "no_local_source"
},
{
"seq": 1,
"type": "federal_register",
"citation_id": "EO 14228, 90 FR 11463",
"url": "https://www.federalregister.gov/documents/2025/03/07/2025-03775/further-amendment-to-duties-addressing-the-synthetic-opioid-supply-chain-in-the-peoples-republic-of",
"quote": "section 2(a) of Executive Order 14195 is hereby amended by striking the words “10 percent” and inserting in lieu thereof the words “20 percent”. Sec. 3 . General Provisions. (a) Nothing in this order …",
"quote_check": "no_local_source"
},
"… 2 more"
]
},
{
"rule_id": "IEEPA_CN_FENT_10_2025NOV",
"heading": "9903.01.24",
"group": "ieepa",
"authority": "IEEPA; EO 14195 as amended by EO 14357 (90 FR 50725)",
"kind": "duty",
"rate_type": "ad_valorem",
"rate_pct": 10,
"rate_text": "+10% ad valorem on the value of the article",
"valuation_basis": "full_value",
"countries": ["CN", "HK"],
"exclude_countries": [],
"effective_from_entry": "2025-11-10",
"effective_to_entry": "2026-02-23",
"scope_type": "all_except",
"scope_code_count": 0,
"status_hint": null,
"provenance": {
"method": "Two independent AI extraction passes (A, B) from USITC Chapter 99, Federal Register and CBP sources; an AI adjudicator settled every disagreement against the primary source; code copied all rates and …",
"confidence": "adjudicated",
"adjudicated_on": "2026-10-10",
"source_file_sha256": "4432e943b096486cbbc9640588906c48d64365d53b154d837922fc337e523485"
},
"scope_lists": [],
"conditions": [
{
"seq": 0,
"attribute": "accompanied_baggage_personal_use",
"operator": "!=",
"value_json": "true",
"default_if_undeclared_json": null
}
],
"stacking": [
{
"seq": 0,
"relation": "yields_to",
"target_kind": "rule",
"target": "IEEPA_CN_EXEMPT_DONATIONS",
"scope": "article",
"from_entry": null,
"to_entry": null,
"why": null
},
{
"seq": 1,
"relation": "yields_to",
"target_kind": "rule",
"target": "IEEPA_CN_EXEMPT_INFOMAT",
"scope": "article",
"from_entry": null,
"to_entry": null,
"why": null
},
"… 5 more"
],
"citations": [
{
"seq": 0,
"type": "federal_register",
"citation_id": "EO 14357, 90 FR 50725",
"url": "https://www.federalregister.gov/documents/2025/11/07/2025-19825/modifying-duties-addressing-the-synthetic-opioid-supply-chain-in-the-peoples-republic-of-china",
"quote": "All articles that are subject to the additional ad valorem rate of duty of 20 percent under Executive Order 14195, as amended, shall instead be subject to an additional ad valorem rate of duty of 10 p…",
"quote_check": "no_local_source"
},
{
"seq": 1,
"type": "cbp_csms",
"citation_id": "CSMS #66749380",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3fa83c4",
"quote": "Effective November 10, 2025, the ad valorem duty rate for goods that are the products of China and Hong Kong applicable under EO 14195, as amended, has been lowered from 20% to 10%. The following HTSU…",
"quote_check": "no_local_source"
},
"… 4 more"
]
}
],
"note": "A heading can have several rules (versions over time, country lists, quotas). Scope codes: GET /v1/tariffs/measures?hts=<code> lists the measures whose scope reaches a code. Whether a measure applies …"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}GET /v1/tariffs/measures
Measures that reach an HTS code. Chapter 99 rules whose scope reaches an HTS code (listed by prefix, covering all goods except listed ones, or scoped by a description the code alone does not settle), optionally for one origin and entry date, newest first. Whether a measure applies to an entry is decided by the duty stack.
- Cost1 unit
- MCP tooltariffs_measures_for_hts
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| hts | query | string | yes | HTS heading, subheading or line (4 to 10 digits) |
| origin | query | string | no | |
| date | query | string | no | YYYY-MM-DD |
| limit | query | integer | no | Default 50. |
| offset | query | integer | no | Default 0. |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/measures?hts=7318158066&origin=CN&date=2025-08-20&limit=10" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"hts": "7318158066",
"origin": "CN",
"date": "2025-08-20",
"total": 166,
"count": 10,
"offset": 0,
"measures": [
{
"rule_id": "S232-9903.81.90-v3b",
"heading": "9903.81.90",
"group": "sec232",
"authority": "Section 232; Proc. 10947 (90 FR 24199) amending Procs. 9704/9705/9980/10895/10896",
"kind": "duty",
"rate_type": "ad_valorem",
"rate_pct": 50,
"rate_text": "+50% ad valorem in addition to column 1 duty",
"valuation_basis": "content_value",
"countries": null,
"exclude_countries": ["GB"],
"effective_from_entry": "2025-08-18",
"effective_to_entry": "2026-04-05",
"scope_type": "hts_prefixes",
"scope_code_count": 157,
"status_hint": null,
"provenance": {
"method": "Two independent AI extraction passes (A, B) from USITC Chapter 99, Federal Register and CBP sources; an AI adjudicator settled every disagreement against the primary source; code copied all rates and …",
"confidence": "adjudicated",
"adjudicated_on": "2026-10-09",
"source_file_sha256": "f9979caaa6cffa0b070074e52c43744e2038f867a4fc91a50ea9d31070065a8c"
},
"scope_match": "listed",
"matched_prefix": "73181580"
},
{
"rule_id": "S232-9903.81.92-v4",
"heading": "9903.81.92",
"group": "sec232",
"authority": "Section 232; Proc. 9705 as amended by Proc. 10896 (90 FR 9817)",
"kind": "companion",
"rate_type": "ad_valorem",
"rate_pct": 0,
"rate_text": "No 232 duty: derivative processed abroad from steel melted and poured in the US",
"valuation_basis": "other",
"countries": null,
"exclude_countries": [],
"effective_from_entry": "2025-08-18",
"effective_to_entry": "2026-04-05",
"scope_type": "hts_prefixes",
"scope_code_count": 569,
"status_hint": null,
"provenance": {
"method": "Two independent AI extraction passes (A, B) from USITC Chapter 99, Federal Register and CBP sources; an AI adjudicator settled every disagreement against the primary source; code copied all rates and …",
"confidence": "adjudicated",
"adjudicated_on": "2026-10-09",
"source_file_sha256": "f9979caaa6cffa0b070074e52c43744e2038f867a4fc91a50ea9d31070065a8c"
},
"scope_match": "listed",
"matched_prefix": "73181580"
},
"… 8 more"
],
"scope_match": {
"listed": "the rule lists a prefix of this code",
"listed_for_some_lines": "the rule lists some of the lines under this heading or subheading",
"all_except_listed_exclusions": "the rule covers all goods except listed codes, and this code is not listed",
"by_description_check_text": "the rule's scope is a description in the legal text: the code alone does not settle it"
},
"note": "Measures whose scope reaches this code, with their dates and country lists (filtered by origin and date when given). Conditions, stacking and exemptions decide whether one applies to an entry: use POS…"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}IEEPA Refund API and Estimator
LiveEntry lines in: the refundable IEEPA amount and the CAPE route for each line out. Product page.
POST /v1/tariffs/ieepa-refund
IEEPA refund calculation for entry lines. For each entry line: the IEEPA percentage the duty stack applies on the entry date, the IEEPA duty on the entered value, the refundable amount (or the IEEPA duty actually paid, if you declare it), and the CAPE route (Phase 1, Phase 2, a later deployment, or outside CAPE) from liquidation and reconciliation status, with quotes from the CBP IEEPA Duty Refunds page. Interest is not computed. A reference calculation, not a CAPE declaration.
- Cost10 units per line
- MCP tooltariffs_ieepa_refund
| Name | Type | Required | Notes |
|---|---|---|---|
| as_of | string | no | YYYY-MM-DD |
| lines | array | yes |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/ieepa-refund" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"as_of":"2026-10-10","lines":[{"entry_number":"ABC-1234567-8","line_number":1,"hts10":"6112194050","origin":"CN","entry_date":"2025-12-07","export_date":"2025-11-17","mode":"vessel","entered_value_usd":48250,"liquidation_status":"unliquidated"}]}'Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"as_of": "2026-10-10",
"lines": [
{
"line_id": "ABC-1234567-8-1",
"entry_number": "ABC-1234567-8",
"hts10": "6112194050",
"origin": "CN",
"entry_date": "2025-12-07",
"entered_value_usd": 48250,
"engine_status": "COMPUTED",
"missing_attributes": [],
"ieepa_pct_of_value": 20,
"computed_ieepa_duty_usd": 9650,
"ieepa_lines": [
{
"heading": "9903.01.24",
"rule_id": "IEEPA_CN_FENT_10_2025NOV",
"rate_text": "+10% ad valorem on the value of the article",
"amount_pct": 10,
"amount_formula": "10",
"share_of_value": 1,
"valuation_basis": "full customs value",
"citations": [
{
"type": "federal_register",
"id": "EO 14357, 90 FR 50725",
"url": "https://www.federalregister.gov/documents/2025/11/07/2025-19825/modifying-duties-addressing-the-synthetic-opioid-supply-chain-in-the-peoples-republic-of-china",
"quote": "All articles that are subject to the additional ad valorem rate of duty of 20 percent under Executive Order 14195, as amended, shall instead be subject to an additional ad valorem rate of duty of 10 p…"
},
{
"type": "cbp_csms",
"id": "CSMS #66749380",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3fa83c4",
"quote": "Effective November 10, 2025, the ad valorem duty rate for goods that are the products of China and Hong Kong applicable under EO 14195, as amended, has been lowered from 20% to 10%. The following HTSU…"
},
"… 3 more"
]
},
{
"heading": "9903.01.25",
"rule_id": "RECIP_BASE_10_W5",
"rate_text": "+10% ad valorem on the value of the article",
"amount_pct": 10,
"amount_formula": "10",
"share_of_value": 1,
"valuation_basis": "full customs value",
"citations": [
{
"type": "cbp_csms",
"id": "CSMS #65829726",
"url": "https://content.govdelivery.com/accounts/USDHSCBP/bulletins/3ec7b5e",
"quote": "Goods of China, including Hong Kong and Macau, continue to be subject to the 10% reciprocal tariff under heading 9903.01.25. EXEMPTIONS The following HTSUS classifications apply to products that are e…"
},
{
"type": "usitc_hts",
"id": "HTSUS 2026HTSRev3, Chapter 99 heading 9903.01.25",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSRev3&filename=Chapter%2099",
"quote": "9903.01.25: Articles the product of any country, except for products described in headings 9903.01.26–9903.01.33, 9903.02.02–9903.02.91, 9903.96.01, and 9903.96.02, and except as provided for in headi…"
},
"… 3 more"
]
}
],
"status": "refundable",
"refundable_usd": 9650,
"refundable_basis": "computed from the duty stack",
"refund_route": {
"route": "cape_phase_1",
"phase": 1,
"reason": "Unliquidated entry: CAPE Phase 1.",
"citations": [
{
"type": "CBP web page",
"id": "IEEPA Duty Refunds (last modified 2026-09-30, fetched 2026-10-10)",
"url": "https://www.cbp.gov/trade/programs-administration/trade-remedies/ieepa-duty-refunds",
"local": "inputs/cbp/cbp_ieepa_refunds.txt",
"quote": "Phase 1: certain unliquidated entries and certain entries within 80 days of liquidation"
}
]
},
"interest": {
"computed": null,
"note": "CBP refunds IEEPA duties with interest; interest is not computed here.",
"citation": {
"type": "CBP web page",
"id": "IEEPA Duty Refunds (last modified 2026-09-30, fetched 2026-10-10)",
"url": "https://www.cbp.gov/trade/programs-administration/trade-remedies/ieepa-duty-refunds",
"local": "inputs/cbp/cbp_ieepa_refunds.txt",
"quote": "CAPE is designed to consolidate refunds of IEEPA duties including interest"
}
},
"citations": [
{
"type": "CBP web page",
"id": "IEEPA Duty Refunds (last modified 2026-09-30, fetched 2026-10-10)",
"url": "https://www.cbp.gov/trade/programs-administration/trade-remedies/ieepa-duty-refunds",
"local": "inputs/cbp/cbp_ieepa_refunds.txt",
"quote": "Only the IOR or the licensed customs broker who filed the entries can file a CAPE Declaration."
},
{
"type": "Federal Register",
"id": "EO 14389, Ending Certain Tariff Actions (91 FR 9437)",
"url": "https://www.federalregister.gov/documents/2026/02/25/2026-03832/ending-certain-tariff-actions",
"local": "inputs/fr/2026-03832.txt",
"quote": "shall no longer be in effect and, as soon as practicable, shall no longer be collected"
},
"… 1 more"
]
}
],
"summary": {
"lines": 1,
"by_status": { "refundable": 1 },
"refundable_usd_determined": 9650,
"refundable_usd_range_incl_undetermined": [9650, 9650],
"interest": "not included"
},
"sources": [
{
"type": "CBP web page",
"id": "IEEPA Duty Refunds (last modified 2026-09-30, fetched 2026-10-10)",
"url": "https://www.cbp.gov/trade/programs-administration/trade-remedies/ieepa-duty-refunds",
"local": "inputs/cbp/cbp_ieepa_refunds.txt"
},
{
"type": "Federal Register",
"id": "EO 14389, Ending Certain Tariff Actions (91 FR 9437)",
"url": "https://www.federalregister.gov/documents/2026/02/25/2026-03832/ending-certain-tariff-actions",
"local": "inputs/fr/2026-03832.txt",
"quote": "shall no longer be in effect and, as soon as practicable, shall no longer be collected"
},
"… 1 more"
],
"disclaimer": "Reference calculation from the HTS code and facts supplied; not legal advice and not a classification. Only the importer of record or its licensed customs broker can file a CAPE Declaration.",
"engine": {
"name": "engine-ts (datasets/tariffs)",
"rules_version": "1.0.0",
"coverage": { "from": "2025-01-01", "to": "2026-10-09" },
"parity": "identical to the Python reference engine on 500 test and 3,000 stress queries (datasets/tariffs/engine-ts/PARITY.md)"
},
"method": "Per line: IEEPA duty = entered value x the IEEPA Chapter 99 percentages the duty stack applies on the entry date (rounded to cents); refundable = that amount, or the IEEPA duty actually paid when decl…"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}Tariff Change Feed
BetaEvery dated change to Chapter 99 measures, HTS lines and base rates, as a feed you can poll. Product page.
GET /v1/tariffs/changes
Tariff change feed. Dated changes in the dataset, newest first: Chapter 99 measures starting or ending (by entry date, with the first citation), HTS lines established, discontinued or modified (USITC Change Records), and column 1 General rate changes between releases. Filter by date range, kind and HTS code. Measures already in force on the first entry date the rules cover (2025-01-01) are counted (in_force_at_coverage_start), not listed as starting then.
- Cost1 unit
- MCP tooltariffs_changes
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
| since | query | string | yes | YYYY-MM-DD |
| until | query | string | no | YYYY-MM-DD |
| kind | query | string: measure, hts_line, base_rate | no | |
| hts | query | string | no | Only changes reaching this heading, subheading or line; each measure event says how it reaches the code (scope_match: listed, all goods except listed codes, or a description the code alone does not settle) |
| limit | query | integer | no | Default 100. |
| offset | query | integer | no | Default 0. |
Example
curl -s "https://api.htscalculator.com/v1/tariffs/changes?since=2026-09-01&limit=20" \
-H "X-API-Key: $API_KEY"Response (200, real output of the API on the current data; long arrays trimmed)
{
"data": {
"since": "2026-09-01",
"until": null,
"hts": null,
"kinds": ["measure", "hts_line", "… 1 more"],
"total": 290,
"count": 20,
"offset": 0,
"events": [
{
"date": "2030-08-14",
"event": "ends",
"kind": "measure",
"heading": "9903.45.30",
"rule_id": "OTH-201-QSP-INQUOTA-Y4",
"group": "other",
"rate_text": "19% (in quota), year 4 (2029-08-15 - 2030-08-14)",
"countries": null,
"citation": {
"type": "Federal Register (presidential document / rule)",
"id": "Proclamation 11051, 91 FR 50645 (Aug 5, 2026)",
"url": "https://www.federalregister.gov/documents/2026/08/05/2026-15975/to-facilitate-positive-adjustment-to-competition-from-imports-of-quartz-surface-products"
},
"note": "last entry date it applies to"
},
{
"date": "2030-08-14",
"event": "ends",
"kind": "measure",
"heading": "9903.45.31",
"rule_id": "OTH-201-QSP-OVERQUOTA-Y4",
"group": "other",
"rate_text": "47% (over quota), year 4 (2029-08-15 - 2030-08-14)",
"countries": null,
"citation": {
"type": "Federal Register (presidential document / rule)",
"id": "Proclamation 11051, 91 FR 50645 (Aug 5, 2026)",
"url": "https://www.federalregister.gov/documents/2026/08/05/2026-15975/to-facilitate-positive-adjustment-to-competition-from-imports-of-quartz-surface-products"
},
"note": "last entry date it applies to"
},
"… 18 more"
],
"flagged_events": [
{
"date": "3025-06-30",
"kind": "hts_line",
"event": "modified",
"hts": "99030125",
"htsno": "9903.01.25",
"release": "2026HTSBasic",
"text": "Modified June 30, 3025 Notice Rev 16",
"citation": {
"type": "USITC HTS Change Record",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSBasic&filename=Change%20Record"
}
},
{
"date": "3025-06-30",
"kind": "hts_line",
"event": "modified",
"hts": "99039401",
"htsno": "9903.94.01",
"release": "2026HTSBasic",
"text": "Modified June 30, 3025 Notice Rev 16",
"citation": {
"type": "USITC HTS Change Record",
"url": "https://hts.usitc.gov/reststop/file?release=2026HTSBasic&filename=Change%20Record"
}
},
"… 4 more"
],
"flagged_note": "Dated more than 10 years after the rule coverage (after 2036-10-09): as printed in the source, most likely a typo there; not sorted with the other events.",
"coverage": { "from": "2025-01-01", "to": "2026-10-09" },
"note": "Dated changes in this dataset version: Chapter 99 measures starting or ending (by entry date), HTS lines established, discontinued or changed (USITC Change Records) and column 1 General rate changes. …"
},
"meta": {
"request_id": "req_…",
"api_version": "1",
"dataset": "tariffs",
"dataset_version": "1.0.0",
"dataset_built_at": "2026-10-10T16:05:28Z",
"data_status": "released",
"sources": [
{
"id": "usitc_harmonized_tariff_schedule_chapter",
"name": "USITC Harmonized Tariff Schedule (Chapter 99 PDFs, Change Records, releaseList, exportList REST)",
"url": "https://hts.usitc.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
{
"id": "federal_register_proclamations_executive",
"name": "Federal Register (proclamations, executive orders, USTR/Commerce notices)",
"url": "https://www.federalregister.gov/",
"licence": "U.S. Government work, public domain (17 U.S.C. 105)",
"commercial_redistribution_ok": true,
"retrieved": "2026-10-09/2026-10-10"
},
"… 3 more"
],
"provenance_note": "Every value carries provenance (source, id or URL, retrieval date; method and confidence where an AI judged). Calculations list their inputs and method.",
"disclaimer": "Reference data and calculations from HTS codes you supply. Not classification advice and not a filing: entry filings need a licensed customs broker (CBP HQ H350722).",
"usage": "…"
}
}