3 min read

Section 232 pharmaceutical duties now depend on patent status

Illustration of a cargo ship approaching a customs checkpoint with medicine boxes on a pallet

Written for: developers building checkout or landed-cost features.

Since September 29, 2026, the Section 232 duty on many pharmaceuticals turns on a fact that no HTS code or country of origin carries: whether the product is patented or generic. The tariffs API now returns both answers instead of guessing one.

What changed

The pharmaceutical provisions listed in U.S. note 40(c) to Chapter 99 now split into two cases (Proclamation 11020, as amended by Commerce’s notice of September 23, 2026):

  • Patented articles enter under heading 9903.04.60 at the full Section 232 rate, under 9903.04.62 at a lower capped rate for Japan, the European Union, South Korea, Switzerland and Liechtenstein, or under 9903.04.63 with no additional duty for the United Kingdom. The .60 and .62 rates include the column 1 duty rather than stacking on top of it.
  • Generic articles enter under 9903.04.67, with no additional Section 232 duty.

Patent status, Orange Book or Purple Book listing and the FDA approval pathway are not part of the tariff classification. Until this update the API returned the patented rate as if it were certain.

Illustration of a person at a laptop checking a product code against tariff measures

What the API returns now

On these provisions the response carries a rate_conditional object with two cases, patented and generic. Each case names the heading it enters under, its Section 232 rate, and the other duties it owes or is relieved of. That last part matters: on some provisions the Section 301 forced-labor duty and the Brazil duty are lifted only for patented articles, so the two cases can differ by more than the Section 232 rate alone.

If your code reads only the total, note that on these provisions it is now empty. summary.total_declined_reason is set to scope_attribute and the SCOPE_ATTRIBUTE_REQUIRED warning is added, unless both cases owe the same amount; in that case the total is stated as before, with rate_conditional still attached. Confidence on the other lines is 0.8.

Nothing changes for entries before September 29, 2026, or for provisions outside note 40(c).

Who is affected

Anyone pricing or quoting landed cost for pharmaceutical imports covered by note 40(c), and any integration that treats an empty total as zero duty. If you sell both branded and generic products under the same provision, you now need the patent status from your own product data to pick a case.

Headings named in this update: 9903.04.60, 9903.04.62, 9903.04.63 and 9903.04.67.

How to check it in the API

Resolve the product’s own HTS code (not the Chapter 99 heading) for the origin you ship from. For example, an HTS 3002.41.00.00 shipment from Germany:

curl -s "https://tariffsapi.com/api/v1/tariffs/resolve?hts=3002.41.00.00&origin=DE&as_of=2026-10-05" \
  -H "Authorization: Bearer $TARIFFS_API_KEY"

Read rate_conditional.patented and rate_conditional.generic, choose the case that matches your product, and handle SCOPE_ATTRIBUTE_REQUIRED explicitly instead of falling back to the total.

Sources

Explore the data