Tandom API

One namespace, one auth header, every trade capability. Customs, AD/CVD, classification, documents, screening, monitoring — all under api.tandom.ai/v1.

Free up to per-endpoint limits. No credit card. Sign up and you have a key in 60 seconds.

Authentication

All requests require a Bearer token in the Authorization header. Use tk_live_... for production traffic and tk_test_... for sandbox calls (route to fixture data, no real DB writes, no Claude calls).

Authorization: Bearer tk_live_4f3a9c7e8b1d6f5a2c4e8b1d6f5a2c4e

# Test it
curl https://api.tandom.ai/v1/hts/search \
  -H "Authorization: Bearer tk_live_..." \
  -G -d "q=ball+bearings"

Duty calculation

Available now

Compute the full landed-duty stack for any HTS line — MFN, Section 232, Section 301, Section 122, IEEPA, Chapter 99, AD/CVD, MPF, HMF — with every line cited to its legal source.

Endpoints

  • GET/v1/duty/calculate
  • POST/v1/duty/calculate/batch

Free tier

1,000 calls / month. Upgrade →

Request

curl https://api.tandom.ai/v1/duty/calculate \
  -H "Authorization: Bearer tk_live_..." \
  -G \
  -d "hts=7307.91.50.10" \
  -d "origin=CN" \
  -d "value=10000" \
  -d "date=2026-04-29"

Response

{
  "dutyInfo": {
    "htsCode": "7307.91.50.10",
    "description": "Flanges, stainless steel, forged",
    "generalRate": "5.5%",
    "specialRates": "Free (A, AU, BH, ...)",
    "column2Rate": "45%",
    "calculationComplete": true,

    "chapter99Sources": [
      {
        "code": "9903.88.03",
        "authority": "Section 301 List 3",
        "rate": "25%",
        "amount": 2500,
        "citation": "83 FR 47974",
        "aceReportingOrder": 1
      }
    ],

    "matchedExclusions": [
      {
        "code": "9903.88.45",
        "applicationState": "available_unclaimed",
        "frCitation": "85 FR 47974"
      }
    ],

    "adcvdCases": [{
      "caseNumber": "A-570-983",
      "rate": "18.42%",
      "frCitation": "FR 2024-12345"
    }],

    "appliedTradeProgram": null,
    "availableTradePrograms": ["USMCA", "GSP (BR)"],

    "valuationAdjustments": {
      "method": "transaction_value",
      "declaredValue": 10000,
      "dutiableValue": 10000
    },

    "mfnAmount": 550,
    "adcvdAmount": 1842,
    "totalDutyAmount": 4892,
    "effectiveRate": "48.92%",

    "provenance": {
      "baseRate": { "matchedHtsno": "7307.91.50.10" },
      "chapter99": { "matchedCodes": [/* ... */] },
      "adcvd": { "ordersMatched": [/* ... */] }
    },

    "warnings": []
  }
}

AD/CVD intelligence

Available now

Match a shipment against active AD/CVD orders. Returns company-specific rates per 19 CFR 351.107, AI-determined scope analysis, and pending-investigation flags. Date-aware.

Endpoints

  • GET/v1/adcvd/check
  • GET/v1/adcvd/orders
  • POST/v1/adcvd/report
  • GET/v1/adcvd/rates-at

Free tier

50 lookups + 3 reports / month. Upgrade →

Request

curl https://api.tandom.ai/v1/adcvd/check \
  -H "Authorization: Bearer tk_live_..." \
  -G \
  -d "htsCode=7307.91.50.10" \
  -d "country=CN" \
  -d "entryDate=2026-04-29" \
  -d "manufacturer=Acme+Forge" \
  -d "productDescription=Stainless+steel+forged+flanges"

Response

