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.