LandedAPI.dev

API Reference

LandedAPI gives you programmatic access to the full US Harmonized Tariff Schedule (HTS) and thousands of CBP administrative rulings — the two primary sources importers use to determine duty rates and classification precedents. All responses are JSON.

Base URLhttps://trade-hts-api-production.up.railway.app

Quick Start

Three steps to your first API response. Your API key is emailed to you automatically when your subscription activates.

1
Subscribe and receive your API key
After checkout, your key arrives by email within a few minutes. It looks like lapi_live_xxxxxxxxxxxx.
2
Add the Authorization header to every request
Pass your key as a Bearer token. No other setup required.
3
Make your first request
Look up any HTS code to get its full duty rate breakdown.
curl
curl https://trade-hts-api-production.up.railway.app/v1/hts/6110.20.2010 \
  -H "Authorization: Bearer lapi_live_xxxxxxxxxxxx"
JavaScript (fetch)
const res = await fetch(
  'https://trade-hts-api-production.up.railway.app/v1/hts/6110.20.2010',
  { headers: { Authorization: 'Bearer lapi_live_xxxxxxxxxxxx' } }
);
const { data } = await res.json();
console.log(data.general_rate); // "16.5%"

Authentication

Every /v1/* endpoint requires your API key in theAuthorization request header. The /health endpoint is public and requires no key.

Keep your key secret. Treat it like a password — never include it in client-side JavaScript, mobile apps, or public repositories. If your key is exposed, email hello@landedapi.dev to have it rotated immediately.
Header format
Authorization: Bearer <your-api-key>

If the header is missing or the key is invalid, the API returns a 401 Unauthorized response and your request is not counted against your plan credits.

Errors & Status Codes

The API uses standard HTTP status codes. When something goes wrong, the response body contains a single error field with a plain-English description.

Error response format
{
  "error": "HTS code not found: 9999.99.9999"
}
StatusWhen it occursWhat to do
200 OKRequest succeededRead the data field
400 Bad RequestMissing or invalid query parameterCheck that all required params are present and correctly formatted
401 UnauthorizedMissing, malformed, or invalid API keyConfirm the Authorization: Bearer <key> header is set
404 Not FoundThe requested HTS code does not exist in the scheduleVerify the code format (e.g. 6110.20.2010) and try a search
500 Server ErrorUnexpected error on our endRetry after a short delay; contact support if it persists

Look Up an HTS Code

An HTS (Harmonized Tariff Schedule) code is a 10-digit number assigned to every product category imported into the United States. It determines the duty rate your importer pays at the border. Use this endpoint when you already know the exact code and want its full duty breakdown.

GET/v1/hts/:codeAuth Required
Path parameter
NameTypeDescription
codestringHTS code in dot-delimited format, e.g. 6110.20.2010. Must be 10 digits with dots after the 4th and 6th digit.
Example request
GET /v1/hts/6110.20.2010
Authorization: Bearer lapi_live_xxxx
Example response
{
  "data": {
    "hts_code":        "6110.20.2010",
    "description":     "Sweaters, pullovers, sweatshirts — cotton, men's",
    "general_rate":    "16.5%",
    "special_rate":    "Free (AU, BH, CA, CL, CO, E, IL, JO...)",
    "column_2_rate":   "90%",
    "unit_of_quantity":"doz",
    "quota_quantity":  null
  }
}
Response fields
FieldTypeDescription
hts_codestringThe 10-digit HTS code
descriptionstringOfficial product description from the tariff schedule
general_ratestringStandard duty rate paid by most countries (MFN rate)
special_ratestringPreferential rates for FTA partner countries, listed in parentheses
column_2_ratestringRate for non-MFN countries (e.g. goods from Cuba or North Korea)
unit_of_quantitystringMeasurement unit used for quota tracking (e.g. kg, doz, No.)
quota_quantitystring | nullQuota limit if one applies; null for most codes

Health Check

Use this endpoint to confirm the API is reachable before making authenticated requests. No API key required.

GET/healthNo Auth
Response
{
  "status": "ok",
  "timestamp": "2026-07-01T12:00:00.000Z"
}
Need help?

Questions about your API key, rate limits, or how to structure a specific query? We respond to all inquiries within one business day.

Email Support