{
  "matches": [{
    "caseNumber": "A-570-983",
    "orderType": "AD",
    "product": "Stainless Steel Forged Flanges from China",
    "country": "China",
    "countryCode": "CN",
    "rate": "18.42%",
    "effectiveRate": 18.42,
    "matchType": "scope_text_advisory",
    "scopeText": "The merchandise covered by this order is...",
    "effectiveDate": "2024-06-15",
    "status": "active",
    "economyType": "NME",
    "htsCodes": ["7307.91.50.10", "7307.91.50.30"],
    "frCitation": "FR 2024-12345",

    "respondentRate": {
      "rate": 18.42,
      "companyName": "Acme Forge",
      "rateAppliesTo": "producer",
      "ratePriority": "company_specific",
      "frDocumentNumber": "2024-12345"
    },

    "scopeAnalysis": {
      "determination": "in_scope",
      "confidence": 94,
      "reasoning": "The product description matches the scope...",
      "supportingPhrases": [
        "stainless steel forged flanges of any size"
      ],
      "applicableExclusions": []
    },

    "companionCaseNumber": "C-570-984",
    "companionInResultSet": true,
    "companionRatePercent": 132.40,
    "combinedRatePercent": 150.82
  }],

  "matchRateRange": { "lo": 18.42, "hi": 150.82 },

  "pendingInvestigations": [],

  "dataSource": "2026-04-28T...",
  "queryLogId": 18472
}

HTS reference

Available now

Search, browse, and walk the full Harmonized Tariff Schedule — including section / chapter notes and Chapter 99 expansion.

Endpoints

  • GET/v1/hts/search
  • GET/v1/hts/notes
  • GET/v1/hts/browse
  • GET/v1/hts/hierarchy
  • GET/v1/hts/expand-s301
  • GET/v1/hts/expand-ch99-scope

Free tier

5,000 calls / month. Upgrade →

Request

curl https://api.tandom.ai/v1/hts/search \
  -H "Authorization: Bearer tk_live_..." \
  -G \
  -d "q=stainless+steel+flanges"

Response

{
  "query": "stainless steel flanges",
  "count": 12,
  "results": [{
    "htsno": "7307.91.50.10",
    "indent": "10",
    "description": "Flanges, stainless steel, forged",
    "general": "5.5%",
    "special": "Free (A, AU, BH, CA, CL, CO, ...)",
    "other": "45%",
    "units": ["kg"],
    "chapter": "73"
  }]
}

PGA + Chapter 99

Available now

Partner Government Agency flags (FDA, USDA, EPA, FWS, ATF) and Chapter 99 additional tariffs for any HTS + country pair.

Endpoints

  • GET/v1/pga/check
  • GET/v1/chapter99/applicable

Free tier

2,000 calls / month per endpoint. Upgrade →

Request

curl https://api.tandom.ai/v1/pga/check \
  -H "Authorization: Bearer tk_live_..." \
  -G \
  -d "htsCode=0303.43.00.10"

Response

{
  "htsCode": "0303.43.00.10",
  "description": "Skipjack tuna, frozen",

  "flags": [
    {
      "agency": "Food and Drug Administration",
      "agencyCode": "FDA",
      "programCode": "FD2",
      "aceTariffFlag": "FD2",
      "aceRequirement": "R",
      "severity": "required",
      "triggerReason": "Imported food product subject to FSMA Prior Notice",
      "requiredDocuments": ["Prior Notice", "FCE/SID"],
      "regulatoryCitation": "21 CFR 1.276–1.285",
      "notes": null
    },
    {
      "agency": "National Marine Fisheries Service",
      "agencyCode": "NOAA",
      "programCode": "NM2",
      "aceTariffFlag": "NM2",
      "aceRequirement": "R",
      "severity": "required",
      "triggerReason": "Tuna species — SIMP traceability program",
      "requiredDocuments": ["NOAA Form 370"],
      "regulatoryCitation": "50 CFR Part 300 Subpart Q"
    }
  ],

  "summary": {
    "total": 2,
    "required": 2,
    "conditional": 0,
    "advisory": 0,
    "agencies": ["FDA", "NOAA"]
  },

  "dataSource": { "version": "2026-04-28T..." }
}

MCP — agent surface

Available now

JSON-RPC 2.0 endpoint exposing every Tandom REST resource as an MCP tool. Discoverable via tools/list. AI agents call directly. Four tools today: lookup_hts_code (full duty profile), search_hts_codes, list_chapters, get_chapter_codes.

Endpoints

  • POST/v1/mcp

Free tier

tools/list unlimited; tools/call inherits the underlying limit. Upgrade →

Request

// JSON-RPC 2.0 — call lookup_hts_code
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "lookup_hts_code",
    "arguments": { "code": "7307.91.50.10" }
  }
}

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [{
      "type": "text",
      "text": "{
        \"htsno\": \"7307.91.50.10\",
        \"description\": \"Flanges, steel, forged\",
        \"general\": \"5.5%\",
        \"chapter99\": [/* S232, S301, S122 */],
        \"adcvd\": [/* matched orders */],
        \"tradePrograms\": [/* eligible SPIs */],
        \"pga\": [/* PGA flags */],
        \"provenance\": {/* full citation trace */}
      }"
    }]
  }
}

