v2.0.1
OAS 3.0.3

StarShipper API

Customs and trade data API for freight forwarders, importers, and logistics platforms. Real-time access to tariff calculations, AI-powered HS code classification, and customs documentation requirements for 260+ countries.

Primary Use Cases

  • Australian Importers: Accurate duty calculations using official ABF tariff data, FTA rates, and N10 form pre-fill
  • Freight Forwarders: Auto-classify goods, calculate landed costs, generate CargoWise/TradeWindow exports
  • E-Commerce Platforms: Show import duties at checkout for transparent landed costs
  • ERP Systems: Integrate customs data into procurement and supply chain workflows

Authentication

All API requests require authentication using an API key. Include your API key in the request header:

X-API-Key: your_api_key_here

To obtain an API key, sign up at StarShipper.

Rate Limiting

  • Free Tier: 100 requests/hour
  • Pro Tier: 1,000 requests/hour
  • Enterprise: Custom limits

Rate limit headers are included in every response:

  • X-RateLimit-Limit: Total requests allowed per hour
  • X-RateLimit-Remaining: Requests remaining in current window
  • X-RateLimit-Reset: Unix timestamp when the limit resets

Pagination

Endpoints that return lists support pagination using query parameters:

  • limit: Number of results per page (default: 50, max: 100)
  • offset: Number of results to skip (default: 0)

Response includes pagination metadata:

{
  "success": true,
  "data": [...],
  "pagination": {
    "total": 500,
    "limit": 50,
    "offset": 0,
    "hasMore": true
  }
}

Response Format

All API responses follow a standard format:

Success Response:

{
  "success": true,
  "data": { ... },
  "metadata": {
    "cached": false,
    "ttl": 3600
  }
}

Error Response:

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human readable error message",
    "details": { ... }
  }
}

Production server

Client Libraries

Countries

Country information and coverage status

Countries Operations

List all countries

Retrieve a list of all available countries with coverage status and basic metadata

Query Parameters
  • region
    Type: stringenum

    Filter by region (e.g., AFRICA, EUROPE)

    • AFRICA
    • EUROPE
    • ASIA
    • AMERICAS
    • OCEANIA
  • status
    Type: stringenum

    Filter by coverage status

    • live
    • pending
    • unavailable
Responses
Request Example for get/countries
curl -X GET 'https://starshipper.io/api/countries?region=AFRICA' \
  -H 'X-API-Key: your_api_key_here'
{
  "success": true,
  "data": [
    {
      "code": "KE",
      "name": "Kenya",
      "region": "AFRICA",
      "currency": "KES",
      "customsAuthority": "Kenya Revenue Authority",
      "coverageStatus": "live",
      "primaryBloc": "EAC",
      "lastUpdated": "2025-01-15T10:30:00Z"
    },
    {
      "code": "ZA",
      "name": "South Africa",
      "region": "AFRICA",
      "currency": "ZAR",
      "customsAuthority": "South African Revenue Service",
      "coverageStatus": "live",
      "primaryBloc": "SACU",
      "lastUpdated": "2025-01-14T08:20:00Z"
    }
  ],
  "metadata": {
    "cached": true,
    "ttl": 3600
  },
  "pagination": {
    "total": 54,
    "limit": 50,
    "offset": 0,
    "hasMore": true
  }
}

Tariffs (Collapsed)

Tariff rates and duty calculations

Tariffs Operations

Classification (Collapsed)

AI-powered HS code classification

Classification Operations

Documents (Collapsed)

Customs documentation requirements

Documents Operations

Regional Blocs (Collapsed)

Trade bloc information and membership

Regional Blocs Operations

Data Quality (Collapsed)

Data freshness and update status

Data Quality Operations

Models