Discover/Navigazione Laghi API
live

Navigazione Laghi APInavigazionelaghi.it ↗

Query Italian lake ferry schedules, ports, and timetable PDFs for Lake Maggiore, Garda, and Como via the Navigazione Laghi API.

Endpoint health
verified 2d ago
list_ports
search_connections
list_timetable_documents
3/3 passing latest checkself-healing
Endpoints
3
Updated
9d ago

What is the Navigazione Laghi API?

The Navigazione Laghi API exposes 3 endpoints covering public boat schedules for the three Italian lakes operated by Navigazione Laghi: Lake Maggiore, Lake Garda, and Lake Como. Use search_connections to retrieve scheduled departures between any two ports on a given date — with per-leg trip numbers, intermediate stops, duration, and number of changes — or call list_ports to retrieve the numeric port IDs you need to build a query.

This call costs10 credits / call— charged only on success
Try it
Which lake's ports to list.
→ api.parse.bot/scraper/e61cac40-ab72-458b-87ee-64353b0af233/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/e61cac40-ab72-458b-87ee-64353b0af233/list_ports?lake=lago-garda' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 3 totalmissing one? ·

Returns the ports (landing stages) of one lake as shown in the site's journey-search form, each with the numeric port_id that search_connections takes as from_port_id / to_port_id. One round trip; the list is small (about 30 ports per lake) and never empty.

Input
ParamTypeDescription
lakestringWhich lake's ports to list.
Response
{
  "type": "object",
  "fields": {
    "lake": "lake code the ports belong to",
    "ports": "array of {port_id (string, use as from_port_id/to_port_id), name (display name)}"
  },
  "sample": {
    "data": {
      "lake": "lago-garda",
      "ports": [
        {
          "name": "Desenzano",
          "port_id": "51"
        },
        {
          "name": "Lazise",
          "port_id": "56"
        },
        {
          "name": "Peschiera",
          "port_id": "52"
        },
        {
          "name": "Sirmione",
          "port_id": "53"
        }
      ]
    },
    "status": "success"
  }
}

About the Navigazione Laghi API

Endpoints and What They Return

The list_ports endpoint takes an optional lake parameter and returns an array of port objects, each with a port_id string and a human-readable name. These IDs are the required inputs for search_connections — for example, port_id 52 is Peschiera and 53 is Sirmione on Lake Garda. Each lake has roughly 30 ports, and the list is always non-empty.

search_connections is the core scheduling endpoint. Required inputs are date (ISO format YYYY-MM-DD), from_port_id, and to_port_id. Optional filters include departure_time (an HH:MM string that constrains results to an 8-hour window from that time), no_change (direct connections only), fast_service (includes surcharge *servizio rapido* trips, confirmed to surface extra results on Lake Garda), and vehicles (the site's *veicoli al seguito* option for car-carrying ferries). The response includes total_connections, a full_day boolean indicating whether all three 8-hour windows were merged to give day-wide coverage, and a no_solutions_notice flag when the planner returned no results. Each connection object carries departure_time, arrival_time, duration_minutes, changes, and a legs array; each leg includes a trip number and intermediate stop data.

Timetable Documents

list_timetable_documents returns the official PDFs and purchasing links from Navigazione Laghi's *Tickets and timetables* page. The timetable_periods array lists seasons (typically current summer plus the following winter), each with valid_from, valid_to, a heading title, and a documents sub-array with category labels and direct PDF URLs. The fare_documents array lists fare PDFs including their effective dates as written on the site. The purchase_links array returns labelled URLs for the site's ticket purchase, season-ticket, and rates pages. Pass a valid_on ISO date to filter timetable_periods to only those valid on that date.

Reliability & maintenanceVerified

The Navigazione Laghi API is a managed, monitored endpoint for navigazionelaghi.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when navigazionelaghi.it changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official navigazionelaghi.it API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build an itinerary planner for Lake Garda that shows all direct ferry connections between two ports on a travel date, using search_connections with no_change: true.
  • Display real-time sailing options for tourists including fast-service surcharge trips by toggling fast_service in search_connections.
  • Surface car-ferry availability on Lake Maggiore by querying search_connections with vehicles: true.
  • Populate a port-selector dropdown for a booking app by calling list_ports for each of the three lakes.
  • Show links to the current season's official timetable PDFs and fare documents via list_timetable_documents.
  • Filter timetable periods to only the schedule valid on a specific holiday date using the valid_on parameter in list_timetable_documents.
  • Determine whether any connections exist between two ports on a given date by checking the no_solutions_notice flag in the search_connections response.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Navigazione Laghi publish an official developer API?+
No. Navigazione Laghi does not publish a documented public developer API. The data available through this API comes from the public-facing journey planner and timetable pages at navigazionelaghi.it.
How does `search_connections` handle a full day of departures versus a specific time window?+
When you omit departure_time, the endpoint assembles three consecutive 8-hour windows to cover the full day and sets full_day: true in the response. When you supply a departure_time (HH:MM), results are limited to the 8-hour window starting from that time, and departure_time_from reflects your input. The total_connections field tells you how many connections were found either way.
Does the API return real-time vessel positions or live delay information?+
No. The API returns scheduled timetable data only — planned departure_time, arrival_time, duration_minutes, and trip numbers per leg. Live positions and delays are not part of the current endpoint set. You can fork this API on Parse and revise it to add a live-status endpoint if that data becomes available on the source site.
Are fare prices returned for individual connections?+
Ticket prices are not returned by search_connections. That endpoint returns schedule data: times, duration, changes, trip numbers, and intermediate stops. Fare PDFs and their effective dates are available via list_timetable_documents under fare_documents, and purchase_links gives direct URLs to the site's rates and ticketing pages. You can fork this API on Parse and revise it to parse specific fare tables if the source page exposes them in a structured form.
Which lakes are covered, and are hydrofoil or private-operator routes included?+
The API covers the three lakes operated by Navigazione Laghi: Lake Maggiore, Lake Garda, and Lake Como. Routes operated by private companies or other ferry operators on those lakes are not included — only services published in the Navigazione Laghi journey planner. You can fork this API on Parse and revise it to add coverage of additional operators.
Page content last updated . Spec covers 3 endpoints from navigazionelaghi.it.
Related APIs in TravelSee all →