HTS Classification

Closed beta · request access

Description → 10-digit HTS code with GRI 1-6 reasoning, CROSS ruling citations, and confidence scores.

Testing with broker design partners ahead of the HTS Classification Report product launch.

Endpoints (when shipped)

  • POST/v1/classify
  • POST/v1/classify/chat
  • POST/v1/classify/report

We're prioritizing teams that share their use case — we use that to decide what to ship next.

Closed beta

Request early access

HTS Classification

Tell us what you're trying to build. We're prioritizing teams that share their use case.

Or email hello@tandom.ai

hello@tandom.ai

Coming next

Closed beta

Built or being built with design partners. Self-serve access opens when each is production-ready.

Documents & forms

Closed beta · request access

Structured extraction of commercial invoices, packing lists, bills of lading, arrival notices, bookings, and inbound emails. Plus generation of CBP 7501 / 3461 / ISF 10+2 / ACE EDI forms.

Document extraction with pilot brokers and freight forwarders; entry-form generation handing off to ABI-certified filers.

We're prioritizing teams that share their use case — we use that to decide what to ship next.

Closed beta

Request early access

Documents & forms

Tell us what you're trying to build. We're prioritizing teams that share their use case.

Or email hello@tandom.ai

hello@tandom.ai

Operations

Closed beta · request access

Container / B/L tracking with normalized milestones, landed-cost quoting, rate-sheet parsing (Excel / PDF / email → structured rates), per-shipment CO₂e estimates.

Tracking normalization across major carriers and quoting models that fold our duty engine into total landed cost.

We're prioritizing teams that share their use case — we use that to decide what to ship next.

Closed beta

Request early access

Operations

Tell us what you're trying to build. We're prioritizing teams that share their use case.

Or email hello@tandom.ai

hello@tandom.ai

Compliance & finance

Closed beta · request access

Sanctions / restricted-parties screening (OFAC, Entity List, UFLPA, Denied Persons, Debarred), continuous re-screening with webhooks, and 3-way carrier-invoice audits with overcharge detection + GL routing.

Screening pipelines and carrier-invoice audit logic with finance-team design partners.

We're prioritizing teams that share their use case — we use that to decide what to ship next.

Closed beta

Request early access

Compliance & finance

Tell us what you're trying to build. We're prioritizing teams that share their use case.

Or email hello@tandom.ai

hello@tandom.ai

Monitoring + webhooks

Closed beta · request access

Register a product catalog and receive alerts when tariffs (S232, S301, IEEPA, AD/CVD scope) change in ways that affect your codes. Webhooks for any of the above streams.

Catalog-level change detection and webhook delivery patterns for high-volume importers.

We're prioritizing teams that share their use case — we use that to decide what to ship next.

Closed beta

Request early access

Monitoring + webhooks

Tell us what you're trying to build. We're prioritizing teams that share their use case.

Or email hello@tandom.ai

hello@tandom.ai

Customs App APIs

Closed beta · request access

Entry-form generation, ISF, EDI for ACE filing — supporting the broker workspace currently in development.

End-to-end broker workflow APIs alongside the Customs App product build.

We're prioritizing teams that share their use case — we use that to decide what to ship next.

Closed beta

Request early access

Customs App APIs

Tell us what you're trying to build. We're prioritizing teams that share their use case.

Or email hello@tandom.ai

hello@tandom.ai

Conventions

Every endpoint inherits the same conventions. Learn it once; it applies everywhere.

Outputs

Citations
frCitation, frCitationUrl, crossRulingId, proclamationNumber, cfrSection, htsno
Confidence
Score (0–1) + tier + reasoning text on every AI-derived field
Currency
{ value, currency: 'USD' } on every monetary field
Freshness
_meta.dataFreshness on every response

Inputs

Dates
ISO 8601, UTC implied
Country codes
ISO 3166-1 alpha-2
HTS codes
Dotted (7307.91.50.10) or undotted (7307915010)
entryDate
Resolves rates + scope as-of that date

Reliability

Pagination
Cursor-based, limit capped at 100
Idempotency
Idempotency-Key header on POSTs (24h replay)
Errors
RFC 7807 Problem Details on every 4xx / 5xx
Rate limits
X-RateLimit-Limit / Remaining / Reset headers