Transport for Lisbon, Portugal API

Transportation / API Key Intermediate HTTPS
Varies by plan (check documentation)

Overview

The Lisbon EMEL API provides data about bus routes, bike-sharing stations, public parking, and traffic conditions across Lisbon, Portugal. It is operated by EMEL, the city's urban mobility company, and requires an API key for access. Developers can use this API to build apps that help residents and visitors navigate Lisbon's transport options.

💡

Beginner Tip

Request your API key through the EMEL developer portal and check the documentation for the correct base URL, as endpoint paths have changed over time. Start with the parking or bike-station endpoints since they return straightforward JSON that is easy to explore.

Available Data

match scores and results
team standings
player statistics
schedule and fixtures

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

id_parque Unique identifier for a parking lot within the EMEL network.
nome Name of the parking facility or bike station in Portuguese.
ocupacao Current number of occupied spots or bikes in use at the facility.
capacidade Total capacity of the parking lot or bike docking station.
latitude Geographic latitude coordinate of the facility, useful for plotting on a map.
longitude Geographic longitude coordinate of the facility.

Implementation Example

const url = "https://emel.city-platform.com/opendata/";
// 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 The API key is missing from the request headers or is invalid.
Include your key in the Authorization header as "apikey YOUR_API_KEY" or as the x-api-key header, depending on the endpoint.
404 Not Found on documented endpoints EMEL has updated its portal URL and some older endpoint paths are no longer valid.
Always refer to the latest documentation at emel.pt and use the current base URL from the developer portal.
Empty data array in response The requested resource (e.g., parking lot or bike station) may be temporarily unavailable or the filter parameters are too restrictive.
Remove optional filters to get all records first, then narrow down by location or status.

Matrix Score Breakdown

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

Partially tested on Apr 5, 2026

Technical Specifications

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

Similar APIs

View All →