Land Transport Authority DataMall, Singapore API

⭐ Beginner's Pick Transportation / API Key Intermediate HTTP
Varies by plan (check documentation)

Overview

The Land Transport Authority (LTA) DataMall API provides comprehensive Singapore transport data including bus arrivals, taxi availability, train service alerts, and carpark information. An API key is required and can be requested for free from the LTA DataMall portal. This is an essential API for developers building Singapore-focused transport and mobility applications.

💡

Beginner Tip

Request your free API key at https://datamall.lta.gov.sg/ and use it in the AccountKey header. Start with the /BusArrivalv2 endpoint using a bus stop code (5-digit number) to get real-time arrival predictions.

Available Data

book title and author
ISBN and publisher
cover image URL
page count
publication date
match scores and results

Example Response

JSON Response
{
  "route": "Line 1",
  "origin": "Station A",
  "destination": "Station B",
  "departure": "08:30",
  "arrival": "09:15",
  "status": "On Time",
  "delays_min": 0
}

Field Reference

BusStopCode 5-digit code identifying the bus stop for which arrival data is returned.
Services[].ServiceNo Bus service number (route) serving this stop (e.g., "65", "NR1").
Services[].NextBus.EstimatedArrival ISO 8601 timestamp of the next bus estimated arrival at this stop.
Services[].NextBus.Load Passenger load level: "SEA" (seats available), "SDA" (standing available), or "LSD" (limited standing).
Services[].NextBus.Type Bus type: "SD" (single deck), "DD" (double deck), or "BD" (bendy bus).
Services[].NextBus.Feature Accessibility feature: "WAB" indicates a wheelchair-accessible bus.

Implementation Example

const url = "https://datamall.lta.gov.sg/content/dam/datamall/datasets/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 Unauthorized or empty response Missing AccountKey header or invalid API key
Include your LTA API key in the AccountKey request header. The key is obtained by registering at https://datamall.lta.gov.sg/.
Empty Services array Invalid bus stop code or no buses currently serving that stop
Verify the 5-digit bus stop code using the /BusStops endpoint. Note that some stops only operate during peak hours.
403 Forbidden Account not approved or API key not yet activated
LTA may take 1-2 business days to approve your DataMall account. Check your registration email for confirmation before making API calls.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 10/20
🔒 Security 5/15
🛠 Developer XP 12/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth API Key
HTTPS NO
CORS UNKNOWN
Category Transportation
Difficulty Intermediate
Verified: 2026-04-04

Similar APIs

View All →