US tariff data as of 2026-10-09Tariffs dataset 1.0.0Entry dates 2025-01-01 to 2026-10-09
Calculator Beta Get a free key

HTS Calculator API · OpenAPI 3.1 and MCP

API documentation

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.

Scope

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.

10 units per call. Endpoint docs

Your API key (optional)

Leave empty for the demo. With a key the playground calls the real endpoint from your browser; the key is kept in memory only.

Recorded answer of the real API on the current data for this sample (long arrays trimmed).

Summary

HTS 6112.19.40.50 from CN, entered 2025-08-20

Total duty41%= $4,100.00 on $10,000.00

Not included
  • Merchandise processing fee (MPF) and harbor maintenance fee (HMF)
  • Antidumping and countervailing duties
  • Duties on a specific (per unit) basis, which need the quantity
Duty stack, line by line
LineRateRunning totalDuty
Base rate column 1 General3.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 duty41%$4,100.00

Response

Response 200POST/v1/tariffs/duty-stack
{
  "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": "…"
  }
}
  1. 1Each line carries its citations, with the quoted text
  2. 2Pin and diff: the version is also in the X-Dataset-Version header

Request

curlPOST/v1/tariffs/duty-stack
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

  1. 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.
  2. Send it in the X-API-Key header (or Authorization: Bearer).
  3. Base URL: https://api.htscalculator.com.
First callPOST/v1/tariffs/duty-stack
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.

Envelope
{
  "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
  }
}
  1. 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:

Error statuses
StatusMeaning and typical codes
400Invalid request: invalid_request, invalid_hts, invalid_origin, invalid_date
401missing_api_key, invalid_api_key, revoked_api_key
404hts_not_found
422Valid but not computable: out_of_coverage (entry date outside the rule coverage)
429rate_limited (see Retry-After), quota_exceeded, too_many_attempts (signup, key changes and the demo), free_calculator_limit (the free calculator's daily limit)
503dataset_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
MCP client config
{
  "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

Live

The 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
Request body of POST /v1/tariffs/duty-stack
NameTypeRequiredNotes
hts10stringyes10-digit HTSUS statistical number
originstringyesCountry of origin, ISO 3166-1 alpha-2
entry_datestringyesYYYY-MM-DD
export_datestringnoYYYY-MM-DD
modestring: vessel, air, truck, rail, mail, postal, otherno
declared_attributesobjectnoFacts you declare, e.g. steel_content_value_share, usmca_qualifying
entered_value_usdnumber or stringnoEntered (customs) value in USD: adds the duty in dollars (amounts)

Example

curlPOST/v1/tariffs/duty-stack
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)
Response 200
{
  "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
Request body of POST /v1/tariffs/duty-stack/batch
NameTypeRequiredNotes
linesarrayyes

Example

curlPOST/v1/tariffs/duty-stack/batch
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)
Response 200
{
  "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
Request body of POST /v1/tariffs/compare-origins
NameTypeRequiredNotes
hts10stringyes
originsarrayyes
entry_datestringyesYYYY-MM-DD
export_datestringnoYYYY-MM-DD
modestring: vessel, air, truck, rail, mail, postal, otherno
declared_attributesobjectno
entered_value_usdnumber or stringnoEntered (customs) value in USD: adds the duty in dollars (amounts)

Example

curlPOST/v1/tariffs/compare-origins
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)
Response 200
{
  "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

Live

The 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/{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
Parameters of GET /v1/tariffs/hts/{hts}
NameInTypeRequiredNotes
htspathstringyes
datequerystringnoYYYY-MM-DD

Example

curlGET/v1/tariffs/hts/{hts}
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)
Response 200
{
  "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
Parameters of GET /v1/tariffs/hts/{hts}/history
NameInTypeRequiredNotes
htspathstringyes

Example

curlGET/v1/tariffs/hts/{hts}/history
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)
Response 200
{
  "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
Parameters of GET /v1/tariffs/revisions
NameInTypeRequiredNotes
fromquerystringnoYYYY-MM-DD
toquerystringnoYYYY-MM-DD

Example

curlGET/v1/tariffs/revisions
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)
Response 200
{
  "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
Parameters of GET /v1/tariffs/measures/{heading}
NameInTypeRequiredNotes
headingpathstringyesChapter 99 heading (e.g. 9903.01.24, 9904.02.01) or a rule_id (e.g. OTH-122-POSTAL; encode / as %2F)

Example

curlGET/v1/tariffs/measures/{heading}
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)
Response 200
{
  "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
Parameters of GET /v1/tariffs/measures
NameInTypeRequiredNotes
htsquerystringyesHTS heading, subheading or line (4 to 10 digits)
originquerystringno
datequerystringnoYYYY-MM-DD
limitqueryintegerno Default 50.
offsetqueryintegerno Default 0.

Example

curlGET/v1/tariffs/measures
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)
Response 200
{
  "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

Live

Entry 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
Request body of POST /v1/tariffs/ieepa-refund
NameTypeRequiredNotes
as_ofstringnoYYYY-MM-DD
linesarrayyes

Example

curlPOST/v1/tariffs/ieepa-refund
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)
Response 200
{
  "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

Beta

Every 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
Parameters of GET /v1/tariffs/changes
NameInTypeRequiredNotes
sincequerystringyesYYYY-MM-DD
untilquerystringnoYYYY-MM-DD
kindquerystring: measure, hts_line, base_rateno
htsquerystringnoOnly 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)
limitqueryintegerno Default 100.
offsetqueryintegerno Default 0.

Example

curlGET/v1/tariffs/changes
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)
Response 200
{
  "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": "…"
  }
}