Wove
Developers
API v1.0

The trade intelligence API.

Classify products, calculate duties across 180+ countries, and turn shipping documents into validated data — all through one REST API with OAuth 2.0 and real-time webhooks.

Read the docs
POST/tariffs/classify
curl -X POST https://api.wove.com/api/v1/external/tariffs/classify \
  -H "Authorization: Bearer $WOVE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Insulated stainless steel travel mug",
    "country_of_origin": "CN",
    "destination_market": "US"
  }'
Response200 OK · 412 ms
{
  "hts_code": "7323.93.00.60",
  "description": "Table, kitchen or household articles of stainless steel",
  "confidence": 0.94,
  "duty_rates": {
    "base_rate": "2.0%",
    "section_301": "7.5%",
    "section_122": "10.0%",
    "total_effective_rate": "19.5%"
  },
  "fta_eligible": false,
  "alternatives": [
    {
      "hts_code": "7323.93.00.80",
      "confidence": 0.71,
      "note": "Consider if item has handle"
    }
  ]
}
180+
Countries and markets covered
21,000+
HS codes in the active database
301 · 232 · 122
Additional duties stacked, plus FTA, MFN and preferential rates
OAuth 2.0
Client-credentials auth with signed webhooks
Two APIs, one platform

What are you building?

For freight forwarders, brokers and TMS platforms

Automate the document workflow.

Extract structured data from commercial invoices, bills of lading and packing lists, validate it across documents, and get status updates pushed to your system in real time.

  • Extraction and cross-document validation with confidence scores
  • Create and manage shipments — containers, packages, references
  • Webhooks the moment extraction or validation status changes
  • Trigger processing straight from inbound email
Endpoint highlights
POST/documents— upload and trigger extraction
GET/shipments/{id}/details— full validated shipment record
GET/shipments/{id}/validation-items— cross-document validation
POST/webhooks— register event listeners
GET/shipments/shp_abc123/details
{
  "id": "shp_abc123",
  "shipmentNumber": "WOV240001",
  "status": "validated",
  "mode": "ocean",
  "origin": { "code": "CNSHA", "name": "Shanghai" },
  "destination": { "code": "USLAX", "name": "Los Angeles" },
  "containers": [
    { "number": "MSKU1234567", "type": "40HC", "weight": 28500, "weightUnit": "kg" }
  ],
  "documents": [
    { "type": "commercial_invoice", "extractionStatus": "completed", "validationStatus": "passed" }
  ],
  "validationItems": [
    {
      "type": "container_weight",
      "status": "validated",
      "confidence": 0.95,
      "sources": ["commercial_invoice", "packing_list"]
    }
  ]
}
Getting started

From credentials to first call.

  1. 01
    Create an OAuth client
    Your account manager issues client credentials for your platform.
  2. 02
    Get an access token
    Exchange credentials for a bearer token using the client-credentials flow.
  3. 03
    Make API calls
    Send the token in the Authorization header on every request.
  4. 04
    Handle rate limits
    Read the rate-limit headers on each response and back off as needed.
POST/oauth/token
curl -X POST https://api.wove.com/api/v1/external/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"

// Response
{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600
}
Built for production

Secure by default. Ready to scale.

  • Webhook payloads signed with HMAC-SHA256
  • OAuth 2.0 client credentials with short-lived bearer tokens
  • Predictable rate limits, reported on every response
  • AES-256 at rest and TLS 1.3 in transit
  • Customer data is never used to train AI models
REST + JSONWebhooksBulk endpointsSOC 2 Type II in progress
Built on the Wove API
“We plugged Wove's document processing and HTS classification into our platform via API. Our customers get instant extraction and accurate classification on every shipment.”
ExFreight
“We embedded Wove's AP Invoice automation into our TMS and rolled it out across our customer network. Our customers no longer manually reconcile invoices or chase down discrepancies.”
Logiware

Ready to integrate?

Start with the docs, or talk to a solutions engineer about your use case.