canonical: https://jentic.com/apis/navitia.io/navitia

# Navitia API

Navitia is an open multimodal transit API built on top of GTFS and other open transport datasets. It exposes coverage regions, journey planning, isochrones, transit lines, stop areas, real-time departures and arrivals, places search, and disruption feeds for the cities and regions it covers. Authentication uses HTTP Basic with the API key as the username, and responses follow the Navitia v1 hypermedia model.

## For AI agents

Plan multimodal journeys, get departures and arrivals, build isochrones, and look up transit lines and disruptions across Navitia coverage regions.

## Scope

Does not handle ride-hailing dispatch, vehicle telemetry, or driving turn-by-turn navigation - use for public transit journey planning, isochrones, departures, and disruptions only.

## Capabilities

- Plan a multimodal journey between two points across a Navitia coverage region
- Compute an isochrone polygon showing reachable area within a travel-time budget
- List the transit lines, stop areas, and places served inside a coverage region
- Retrieve real-time departures and arrivals for a stop area on the chosen network
- Surface current disruptions affecting routes and stops on a coverage region
- Build trip-planning UIs and route widgets that fall back to GTFS-derived data

## Use cases

### Multimodal Journey Planning

Trip-planning apps need a multimodal journey engine that combines walking, public transit, and bike legs across a city. Navitia's /coverage/{region}/journeys endpoint accepts origin and destination coordinates and returns ranked itineraries with leg-level transit information sourced from GTFS feeds. The result is suitable for direct rendering in a journey planner UI.

Example prompt: Call /coverage/fr-idf/journeys with from and to coordinates to return the top 3 ranked itineraries between Gare du Nord and Charles de Gaulle Airport.

### Isochrones for Reach Analysis

Property platforms, employer dashboards, and urban-planning tools use isochrones to show areas reachable from a point within a travel-time budget. The /coverage/{region}/isochrones endpoint returns the polygon describing reachable area from the input coordinates, given a maximum duration. Visualising the polygon on top of a map produces a transit accessibility layer in minutes.

Example prompt: Call /coverage/fr-idf/isochrones with the user's home coordinates and max_duration=1800 seconds to return the 30-minute transit reach polygon.

### Real-Time Departures and Disruptions

Mobility products need to surface real-time departures and any disruptions affecting a journey. Navitia's /coverage/{region}/stop_areas/{stopAreaId}/departures returns the next scheduled and real-time departures from a stop, while /coverage/{region}/disruptions exposes the current incident feed. Combined, they let an app display 'next train' alongside any service alerts.

Example prompt: For a chosen stop area, call /coverage/fr-idf/stop_areas/{stopAreaId}/departures and /coverage/fr-idf/disruptions, then return the next departures with any active disruptions annotated.

### Agent-Driven Transit Assistance via Jentic

Travel and concierge agents need to plan transit journeys for a user without integrating Navitia auth and pagination by hand. Through Jentic the agent searches by intent, loads the schema for the journey or departures operation, and executes it with origin and destination, while Jentic stores the basic auth credentials in its vault. The agent receives a structured itinerary it can summarise to the user.

Example prompt: Search Jentic for 'plan a public transit journey between two coordinates', load the schema for /coverage/{region}/journeys, and execute it with the user's origin and destination.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /coverage | List Navitia coverage regions |
| GET | /coverage/{region}/journeys | Plan a multimodal journey on a coverage region |
| GET | /coverage/{region}/isochrones | Compute an isochrone polygon for a coverage region |
| GET | /coverage/{region}/stop_areas | List stop areas on a coverage region |
| GET | /coverage/{region}/lines | List transit lines on a coverage region |
| GET | /coverage/{region}/stop_areas/{stopAreaId}/departures | Get next departures from a stop area |
| GET | /coverage/{region}/disruptions | List current disruptions on a coverage region |
| GET | /coverage/{region}/places | Search places on a coverage region |

## Key resources

- **Coverage** — List supported coverage regions and their metadata
- **Journeys** — Plan multimodal journeys between origin and destination
- **Isochrones** — Compute reachable-area polygons within a travel-time budget
- **Stop Areas** — Retrieve stop areas and their real-time departures and arrivals
- **Lines** — Browse transit lines on a coverage region
- **Places** — Search for places, stops, and addresses on a coverage region
- **Disruptions** — Read current service disruptions on a coverage region

## Why Jentic

- **Setup:** Wiring Navitia by hand means applying your key as HTTP Basic auth with the key as username and an empty password on the api.navitia.io host, then handling errors across coverage, journeys, and departures calls yourself. Through Jentic you install once, import the Navitia API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Navitia puts the coverage region in the URL path (/coverage/{region}/...), so a rule can pin your agent to one region: it can plan journeys and read departures there and nowhere else. Every operation here is a read, so the agent queries transit data and nothing that changes state.
- **Credential handling:** Your Navitia key is stored once, encrypted, by your own Jentic One instance and applied as HTTP Basic auth at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'plan a public transit journey between two coordinates', and Jentic returns the matching Navitia operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **TomTom Search API** — Place search and geocoding that pairs with Navitia journey planning for richer trip UIs.
- **HERE Maps API** — Commercial routing and transit API offering global coverage and driving directions.
- **OpenCage Geocoding API** — Geocodes addresses to coordinates that feed into Navitia journey and isochrone calls.

## FAQ

### What authentication does the Navitia API use?

Navitia uses HTTP Basic authentication where the API key is sent as the basic-auth username with an empty password. Jentic stores the key in its vault and supplies the basic auth header on each request so the agent never sees the raw key.

### Can I plan a journey between two coordinates with the Navitia API?

Yes. GET /coverage/{region}/journeys with from and to query parameters expressed as lat;lon (or place IDs) returns ranked multimodal itineraries with leg-level public transport detail.

### What are the rate limits for the Navitia API?

Navitia's free tier limits requests per second per token and applies daily caps; commercial plans raise the limits. The OpenAPI spec does not publish exact quotas - review your plan at navitia.io/en/pricing before running batch isochrones or large journey loops.

### How do I plan a transit journey through Jentic?

Run pip install jentic, search for 'plan a public transit journey between two coordinates', load the schema for /coverage/{region}/journeys, and execute it with the desired region and from/to parameters. Run it through Jentic One, the self-hosted execution layer.

### Does Navitia cover the United States?

Coverage depends on which GTFS and real-time feeds Navitia ingests for a region. Call /coverage to enumerate the active coverage regions on your account; not all US cities are available, and some regions are read-only or limited to schedules without real-time data.

### Does this API include driving directions?

Navitia is focused on multimodal public transport including walking and bike legs. Pure car routing is not Navitia's primary scope; for door-to-door driving directions use a routing engine such as TomTom or HERE.

### Can I limit what my agent is allowed to do with the Navitia API?

Yes. Because you run Jentic One yourself, your own rules decide which Navitia operations and credentials the agent may use. Since Navitia puts the coverage region in the URL path (/coverage/{region}/...), a rule can pin the agent to a single region so it plans journeys and reads departures there and nowhere else. Every Navitia operation is a read, so the agent can query transit data, isochrones, and disruptions without changing any state.
