Tariff API for Developers
Query real-time tariff rates for the US, EU, and UK with a single API call. Built for e-commerce platforms, trade compliance tools, and logistics software.
US (USITC HTS), EU (TARIC), and UK (HMRC) tariff data from official sources.
Live queries against official government APIs. Always up-to-date rates.
Secure authentication via API key. Simple to integrate, easy to manage.
Clean JSON responses. Works with any language or framework.
Quick Start
Get tariff data in under a minute. Just grab an API key and make your first request.
Get your API key
Sign up for a free account and generate an API key from your dashboard.
Make your first request
Choose your language and try a tariff lookup:
curl -X GET \
"https://globaltariffrates.com/api/v1/tariffs?hs_code=6109.10&jurisdiction=US" \
-H "x-api-key: YOUR_API_KEY"Parse the response
You'll receive a structured JSON response with tariff data for each jurisdiction:
{
"hs_code": "6109.10.00",
"jurisdictions": {
"US": {
"description": "T-shirts, singlets, tank tops...",
"duty_rate": "16.5%",
"duty_rate_numeric": 16.5,
"rate_type": "ad_valorem",
"vat_rate": null,
"supplementary_unit": null,
"preferential_rates": [
{
"country_or_group": "Australia (AUSFTA)",
"country_code": "AU",
"rate": "Free",
"rate_numeric": 0,
"measure_type": "Tariff preference (FTA)",
"legal_base": null,
"start_date": null
}
],
"import_controls": [],
"trade_agreements": ["Australia (AUSFTA)"],
"source": "USITC HTS (2026 Rev. 3)",
"effective_from": null
}
},
"queried_at": "2026-02-22T12:00:00.000Z"
}Authentication
All API requests require authentication via an API key. You can pass it in two ways:
Option 1: HTTP Header (recommended)
x-api-key: YOUR_API_KEYOption 2: Query Parameter
GET /api/v1/tariffs?hs_code=6109.10&api_key=YOUR_API_KEYSecurity Note
Never expose your API key in client-side code. Always make API calls from your server or backend.
Endpoints
/api/v1/tariffsLook up tariff rates for an HS code across one or all supported jurisdictions.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
hs_code | string | Required | The HS code to look up (e.g. "6109.10", "6109.10.00") |
jurisdiction | string | Optional | Filter to one jurisdiction: US, EU, or UK. Defaults to all. |
Example Request
GET /api/v1/tariffs?hs_code=6109.10&jurisdiction=USExample Response
{
"hs_code": "6109.10.00",
"jurisdictions": {
"US": {
"description": "T-shirts, singlets, tank tops...",
"duty_rate": "16.5%",
"duty_rate_numeric": 16.5,
"rate_type": "ad_valorem",
"vat_rate": null,
"supplementary_unit": null,
"preferential_rates": [
{
"country_or_group": "Australia (AUSFTA)",
"country_code": "AU",
"rate": "Free",
"rate_numeric": 0,
"measure_type": "Tariff preference (FTA)",
"legal_base": null,
"start_date": null
}
],
"import_controls": [],
"trade_agreements": ["Australia (AUSFTA)"],
"source": "USITC HTS (2026 Rev. 3)",
"effective_from": null
}
},
"queried_at": "2026-02-22T12:00:00.000Z"
}/api/v1/tariffs/validateValidate whether an HS code exists in official tariff databases.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
hs_code | string | Required | The HS code to validate |
jurisdiction | string | Optional | Filter to one jurisdiction: US, EU, or UK. Defaults to all. |
Example Request
GET /api/v1/tariffs/validate?hs_code=6109.10Example Response
{
"hs_code": "6109.10",
"validations": {
"US": {
"valid": true,
"jurisdiction": "US",
"matched_code": "6109.10.00.27",
"description": "T-shirts, singlets, tank tops...",
"error": null
},
"EU": {
"valid": true,
"jurisdiction": "EU",
"matched_code": "6109100010",
"description": "T-shirts, singlets and other vests...",
"error": null
},
"UK": {
"valid": true,
"jurisdiction": "UK",
"matched_code": "6109100010",
"description": "T-shirts, singlets and other vests...",
"error": null
}
},
"queried_at": "2026-02-22T12:00:00.000Z"
}Response Schema
Each jurisdiction object in the tariff lookup response contains these fields:
| Field | Type | Description |
|---|---|---|
description | string | Human-readable commodity description |
duty_rate | string | null | Duty rate as text (e.g. "16.5%", "Free") |
duty_rate_numeric | number | null | Numeric duty rate percentage (e.g. 16.5) |
rate_type | string | "ad_valorem", "specific", "mixed", "free", or "unknown" |
vat_rate | string | null | VAT rate (UK/EU only) |
supplementary_unit | string | null | Required supplementary unit of measure |
preferential_rates | array | Preferential rates under trade agreements |
import_controls | array | Import restrictions, licensing, or prohibitions |
trade_agreements | string[] | Applicable trade agreements |
source | string | Data source identifier |
effective_from | string | null | Date the rate became effective (ISO 8601) |
Error Codes
The API uses standard HTTP status codes. Error responses include a JSON body with an error field.
Bad Request
Missing or invalid parameters (e.g. no hs_code provided, invalid jurisdiction).
Unauthorized
Missing or invalid API key. Check your x-api-key header or api_key query parameter.
Too Many Requests
Rate limit exceeded for your plan tier. Upgrade or wait before retrying.
Internal Server Error
Unexpected error on our end. Retry with exponential backoff.
Error Response Format
{
"error": "Missing required parameter: hs_code"
}Rate Limits & Pricing
Choose the plan that fits your usage. All plans include access to all jurisdictions and endpoints.
Free
100 / day
- All jurisdictions
- Community support
- Rate limited
$49/mo
10,000 / day
- All jurisdictions
- Priority support
- Webhook notifications
Custom
Unlimited
- All jurisdictions
- Dedicated support
- SLA guarantee
- Custom integrations
Ready to integrate?
Sign up for free and start querying tariff data in minutes.