API · FOR SOFTWARE VENDORS

Stop maintaining charge tables. Call them.

Your developers didn't sign up to babysit carrier rate tables, yet every TMS ends up hand-maintaining them, badly, forever. Pull current and historical charges as clean structured JSON, rules included, and make staying current our problem. From $400/mo on the annual plan, with a platform tier for serving Wharfa data inside your own product.

GET/v1/free-time?publisher=msc&port=AUMEL
{
  "publisher": "MSC",
  "port": "AUMEL",
  "free_days": 7,
  "day_basis": "calendar",
  "clock_start": "availability",
  "combined_dnd": false,
  "effective_from": "2026-08-01",
  "verify_status": "human_verified",
  "source_captured": "2026-06-28"
}
GET/v1/charges/current?type=IMP_DETENTION&publisher=msc
{
  "charge": "IMP_DETENTION",
  "currency": "AUD",
  "rate_schedule": {
    "basis": "per_day",
    "tiers": [
      { "from": 1,  "to": 7,    "amount": 165 },
      { "from": 8,  "to": 14,   "amount": 285 },
      { "from": 15, "to": null, "amount": 430 }
    ]
  }
}
GET/v1/charges/history?...&as_of=2024-09-01
// what did this line charge on any past date?
// the dispute-and-audit endpoint, with source refs
{
  "as_of": "2024-09-01",
  "value": { "tier1": 140, "free_days": 10 },
  "snapshot_url": "…/msc/2024-08-14/a91f.pdf"
}
GET/v1/changes?since=2026-06-01&scope=AUMEL
// the webhook-able feed: structured diffs,
// old value, new value, effective date
[{
  "kind": "free_time_cut",
  "publisher": "MSC",
  "magnitude": { "from": 10, "to": 7 },
  "effective_from": "2026-08-01"
}]
AUTH
API key, per-org
FORMAT
JSON over REST
RATE LIMIT
600 req/min
CHANGE PUSH
Webhooks + polling
HISTORY DEPTH
Full archive, as-of queries
FRESHNESS
Published on status

Built for TMS platforms, forwarding systems, rate engines and BI stacks. Attribution required in end-user interfaces ("Charge data by Wharfa"), per the API Licence Terms; white-label terms available under a separate enterprise agreement. Breaking changes are versioned and announced 90 days ahead. We're a reference service; we know what depending on one feels like.