What Is the USITC Reststop API?

The United States International Trade Commission (USITC) publishes the Harmonized Tariff Schedule of the United States (HTSUS) as a free REST API at https://hts.usitc.gov/reststop. It requires no authentication and covers all 99 HTS chapters.

If you found this page because you are building a trade compliance integration and need HTS data programmatically, this reference documents every endpoint, parameter, and response field the USITC API exposes — along with its limitations and how TradeFacts.io compares.

Base URL

https://hts.usitc.gov/reststop

All endpoints are unauthenticated HTTP GET requests. The API returns JSON.

Endpoints

GET /searchByNumber

Look up a specific HTS code by number.

GET https://hts.usitc.gov/reststop/searchByNumber?query=8471.30.01.00
GET https://hts.usitc.gov/reststop/searchByNumber?query=0101.21.00.10

Parameters:

Response fields: htsno, indent, description, unit1, unit2, general, special, other, footnotes, quota_quantity, additional_duties.

GET /searchByDescription

Full-text keyword search across HTS descriptions.

GET https://hts.usitc.gov/reststop/searchByDescription?query=aluminum+wire
GET https://hts.usitc.gov/reststop/searchByDescription?query=semiconductor

Parameters:

GET /releaseList

Returns the list of all available schedule releases.

GET https://hts.usitc.gov/reststop/releaseList

Response is a JSON array of release identifiers (e.g. ["2024BasicDec", "2024BasicJun", ...]). Use these values in the release parameter of other endpoints.

GET /getChapter

Returns all HTS records for a given chapter number.

GET https://hts.usitc.gov/reststop/getChapter?chapter=84
GET https://hts.usitc.gov/reststop/getChapter?chapter=01

Parameters:

Chapter responses can be large — Chapter 84 (machinery) returns several hundred records.

Response Format

All endpoints return a JSON object with an HTSDataSet array:

{
  "HTSDataSet": [
    {
      "htsno": "8471.30.01.00",
      "indent": "2",
      "description": "Portable automatic data processing machines...",
      "general": "Free",
      "special": "Free (A,AU,BH,CL,CO,D,E,IL,JO,...)",
      "other": "35%",
      "unit1": "No.",
      "unit2": "",
      "footnotes": "",
      "quota_quantity": "",
      "additional_duties": ""
    }
  ]
}

Heading nodes — short codes like 8471 that represent category headers — appear in results with empty rate fields. Actual duty rates exist only on leaf (10-digit) codes.

Known Limitations

These are the production pain points most engineering teams hit after their initial prototype.

How TradeFacts.io Compares

TradeFacts.io is a commercial HTS and Canadian Customs Tariff API built for production trade compliance software. Here is how it maps to the USITC reststop endpoints:

Capability USITC Reststop TradeFacts.io
US HTS lookup by code /searchByNumber GET /api/hts/{code}
US HTS keyword search /searchByDescription GET /api/search?q=
US HTS by chapter /getChapter GET /api/chapter/{n}
Canadian Customs Tariff ✗ Not available GET /api/ca/{code} (Tier 2+)
CUSMA/UST preferential rates ✗ Not available ✓ Included in all CA records
Nightly change detection ✗ Manual diff required GET /api/changes
Webhooks on tariff changes ✗ Not available ✓ HMAC-signed (Tier 3)
Uptime SLA ✗ None published ✓ 99.5% target
Cost Free From $199/month after 30-day free trial

Quick Start: Migrating from USITC to TradeFacts.io

The endpoint mapping is straightforward. Request a free trial key at tradefacts.io/contact.html and swap the URLs:

# USITC: lookup by code
curl "https://hts.usitc.gov/reststop/searchByNumber?query=8471.30.01.00"

# TradeFacts: same lookup
curl -H "X-API-Key: YOUR_KEY" \
     "https://tradefacts.io/api/hts/8471.30.01.00"

# USITC: keyword search
curl "https://hts.usitc.gov/reststop/searchByDescription?query=aluminum+wire"

# TradeFacts: same search
curl -H "X-API-Key: YOUR_KEY" \
     "https://tradefacts.io/api/search?q=aluminum+wire"

# TradeFacts only: Canadian Customs Tariff
curl -H "X-API-Key: YOUR_KEY" \
     "https://tradefacts.io/api/ca/search?q=aluminum"

# TradeFacts only: what changed since last USITC update?
curl -H "X-API-Key: YOUR_KEY" \
     "https://tradefacts.io/api/changes"

Try TradeFacts.io Free for 30 Days

Full US HTS and Canadian Customs Tariff API. Nightly change detection. No credit card required.

Request Trial Access