---
title: "GetUsImportDuty"
method: GET
path: "/api/trade/v1/get-us-import-duty"
tags: ["TradeService"]
---

# GetUsImportDuty

`GET /api/trade/v1/get-us-import-duty`

## Request

- Base URL: `https://api.worldmonitor.app`
- URL: `https://api.worldmonitor.app/api/trade/v1/get-us-import-duty`
- Auth: one of:
  - API key in header `X-WorldMonitor-Key`
  - API key in header `X-Api-Key`
  - HTTP bearer

Current US duty on one product from one country (USITC HTS). PRO-gated. Requires entitlement tier >= 1.

## Query parameters

- `hs_code` string, required
- `partner_country` string, required
- `jmespath` string

## Response `200`

OK

- WorldmonitorTradeV1GetUsImportDutyResponse: Current US duty on a product from one country.
  - `hsCode` string: HTS code, as requested.
  - `partnerCountry` string: Exporter code, as requested.
  - `htsRelease` string: HTS release of the chapter 99 index ("2026HTSRev21").
  - `lines` WorldmonitorTradeV1UsTariffLine[]
    - `htsCode` string: 8-digit HTS line ("8703.23.01").
    - `description` string: Article description.
    - `generalRate` string: Column 1 General.
    - `specialRate` string: Column 1 Special, with program codes.
    - `column2Rate` string: Column 2.
    - `basis` 'US_DUTY_BASIS_UNSPECIFIED' | 'US_DUTY_BASIS_MFN' | 'US_DUTY_BASIS_PREFERENTIAL' | 'US_DUTY_BASIS_COLUMN_2': Column the base rate comes from.
    - `baseRate` string: Base rate text.
    - `baseAdValorem` number, double: Base rate in percent; 0 when not ad valorem.
    - `baseNonAdValorem` boolean: True when the base rate is specific or compound.
    - `preferenceProgram` string: Special program applied ("S" = USMCA).
    - `unresolvedPrograms` string[]
    - `additionalDuties` WorldmonitorTradeV1UsAdditionalDuty[]
      - `heading` string: Chapter 99 heading ("9903.88.03").
      - `authority` 'US_DUTY_AUTHORITY_UNSPECIFIED' | 'US_DUTY_AUTHORITY_SECTION_301' | 'US_DUTY_AUTHORITY_SECTION_232' | 'US_DUTY_AUTHORITY_COLUMN_2': Legal authority of a chapter 99 duty.
      - `program` string: Action name ("China List 3").
      - `addedRate` number, double: Percentage points added to the base rate.
      - `topUpTo` number, double: Combined rate the base is raised to; 0 when none.
      - `status` 'US_ADDITIONAL_DUTY_STATUS_UNSPECIFIED' | 'US_ADDITIONAL_DUTY_STATUS_APPLIES' | 'US_ADDITIONAL_DUTY_STATUS_CONDITIONAL' | 'US_ADDITIONAL_DUTY_STATUS_EXEMPT' | 'US_ADDITIONAL_DUTY_STATUS_SCHEDULED': Whether a chapter 99 duty applies to this line and partner.
      - `condition` string: What decides the status.
      - `legalNote` string: Chapter 99 U.S. note listing the products.
      - `effectiveFrom` string: First day in force, when dated.
    - `estimatedRate` number, double: Base plus APPLIES duties, in percent.
    - `estimateComplete` boolean: False when the base is not ad valorem or a duty is not APPLIES/EXEMPT.
  - `additionalDutiesLoaded` boolean: False when the chapter 99 index was unavailable.
  - `source` string: Data source.
  - `sourceUrl` string: HTS search page for the code.
  - `upstreamUnavailable` boolean: True on a fault, false on a coverage answer.
  - `unavailableReason` 'US_IMPORT_DUTY_UNAVAILABLE_REASON_UNSPECIFIED' | 'US_IMPORT_DUTY_UNAVAILABLE_REASON_INVALID_REQUEST' | 'US_IMPORT_DUTY_UNAVAILABLE_REASON_NOT_COVERED' | 'US_IMPORT_DUTY_UNAVAILABLE_REASON_UPSTREAM_UNAVAILABLE': Why no line was served. NOT_COVERED is final; UPSTREAM_UNAVAILABLE is a fault.

## Other responses

- `400`: Validation error
- `401`: Missing or invalid API key.
- `403`: PRO entitlement access denied.
- `429`: Rate limit exceeded.
- `503`: Service unavailable. Billing-verification responses include code and X-Billing-Verification; other gateway infrastructure failures use the generic GatewayError shape.
- `default`: Gateway or handler error response.

---

[API](https://skmtc.dev/worldmonitor/apis/worldmonitor-api.md) · [All operations](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldmonitor/apis/worldmonitor-api/revisions/e3dc8463a5c9?raw)
