Tariff Calculator
Bulk Calculate
POST
/v1/tariffs/calculate/bulk$0.05 per callCalculate tariffs for up to 100 items in a single request.
Send an Idempotency-Key header to retry safely.
Request body
| Field | Type | Description |
|---|---|---|
| itemsrequired | array of object | max 100 items |
| items[].htsCoderequired | string | 10-digit HTS code |
| items[].countryOfOriginrequired | string | ISO-2 country code |
| items[].declaredValuerequired | number | Declared value in USD |
| items[].entryDaterequired | string | Entry date (YYYY-MM-DD), defaults to today Required: which tariff authorities apply, and the fee limits, depend on the entry date. format date |
| items[].dateOfLoadingoptional | string | format date |
| items[].modeOfTransportoptional | string | Affects HMF calculation (ocean only) one of "OCEAN", "AIR", "GROUND" |
| items[].quantityoptional | number | |
| items[].quantityUnitoptional | string | |
| items[].steelContentPctoptional | number | Steel content percentage for Section 232 |
| items[].aluminumContentPctoptional | number | Aluminum content percentage for Section 232 |
| items[].ftaClaimoptional | string | FTA SPI indicator (e.g. S for USMCA) |
Response fields
| Field | Type | Description |
|---|---|---|
| success | boolean | e.g. true |
| data | object | |
| data.totalItems | number | e.g. 1 |
| data.results | array | |
| data.results[].id | string | e.g. tcalc_0fd7c06677f42c7a |
| data.results[].htsCode | string | e.g. 6403.99.60.00 |
| data.results[].htsDescription | string | e.g. For men, youths and boys |
| data.results[].countryOfOrigin | string | e.g. VN |
| data.results[].countryName | string | e.g. Vietnam |
| data.results[].declaredValue | number | e.g. 10000 |
| data.results[].entryDate | string | e.g. 2026-11-04 |
| data.results[].duties | object | |
| data.results[].fees | object | |
| data.results[].summary | object | |
| data.results[].ftaOpportunities | array | |
| data.results[].warnings | array | |
| data.results[].meta | object | |
| meta | object | |
| meta.timestamp | string | e.g. 2026-11-04T09:01:11.396Z |
| meta.processingTimeMs | number | e.g. 37 |
| meta.dataSource | object | |
| meta.dataSource.name | string | e.g. ComplianceGrid |
| meta.dataSource.provenance | string | e.g. computed |
Fields are read from a real response captured 2026-11-04, shortened. Optional fields may be absent in other responses.
Errors
- 400 invalid request
- 401 missing or bad key
- 403 not in your plan
- 429 rate limited, see Retry-After
- 402 payment required
- 5xx retry with backoff
Error bodies and codes are described in Error codes and troubleshooting.