Overview

Metro Lisboa API provides real-time delay information for Lisbon subway lines. It requires no authentication, making it a great starting point for transit app development. Simply call the endpoint and parse the JSON response to display current line statuses.

Beginner Tip

The endpoint returns JSON with line status data — no API key needed. Parse the response and check each line object for delay information.

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

Use case: Integrate delays in subway lines data into web and mobile applications
Metro Lisboa data via REST API

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

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

Field Reference

linha Name or code of the subway line (e.g., "amarela", "azul")
estado Current operational status of the line (e.g., "normal", "perturbado")
descricao Human-readable description of any delays or disruptions on the line

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "http://app.metrolisboa.pt/status/";
const response = await fetch(url);
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

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

Empty or unexpected response The server may be temporarily unavailable or returning HTML instead of JSON
Check the response Content-Type header and add error handling for non-JSON responses
Connection timeout HTTP (not HTTPS) endpoint may be blocked by some networks or browsers
If using in a browser, note that mixed-content policies may block HTTP requests from HTTPS pages; consider a server-side proxy
CORS error in browser The server may not send CORS headers for browser-based requests
Make requests server-side (Node.js, Python) rather than directly from the browser

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth No Auth
HTTPS NO
CORS NO
Category Transportation
Difficulty Beginner
Listing details not endpoint-verified

Related Tags

Similar APIs

View All →