Robust API
The same engine behind the simulator, as clean JSON — keyed, rate-limited, and one call from HTS code to landed cost.
Everything the simulator computes is one GET away. The /api/v1/quote endpoint takes an HTS code, origin country, and customs value — plus entry date, transport mode, SPI claims, exclusion assertions, and metal-content details when they apply — and returns the full itemized result as JSON: every charging line with its citation and amount, available exclusions, caveats, fees, and landed cost. Companion endpoints look up HTS lines with their ancestry and units, reverse-map a code to the trade-remedy lists that carry it, and report exactly which HTS revision is live.
It is the same engine and the same data as the simulator — not a parallel implementation that can drift. Keys are issued per partner, sent as a header, rate-limited per hour, and every request is logged with its status and duration. If you can call an HTTP endpoint from your TMS, your scripts, or a spreadsheet, you can put an itemized landed cost in it.
One Call to Landed Cost
Code, country, value in — the complete itemized quote out, with the same exclusion toggles and caveats the simulator shows, as JSON.
Lookups Included
Resolve any HTS line with its description path and units, or reverse-lookup which 301/232 lists carry a code — against the live revision.
Keyed & Rate-Limited
Per-partner keys in a header, hourly rate limits, request logging, and stable JSON error envelopes. Boring, in the way an API should be.