Ouigo España
Live delays Timetables
Live delays and timetables of Ouigo España in Spain, recorded since 7 Oct 2026 from a GTFS feed and live data published on mdw01.api-es.ouigo.com, which the archive converts to GTFS-RT.
Days
Ouigo España’s terms do not allow republishing its live data without its consent: the archive shows it on this site but does not give out its files until that consent is given. Its timetable can be downloaded.
Pick a day on the calendar to see its trains and delays, in Spain local time.
November 2026
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | Wednesday 4 November 2026: still being collected | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- A file to download
- Incomplete: recorded for part of the day only, or far fewer trains than usual
- Collected, file ready after 02:15 UTC
- Today, still being collected
- No data
28 days ready to download. The archive has data for this source since 7 Oct 2026.
The timetable
The planned timetable: stations, routes, trips and times. It comes as GTFS, the standard timetable format, one Parquet table per GTFS file. 1 version stored, a new one when Ouigo España changes the coming week’s trains.
Tools that need a GTFS zip: pip install gtfs-parquet, then gtfs_parquet.write_gtfs(gtfs_parquet.read_parquet(folder), "gtfs.zip") on a folder of the tables. This version was stored on 5 Oct 2026, 19:04 and is the current one.
Accounts are free: you sign in with a code sent to your email, no password.
Use it from code
The live data of this source is not given out, so there is no API address for its days (see above). Its timetable is, as Parquet tables.
Try it in your browser Developer guide
- Source id
es-ouigo- Services
TripUpdatelive delays: daily files from 7 Oct 2026 to 3 Nov 2026 (28 days)- Timetables
- Service
static: 1 version, listed ines-ouigo/static/latest.json
import json, urllib.request
import polars as pl
base, token = "https://data.train-archive.eu", "YOUR_TOKEN"
latest = json.load(urllib.request.urlopen(f"{base}/es-ouigo/static/latest.json?token={token}"))
stops = pl.read_parquet(f"{base}/{latest['tables']['stops']}?token={token}")
print(stops.select("stop_id", "stop_name"))
Also: every file of this source, listed, and asking an AI assistant to query it for you.
What is covered
- Local time
- Europe/Madrid
- Rail filter
- Off: the feed carries trains only
- Live delays
- 7 Oct 2026 to 4 Nov 2026, 104 files, 3.5 MB.
32 missing hours
- 22 Oct 2026: 06h
- 24 Oct 2026: 06h
- 26 Oct 2026: 06h
- 27 Oct 2026: 06h
- 28 Oct 2026: 06h
- 29 Oct 2026: 06h
- 30 Oct 2026: 06h, 07h, 08h, 09h, 10h, 11h, 12h, 13h
- 31 Oct 2026: 06h
- 1 Nov 2026: 10h
- 2 Nov 2026: 06h, 07h, 08h, 09h, 10h, 11h, 12h, 13h
- 3 Nov 2026: 06h
On a usual day the live data covers 100% of the trains the timetable plans. Incomplete days: 7 Oct 2026 (100%, part of the day), 30 Oct 2026 (100%, part of the day), 2 Nov 2026 (100%, part of the day).
- Feed status
- Last update 19:16 on 4 Nov 2026, local time, 22 trains.
- Timetables
- 1 version stored.
- 5 Oct 2026, 19:04 10 files, 25.7 KB current
Do you publish this feed? Ask for a change or its removal. Removal stops collection and deletes the files already stored.