Freight Rates & Tools API
Indicative freight rates per ocean / air lane, HS-code lookups, Incoterm conversions, FX rates.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | `/api/v1/tools/freight-rates` | Indicative + manual rates |
| POST | `/api/v1/tools/freight-rates/manual` | Override with your forwarder's rate |
| POST | `/api/v1/tools/hs-code/lookup` | AI HS-code suggestion |
| GET | `/api/v1/tools/hs-code/:code` | Chapter notes |
| GET | `/api/v1/tools/hs-code/duty` | Duty calculation |
| POST | `/api/v1/tools/incoterms/convert` | Convert price between Incoterms |
| GET | `/api/v1/fx-rates` | Latest FX rates |
| POST | `/api/v1/fx-rates/refresh` | Force refresh from ECB |
| POST | `/api/v1/fx-rates/manual` | Override |
Examples
curl https://api.anvilhk.com/api/v1/tools/freight-rates?origin=CNSHA&dest=USLAX&size=40HQ \
-H "Authorization: Bearer $ANVIL_KEY" \
-H "X-Tenant-ID: $TENANT"Every response uses the standard envelope:
{
"success": true,
"data": { /* resource or array */ },
"meta": { "total": 100, "cursor": "...", "hasMore": true },
"error": { "code": "ERROR_CODE", "message": "Human readable" }
}error is omitted on success; meta is omitted when not paginating.
Rate Limits
Subject to the standard 200 req/min/tenant authenticated limit. See [Rate Limits](/docs/api-reference/rate-limits) for full details and the per-endpoint overrides.