One endpoint answers the actual question. Everything else is reference material around it — for the formal contract, see the OpenAPI reference.
Provide an HS code and a country of origin:
GET https://daitk-tic.dibind.com/duty?hs=7208.10.00.00&from=US
The base duty and any surtax come back as JSON, dated. Or use the MCP tool resolve_duty
at https://daitk-tic.dibind.com/mcp — see the FAQ for how to connect an AI assistant to it.
{
"hs_input": "7208.10.00.00",
"from": "US",
"as_of": "2026-08-08",
"ambiguous": false,
"unit": "%",
"duty_rate": { "low": 0, "mid": 0, "high": 0 },
"worst_case_all_measures": null,
"sales_tax": { "included": false },
"measures_in_effect": [
{ "source": "SOR/2025-148", "in_force_date": "2025-06-27", "applies_to_origin": "US" }
],
"cite": "DAITK (daitk-tic.dibind.com), read 2026-08-08",
"expires_at": "2026-08-09T00:00:00.000Z",
"notes": [ "..." ]
}
duty_rate is base duty plus every surtax certain to apply — not the landed cost.
conditional_measures (quota safeguards) and sima_measures (anti-dumping) are reported
separately because neither can be settled from an HS code and an origin alone; when either
is present, each carries a total_if_applies figure and the response carries
worst_case_all_measures, so nothing requires adding percentages by hand.
expires_at is a 24-hour ceiling on the answer object itself — re-query past it
rather than repeating a cached or remembered figure.
| Endpoint | Returns |
|---|---|
GET /duty?hs={code}&from={country} | estimated total import duty (rate or range) |
GET /tariff/{hs_code} | base duty rates + tracked trade measures |
GET /measures | surtax / remission / SIMA orders, with dates |
GET /changes?since=YYYY-MM-DD | recently changed measures |
GET /status | version, row counts, and every government source by name with a link |
GET /health/data | one answer to "is there a problem right now" |
GET /openapi.json | this table, as OpenAPI 3.1 |
GET /docs | the same spec, rendered |
GET /mcp | MCP (Streamable HTTP): resolve_duty, lookup_tariff, list_trade_measures, get_measure_detail, recent_changes, service_status |