canonical: https://jentic.com/apis/delijn.be/delijn

# Delijn Be Open Data V1 Core API

The De Lijn Open Data Core API exposes the public transport network of Flanders: its operating entities, the municipalities they serve, the stops, and the lines that run through them. You list and read entities, municipalities, stops, and lines, find the stops near a set of coordinates, and pull the timetables for a group of stops. It is a reference and lookup layer over the Flemish transit network, returning the structure an agent needs to plan around De Lijn services.

## For AI agents

Look up De Lijn's Flanders transit network: entities, municipalities, stops, and lines, find stops near coordinates, and read stop timetables. Reference data for the Flemish public transport system.

## Scope

Does not sell tickets, plan multi-modal routes, or cover transit outside Flanders. Use for looking up De Lijn stops, lines, and timetables only.

## Capabilities

- List the operating entities of the De Lijn network and the municipalities each serves
- List and read municipalities, their stops, and the lines that run through them
- Find the stops near a given set of coordinates
- Look up a group of stops by their stop keys
- Read the timetables for a group of stops
- Resolve lines and stops across the Flemish transit network

## Use cases

### Agent-Driven Transit Lookups

An AI agent helps a traveller in Flanders by finding the stops nearest their location, then reading the lines and timetables for those stops. The agent passes a set of coordinates to the nearby-stops endpoint, selects the closest stops, and returns which lines serve them, so a travel assistant can answer 'how do I get there' from a plain-language request.

Example prompt: Find the stops near a given latitude and longitude, then return the lines that serve the closest stop

### Network and Municipality Mapping

Build a map of the Flemish transit network by listing the operating entities, the municipalities each covers, and the stops and lines within them. This feeds a routing or coverage tool that needs the full structure of De Lijn services across a region.

Example prompt: List all municipalities for an entity, then enumerate the stops and lines in each

### Stop Timetable Retrieval

Pull timetables for a chosen group of stops so a departures board or trip planner can show upcoming services. Given a set of stop keys, the API returns the schedules for those stops in one call.

Example prompt: Given a list of stop keys, retrieve the timetables for all of them and return the next departures

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/entiteiten` | List operating entities |
| GET | `/entiteiten/{entiteitnummer}/gemeenten` | Municipalities served by an entity |
| GET | `/gemeenten` | List municipalities |
| GET | `/gemeenten/{gemeenteNummer}/haltes` | Stops in a municipality |
| GET | `/gemeenten/{gemeenteNummer}/lijnen` | Lines through a municipality |
| GET | `/haltes` | List stops |
| GET | `/haltes/indebuurt/{latlng}` | Stops near coordinates |
| GET | `/haltes/lijst/{haltesleutels}/dienstregelingen` | Timetables for a group of stops |

## Key resources

- **Entities** — The operating entities of the De Lijn network and the municipalities they serve
- **Municipalities** — Municipalities with their stops and the lines running through them
- **Stops** — Stops, lookup by stop key, and stops near a set of coordinates
- **Timetables** — Schedules for a group of stops

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 55 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 63 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 49 / 100
  - Agent Usability: 94 / 100
  - Security: 33 / 100
  - AI Discoverability: 48 / 100
- **View full report:** https://jentic.com/apis/delijn.be/delijn/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** By hand you register for a subscription key, choose whether to send it in the header or the query, and learn the Dutch-language entity, municipality, stop, and line model before a lookup works. Through Jentic you connect once from the API Directory and your agent calls the operations by intent.
- **Permission scoping:** Every operation is a read-only lookup over open transit data, so you choose exactly which your agent may call, such as stops and timetables while leaving out full network listings. The municipality and stop identifiers travel in the URL path, so a rule can bind the agent to specific path operations.
- **Credential handling:** Your subscription key is stored encrypted on your own Jentic One instance and injected into the request at execution time, never placed in the agent's prompt, logs, or context. You rotate it in one place.
- **Discovery method:** Agents search Jentic by intent such as 'stops near a location' or 'timetable for a stop', and Jentic returns the matching De Lijn operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **OpenCage Geocoding API** — Turn a place name or address into the coordinates the nearby-stops endpoint needs.
- **HERE Maps** — Routing and maps to combine with De Lijn stops for door-to-door trip planning.
- **TomTom Search API** — Search and geocode points of interest to anchor a transit query to a real place.
- **Mapbox** — A general mapping and navigation platform for geospatial work beyond Flemish transit.

## FAQ

### What authentication does the De Lijn Open Data API use?

The spec declares an apiKey subscription key: you send it either in the Ocp-Apim-Subscription-Key header or as a subscription-key query parameter. Through Jentic, your own Jentic One instance stores the key encrypted and attaches it to every request for you.

### Can I find the stops nearest a location with the De Lijn API?

Yes. The nearby-stops endpoint takes a set of coordinates and returns the stops around that point, and you can then read the lines serving those stops and their timetables. You can also list stops by municipality or look them up by stop key.

### What are the rate limits for the De Lijn Open Data API?

The OpenAPI spec does not state rate limits, and the subscription key is managed through De Lijn's API portal. Check the official documentation at https://data.delijn.be/ for current quotas before running heavy queries.

### How do I query De Lijn transit data through Jentic?

Add the De Lijn Open Data API from the Jentic API Directory and connect your subscription key once. Your agent then searches by intent such as 'stops near a location' and calls the matching operation. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit which De Lijn lookups my agent is allowed to call?

Yes. Every operation is a read-only GET, so you grant your agent only the lookups it needs, such as stops and timetables while leaving out the full network listing. The municipality and stop identifiers sit in the URL path, so a rule can also pin the agent to specific path operations, and every call is logged.

### Is there a De Lijn transit MCP server?

You don't need an MCP server to give your agent De Lijn data. Jentic connects it directly from the API Directory: import it, connect your key once, and your agent can look up stops, lines, and timetables without another server loading tool definitions into its context.
