Query Île-de-France Mobilités (IDFM) PRIM/Navitia for Paris + suburbs public transport (Île-de-France) — place resolution, journey planning, and disruptions/incident checks.
Scanned 6/7/2026
Install via CLI
openskills install modbender/skill-library-mcp---
id: idfm-journey-skill
name: IDFM Journey
description: Query Île-de-France Mobilités (IDFM) PRIM/Navitia for Paris + suburbs public transport (Île-de-France) — place resolution, journey planning, and disruptions/incident checks.
env: ['IDFM_PRIM_API_KEY']
license: MIT
metadata:
author: anthonymq
category: "Transport"
tags: ["idfm", "navitia", "paris", "transport"]
---
# IDFM Journey (PRIM/Navitia)
Use the bundled script to call PRIM/Navitia endpoints without extra dependencies.
## Prereqs / security
- **Required secret:** `IDFM_PRIM_API_KEY` (treat as a secret; don’t commit it).
- **Scope it:** set it only in the shell/session that runs the command.
- **Do not override `--base-url`** unless you fully trust the endpoint.
The script sends `apikey: <IDFM_PRIM_API_KEY>` to whatever base URL you provide, so a malicious URL would exfiltrate your key.
## Quick commands
Run from anywhere (path is inside the skill folder):
- Resolve places (best match + list):
- `python3 scripts/idfm.py places "Ivry-sur-Seine" --count 5`
- Journeys (free-text from/to; resolves place ids first):
- `python3 scripts/idfm.py journeys --from "Ivry-sur-Seine" --to "Boulainvilliers" --count 3`
- Incidents / disruptions (by line id or filter):
- `python3 scripts/idfm.py incidents --line-id line:IDFM:C01727`
- `python3 scripts/idfm.py incidents --filter 'disruption.status=active'`
Add `--json` to print raw API output.
## Notes
- If place resolution is ambiguous, increase `--count` and choose the right `stop_area` id.
- For API details and examples, read: `references/idfm-prim.md`.
No comments yet. Be the first to comment!