Flexport's Tariff Simulator, as an API.
Their free simulator answers one lookup at a time, in a browser, for a human. We answer the same question over REST, in bulk, from your code.
Flexport's Tariff Simulator is genuinely good, it's free, and it reads from the same official sources we do. If you need to check a code by hand, use it. This page is for the case it doesn't cover: getting that number into your checkout, your ERP, or your quoting tool, on every request, without a person in the loop. Flexport is also a licensed customs broker, which we are not, and that difference matters more than any feature row below.
Tariffs API vs Flexport
| Feature | Tariffs API | Flexport |
|---|---|---|
| Programmatic access | REST + JSON, up to 200 codes per bulk request | Web app; no public API |
| Per the Tariff Simulator FAQ (accessed 2026-08-04): "This free import duty calculator can handle one calculation at a time." The Flexport developer portal lists Bookings, Commercial Invoices, Customs Entries, Documents, Freight Invoices, Products, Purchase Orders, and Shipments, with no duty-rate endpoint. | ||
| Works without an account | API key, self-serve signup | Simulator is open; the APIs are not |
| Per the Customs Entries API tutorial (accessed 2026-08-04): "If you are using Flexport as your import-customs broker, you can use the Flexport API to fetch the status of a US-CBP customs entry on one of your shipments." The API surface assumes an existing Flexport relationship and existing shipments. | ||
| Cost | From $49/month, public pricing | Simulator is free |
| Per the Tariff Simulator FAQ (accessed 2026-08-04): "no registration, subscription fees, or usage limits." | ||
| Access guarantee | Contractual, tied to your subscription | At Flexport's discretion |
| Flexport, announcing restrictions on the free tool (accessed 2026-08-04): "It turns out Flexport's Tariff Simulator has been so useful that even our competitors have been relying on it. Starting today, we're limiting access to ensure the brands and businesses we serve continue to get the most value from it." | ||
| Underlying sources | USITC HTS, USTR notices, CBP guidance, Federal Register | The same official sources |
| Per the Tariff Simulator FAQ (accessed 2026-08-04): "The Flexport Tariff Simulator uses only official U.S. government sources." Neither of us is the source of truth; we both read the same government publications. | ||
| Change detection cadence | USITC releases polled every 6h; Federal Register and CBP CSMS every 3h | Within 24-48 hours of official publication |
| Per the Tariff Simulator FAQ (accessed 2026-08-04): "Import duty rates are updated within 24-48 hours after official publication in the Federal Register or CBP announcements." | ||
| Historical and forward dates | as_of on every API call | Entry date in the web form |
| Files your customs entry | No | Yes, they're a licensed customs broker |
| Scope | US duty rates and Chapter 99 stacking, as data | Freight forwarding, customs brokerage, and the simulator |
When Flexport is the right pick
- →You need a licensed customs broker to actually classify goods and file entries. We don't do either, and no API should.
- →You're checking codes by hand, occasionally. Their simulator is free and there's no reason to pay us for that.
- →You want tariff answers backed by a brokerage advisory relationship rather than by an SLA.
- →You're already moving freight with Flexport and want customs status on those shipments in your ERP.
When Tariffs API is the right pick
- ✓The number has to appear in your product, on every request, without a human opening a browser tab.
- ✓You need hundreds of codes priced at once rather than one calculation at a time.
- ✓You want access you control, not access that depends on who your employer competes with.
- ✓You need the rate as of a specific date, from code, for an invoice or an audit.
One endpoint. Deterministic JSON.
Same question the simulator answers, returned as JSON. GET /api/v1/tariffs/resolve?hts=8541.10.00.80&origin=CN gives you the base duty, every applicable Chapter 99 measure with its heading, a confidence score, and the candidates we attempted. The bulk endpoint takes up to 200 codes per request, so a full catalogue reprice is a handful of calls, not a browser session.
GET /api/v1/tariffs/resolve?hts=8541.10.00.80&origin=CN
{
"summary": {
"applicable_ad_valorem_rate": 0.0,
"resolved_additional_ad_valorem_rate": 25.0,
"total_resolved_ad_valorem_rate": 25.0
},
"base_tariff": { "percentage_component": 0.0 },
"additional_measures": [
{
"program": "section_301",
"chapter_99_code": "9903.91.05",
"resolved_rate": { "percentage_component": 0.25 }
}
]
}
Switching from Flexport
Does Flexport have a tariff rate API?
Not a public one for arbitrary codes. Their developer portal publishes eight API products (Bookings, Commercial Invoices, Customs Entries, Documents, Freight Invoices, Products, Purchase Orders, and Shipments), and they're scoped to your Flexport account and your shipments. The Customs Entries API tutorial opens with "If you are using Flexport as your import-customs broker." The free Tariff Simulator, which is the part that actually returns duty rates, is a web app; its FAQ describes it as handling one calculation at a time.
The Tariff Simulator is free. Why would I pay for this?
If a person is doing the lookup, don't. Their tool is free, accurate, and reads the same government sources we do. You'd pay us when the lookup stops being a person: a checkout that quotes landed cost, an ERP that reprices a catalogue nightly, a quoting tool that needs 200 codes at once. That's an integration, and a web form can't be one.
Does Tariffs API replace Flexport?
No, and it isn't trying to. Flexport moves freight and is a licensed customs broker; they classify goods and file entries with CBP. We do neither. We report duty rates on HTS codes you already have. If you need someone to tell you which code your product falls under, that's licensed-broker work, and Flexport is a reasonable place to get it.
You both read the same government sources. What am I actually buying?
The resolution layer and the delivery mechanism. Chapter 99 is where Section 301, 232, and IEEPA live, and nothing in the raw schedule links those headings to your code. We do that linkage, apply origin and date, parse prose rates into numeric components, and hand it back as JSON you can compute with. See /how-we-source-data for the full ingestion path.
Could Flexport cut off access to the simulator?
They already have, for some users. In announcing the restriction they said they were "limiting access to ensure the brands and businesses we serve continue to get the most value from it." That's their call to make on their own free tool. It's worth weighing if you were planning to depend on it.
- Flexport Tariff Simulator FAQ · accessed 2026-08-04
- About the Flexport Tariff Simulator · accessed 2026-08-04
- Flexport developer portal · accessed 2026-08-04
- Flexport Customs Entries API tutorial · accessed 2026-08-04
- Flexport statement on limiting Tariff Simulator access · accessed 2026-08-04