v5

latestOpenAPI 3.1.0Proprietary2026-08-031,5423,1505.5 MB
Transportation

Port-call throughput deviation with a weather risk overlay - IMF PortWatch

For a set of the world's ports, how far the latest port-call count sits from each port's own recent baseline (a throughput DEVIATION, not a congestion, dwell or wait measurement - IMF PortWatch publishes none of those), reported ALONGSIDE a Weather-Disruption-Risk overlay and never blended into it. Pick the busiest ports (default), one country, or specific port ids. Directionally ambiguous and several days stale by construction; not for navigation or operational routing.

get/api/v2/transport/ports/congestion

Query parameters

countrystring nullable

ISO3 country code, e.g. CHN, USA, NLD.

Example:CHN

ISO3 country code, e.g. CHN, USA, NLD.

portsstring nullable

Comma-separated PortWatch port ids, e.g. port1201,port1114.

Comma-separated PortWatch port ids, e.g. port1201,port1114.

topinteger

Number of ports to return (busiest first when no country/ports filter).

Number of ports to return (busiest first when no country/ports filter).

min_abs_znumber nullable

Keep only ports whose absolute throughput z-score reaches this.

Keep only ports whose absolute throughput z-score reaches this.

sort'anomaly' | 'activity'

anomaly = by absolute throughput deviation; activity = by call count.

anomaly = by absolute throughput deviation; activity = by call count.

Response

Successful Response

Example response

{
  "data": {
    "query": {
      "country": "CHN",
      "ports": "port1201,port1114",
      "top": 25,
      "min_abs_z": 2,
      "sort": "anomaly"
    },
    "port_set": {
      "requested": "top",
      "scorable_universe": 406,
      "resolved": 25
    },
    "total_matched": 25,
    "count": 25,
    "ports": [
      {
        "port_id": "port1201",
        "name": "Singapore",
        "country": "Singapore",
        "iso3": "SGP",
        "lat": 1.272,
        "lon": 103.707,
        "throughput": {
          "activity": 137,
          "baseline_mean": 123.47,
          "baseline_stddev": 14.52,
          "baseline_days": 30,
          "z_score": 0.93,
          "pct_deviation": 11,
          "direction": "above",
          "band": "normal",
          "available": true
        },
        "risk_overlay": {
          "index": 42.5,
          "band": "elevated",
          "dominant_driver": "wave",
          "components_count": 5,
          "sub_scores": {
            "wave": 47,
            "wind": 35
          },
          "unavailable_factors": [
            "wave",
            "precipitation"
          ],
          "available": true
        }
      }
    ],
    "data_quality": {
      "as_of": "2026-07-17",
      "staleness_days": 7
    }
  },
  "meta": {
    "endpoint": "/api/v1/fred/us/cpi",
    "data_time": "2026-04-16T14:30:00Z",
    "response_time": "2026-04-16T14:30:12Z",
    "provider": "Sugra API v1.0.1",
    "source": "sugra_crypto",
    "attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
    "fallback_chain": [
      "sugra_crypto",
      "sugra_finance"
    ]
  }
}