Strait of Malacca approaches - Singapore throughput (MPA)
Vessel movements at Singapore from the Maritime and Port Authority of Singapore, updated hourly. Arrivals and departures cover the N hours BEFORE now; expected arrivals cover the N hours AFTER it, so each side publishes its own window bounds rather than sharing one. Singapore sits at the eastern end of the Strait of Malacca. The strait itself has three littoral states and no transit-authorising authority, so no operator count of it can exist; this port authority is the nearest state record. Read it as port throughput, not as strait transits. A side is published only when it was measured: if upstream returned nothing readable inside that side's window it is absent rather than zero. Count exactness and flag exactness are independent: a side whose records were not all readable or not all inside its window carries count_lower_bound instead of count and is left out of total_movements; a side whose counted movements include any with no readable flag carries top_flags_lower_bound instead of top_flags.
Query parameters
Window length in hours. Realised sides look back from now, expected arrivals look forward from it (Singapore time).
Window length in hours. Realised sides look back from now, expected arrivals look forward from it (Singapore time).
Response
Singapore arrivals, departures and expected arrivals.
Example response
{
"data": {
"port": "Singapore",
"chokepoint_context": "Strait of Malacca eastern approaches",
"window_hours": 24,
"reference_time_sgt": "2026-08-25 04:30:00",
"timezone": "Asia/Singapore (UTC+8)",
"arrivals": {
"count": 384,
"count_lower_bound": 371,
"window_start_sgt": "2026-08-24 04:30:00",
"window_end_sgt": "2026-08-25 04:30:00",
"newest_timestamp_sgt": "2026-08-25 03:46:00",
"top_flags": [
{
"flag": "SG",
"vessels": 18
}
],
"top_flags_lower_bound": [
{
"flag": "SG",
"vessels_lower_bound": 3
}
],
"movements_with_no_readable_flag": 1,
"rejected_records": 2,
"out_of_window_records": 5
},
"departures": {
"count": 384,
"count_lower_bound": 371,
"window_start_sgt": "2026-08-24 04:30:00",
"window_end_sgt": "2026-08-25 04:30:00",
"newest_timestamp_sgt": "2026-08-25 03:46:00",
"top_flags": [
{
"flag": "SG",
"vessels": 18
}
],
"top_flags_lower_bound": [
{
"flag": "SG",
"vessels_lower_bound": 3
}
],
"movements_with_no_readable_flag": 1,
"rejected_records": 2,
"out_of_window_records": 5
},
"due_to_arrive": {
"count": 384,
"count_lower_bound": 371,
"window_start_sgt": "2026-08-24 04:30:00",
"window_end_sgt": "2026-08-25 04:30:00",
"newest_timestamp_sgt": "2026-08-25 03:46:00",
"top_flags": [
{
"flag": "SG",
"vessels": 18
}
],
"top_flags_lower_bound": [
{
"flag": "SG",
"vessels_lower_bound": 3
}
],
"movements_with_no_readable_flag": 1,
"rejected_records": 2,
"out_of_window_records": 5
},
"total_movements": 457
},
"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",
"data_age_days": 8.532,
"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"
],
"period": "2026-Q1",
"notes": "the UKMTO report behind these counts is dated 2026-08-21 and is 11 days old"
}
}Changes
Changed in 1 of the 23 revisions of this API.1
- ○
endpoint added
endpoint-added
- ○