Docs
Machine-readable spec: OpenAPI 3.1 (openapi.json).
Authentication & credits
Send Authorization: Bearer dc_… (or x-api-key). Paid calls deduct credits only on success. When a key is missing or out of credits the API returns HTTP 402 with checkout links. Free endpoints are rate-limited per IP.
Endpoints
| Method | Path | Cost | What |
|---|---|---|---|
| GET | /v1/hts/search?q= | free | Keyword or code-prefix search |
| GET | /v1/hts/{code} | free | Description, units, general / special / column 2 rates |
| POST | /v1/duty | $0.02 | Full duty stack + fees for one line |
| POST | /v1/duty/bulk | $0.01/line | Up to 100 lines as one entry (MPF min/max applied once) |
| GET | /v1/account | free | Balance for your key |
| POST | /v1/keys/trial | free | 10-call trial key (1 per IP per day) |
| POST | /v1/checkout?pack=try|starter|growth|scale | — | Stripe Checkout for credit packs (POST only; a GET does not create a session) |
| POST | /mcp | tools as above | Remote MCP (Streamable HTTP) |
POST /v1/duty
{
"hts": "7208.10.15.00",
"origin": "CN",
"customs_value": 10000,
"mode": "ocean",
"quantity": 5000,
"unit": "kg",
"claim_preference": false,
"entry_type": "auto",
"options": {
"metal_weight_pct": 100
}
}
Response: lines[] (each with program, heading, rate, amount, effective_date, source{title,url}), possible_additional[] (duties that depend on facts we can't see, e.g. end use), totals, warnings, not_in_force, as_of, disclaimer.
What's covered
- Ordinary duty: column 1 general, FTA special rates (USMCA, CAFTA-DR, KORUS, AU, BH, CL, CO, IL, JO, JP, MA, OM, PA, PE, SG) when
claim_preferenceis true; column 2 for CU, KP, RU, BY. Ad valorem, specific and compound rates. - Section 232: steel/aluminum/copper and derivatives (note 16 tiers), passenger vehicles & parts, medium/heavy trucks, buses & parts, timber/lumber, upholstered furniture, cabinets; semiconductors & pharmaceuticals flagged as possible.
- Section 301: China lists 1–4A and four-year-review rates; forced-labor action on 60 economies (10%/12.5%, partner floors) with note 52 exemptions.
- Section 338 on listed goods of Canada (50%).
- MPF (formal 0.3464%, min $34.58 / max $670.86; informal $2.77) with FTA exemptions; HMF 0.125% for ocean.
Not included: antidumping/countervailing duties, quotas/TRQs, USTR product exclusions, AGOA/CBERA/Haiti programs, de minimis, state taxes, and historical entry dates. Informational estimate only. Not customs brokerage, legal advice, or a binding classification or ruling. Antidumping/countervailing duties, quotas, product-specific exclusions and entry-specific facts may change the result. Verify with CBP, a licensed customs broker, or a binding ruling before filing.
MCP
Endpoint https://dutycite.com/mcp (Streamable HTTP). Tools: hts_search, hts_lookup, calculate_duty. Pass your key as a bearer token header in your client's server config.
{
"mcpServers": {
"dutycite": {
"url": "https://dutycite.com/mcp",
"headers": {
"Authorization": "Bearer dc_your_key"
}
}
}
}