HS Code Lookup API - Tariff, Duty Rates, Commodity Codes
Pricing
from $0.70 / 1,000 results
HS Code Lookup API - Tariff, Duty Rates, Commodity Codes
HS code lookup API, no key: product keyword to ranked HS / commodity codes, and any code to its full description chain, import duty (third-country), VAT, preferential rate for an origin country, quotas, anti-dumping and other measures for the UK tariff and the EU Common Customs Tariff. Code validati
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Martin Petrov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Features
Share
Problem: your checkout, customs form, freight quote or AI agent needs the right HS / commodity code for a product and the import duty and VAT that apply to it. Classification lists are huge, tariff sites have no simple API, and the popular HS code APIs time out or fail.
This API: one JSON call, no API key, official HMRC tariff data, answers in milliseconds from a 24-hour cache (first lookup of a code ~0.1 s).
- search: product keyword (
cotton t-shirt,lithium battery) -> ranked commodity codes with HS6, description chain, declarable flag and score. - code: any 2-10 digit code (
6109.10,6109100010) -> full chain section > chapter > heading > subheading > commodity, third-country duty, VAT, preferential rate and the duty that applies for an origin country (origin: "CN"), quotas, anti-dumping/countervailing duties, controls, supplementary unit. A non-declarable code returns its declarable children with their duties. - validate: up to 100 codes -> exists, declarable, normalized code, closest parent.
- bulk: up to 50 lookups in one call; a bad query returns an error row, the others still answer.
- Markets:
UK= UK Global Tariff;EU= EU Common Customs Tariff (as published by the UK Trade Tariff Northern Ireland service; EU import VAT is set per member state, so EU rows carry a VAT note instead of one rate). - Monitor:
onlyNew+monitorIdreturns a code again only when its duty, VAT or origin rate changed.
Example (API)
curl -X POST "https://api.apify.com/v2/acts/martin10291~hs-code-tariff-lookup/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "code", "code": "6109100010", "market": "EU", "origin": "CN"}'
Output row (measured 2026-11-14, shortened):
{"code": "6109100010", "hs6": "610910", "description": "T-shirts","chain": "Section XI Textiles and textile articles > 61 Articles of apparel and clothing accessories, knitted or crocheted > 6109 T-shirts, singlets and other vests, knitted or crocheted > Of cotton > T-shirts","declarable": true, "origin": "CN", "originName": "China","thirdCountryDuty": {"rate": "12.00%", "ratePercent": 12.0, "measureType": "Third country duty"},"originDuty": {"rate": "12.00%", "ratePercent": 12.0, "basis": "thirdCountry"},"preferentialNote": "No tariff preference for origin CN on this code; the third-country duty applies.","market": "EU", "source": "UK Trade Tariff API (HMRC), Open Government Licence v3.0 (XI service = EU Common Customs Tariff)"}
More inputs:
{"mode": "search", "q": "cotton t-shirt"}-> 6109100010 T-shirts (score 100), 6109100090 ...{"mode": "code", "code": "8517130000", "origin": "VN"}-> smartphones, UK: 0% duty, 20% VAT, Vietnam and CPTPP preferences.{"mode": "code", "code": "61.09"}-> heading 6109 with its declarable children and their duties.{"mode": "validate", "codes": ["0101210000", "123"]}
Use from agents (MCP)
Add the Apify MCP server (https://mcp.apify.com?tools=martin10291/hs-code-tariff-lookup) to Claude, Cursor or any MCP client and ask: "What is the HS code for a cotton t-shirt, and what duty does a shipment from China pay in the EU?".
Data source
GOV.UK Trade Tariff API (HMRC), UK and Northern Ireland (XI) services, Open Government Licence v3.0 (Crown copyright), cached 24 hours as HMRC asks. Duties shown are the published tariff measures; preferential rates need proof of origin under the trade agreement. Not legal or customs advice: binding classification comes from the customs authority. No scraping, no personal data.
Schedule it
Call it live from your checkout or customs form, or schedule it on Apify (Schedules -> every week) with your product codes in bulk, onlyNew: true and a monitorId: you get a row only when a duty, VAT or preferential rate changed. Chain it with an integration (webhook, Google Sheets, Zapier, Make).
FAQ
- How fresh is the data? HMRC updates the tariff daily; we cache each answer for 24 hours as HMRC asks.
fetchedAtis on every row; if the source is down the last copy is served with"stale": true. - Limits: search up to 50 results, validate up to 100 codes, bulk up to 50 queries per call.
- Errors: an invalid or unknown code returns a clear error (in bulk only that row); a non-declarable code returns its declarable children instead of an error.
- Is this customs advice? No: these are the published tariff measures. Preferential rates need proof of origin; binding classification comes from the customs authority.
- EU VAT: set by each member state of import, so EU rows carry a
vatNoteinstead of one rate.
Pricing
$1.00 per 1,000 rows. One code lookup = 1 row.