Skip to content

Getting Started

Duty Pro enables logistics companies and merchants to manage customs duties, tariffs, and ancillary fees for cross-border shipments. The platform calculates fees, communicates charges to end-customers (consignees), collects payments securely, and relays status data back to your systems.

  1. You submit a shipment via the API with item details, origin, destination, and consignee contact information.
  2. Duty Pro resolves HS codes, calculates duties and taxes using Exelot’s tariff database, and applies your configured additional fees.
  3. The consignee receives an email and/or SMS with a payment link.
  4. The consignee pays on a branded payment page.
  5. Duty Pro relays status updates back to your systems via webhook or SFTP.
TermDefinition
BrandA customer-facing identity under your organization. Each brand has its own visual identity, fee schedule, payment configuration, and communication preferences. You can have multiple brands.
ShipmentA cross-border package submitted via API for fee calculation. Belongs to a brand.
ConsigneeThe individual receiving a shipment and paying customs fees via the payment page.
HS CodeHarmonized System code used internationally to classify traded products for customs purposes. Required on every shipment item alongside a product description.

Log in to the Duty Pro dashboard and navigate to Settings > API Keys. Generate a test key (dp_test_...) to start experimenting without real charges or notifications.

Terminal window
curl -X POST https://api.dutypro.exelot.com/api/shipments/ \
-H "Content-Type: application/json" \
-H "X-API-Key: dp_test_YOUR_KEY_HERE" \
-d '{
"brand_id": "my-brand",
"currency": "USD",
"items": [
{
"description": "Leather handbag",
"hs_code": "4202.21",
"declared_value": 150.00,
"country_of_origin": "CN",
"quantity": 1
}
],
"reference": "ORD-2026-00123",
"consignee": {
"name": "Jane Smith",
"email": "jane@example.com",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
},
"sender": {
"name": "Acme Corp",
"city": "London",
"zip": "SW1A 2AA",
"country": "GB"
}
}'

Every item must include both a description and an hs_code. Duty Pro uses the HS code as the basis for tariff lookup and the description to validate and refine the classification for the destination country.

The API returns a 201 Created response with the full fee breakdown, resolved HS codes, and a payment link for the consignee.

{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"brand_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"brand_slug": "my-brand",
"reference": "ORD-2026-00123",
"is_test": true,
"currency": "USD",
"total_duties": 22.50,
"total_taxes": 30.00,
"total_additional_fees": 5.00,
"total_amount": 57.50,
"payment_status": "PENDING",
"created": "2026-04-09T12:00:00Z",
"items": [
{
"description": "Leather handbag",
"description_resolved": "Handbags with outer surface of leather",
"hs_code": "4202.21",
"hs_code_resolved": "4202.21",
"hs_code_resolved_import": "4202.21.6000",
"hs_code_resolved_export": "4202.21",
"country_of_origin": "CN",
"declared_value": 150.00,
"currency": "USD",
"quantity": 1,
"total_value": 150.00,
"duty_amount": 22.50,
"tax_amount": 30.00
}
],
"fees": [
{
"fee_type": "CONSTANT",
"display_name": "Processing Fee",
"amount": 5.00,
"original_amount": 5.00,
"original_currency": "USD",
"is_visible": true
}
],
"payment_link": "https://pay.dutypro.exelot.com/abc123def456/pay"
}