PASAR API
Needs a bus ?category= (rapid-bus-kl, rapid-bus-mrtfeeder, rapid-bus-penang, rapid-bus-kuantan) ~ rail has no realtime feed. Response is GTFS-realtime Protobuf, not JSON. The rapid-bus-kl feed had a current header but zero vehicle entities at 19:43 MYT on 2026-09-16, while MRT feeder, Penang and Kuantan categories were nonempty. Check entity count and vehicle timestamps before displaying a live map; KL feed availability needs provider review.
More Realtime APIs All Malaysia APIscurl --fail-with-body --location --max-time 30 'https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl' -o response.pb
I'm building an app using a public Malaysia API (no private credentials needed). API: Bus positions ~ Prasarana GTFS-R (availability varies) Provider: Prasarana via data.gov.my Endpoint: GET https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl Response format: PROTOBUF Source: Prasarana via data.gov.my (https://api.data.gov.my/gtfs-realtime/vehicle-position/prasarana?category=rapid-bus-kl) Source type: Official public feed Endpoint type: Public feed, non-JSON Integration difficulty: Copy-paste ready Production caveat: Still handle downtime, changing fields, empty responses, and rate limits before shipping user-facing alerts. Help me fetch and display this data. Follow the documented format and handle errors, empty responses, stale coverage, caching and rate limits.