Spain
21 feed scorecards · 59.8 out of 100 average · 9 need attention
The average and grade distribution use 20 canonical, non-duplicate feed scorecards under one producer contract: rubric 1.3, scoring profile gtfs-scorecard-1.3, MobilityData gtfs-validator 8.0.1, reader archive profile raw-v1, and measured categories Correctness, Freshness, Rider experience. Every member remains listed below.
Scope: 21 reviewed feed records tracked in Spain. This page measures those records, not operators, routes, or all public transport in Spain, and it is not a claim that GTFS Scorecard covers Spain.
Grade distribution
- B 1
- C 7
- D 1
- F 11
Expired feeds 1 of 21
These feeds have run out and dropped from trip planners. Start the program's outreach here.
Recently lapsed 1
Expired within the last year. Likely still running; a re-export with a longer calendar brings each one back into trip planners.
- F grade
EMT València expired 1 days ago
Realtime health 1 monitored
All 1 feed record here with a realtime endpoint configured have been sampled by the monitor. Least reliable first. Reachability, how far behind each feed's own timestamp runs, and how much of the scheduled service appears in it. Sampled on a schedule rather than continuously, and it changes no grade.
Across the monitored feeds: median uptime 100.0%, median lag 15s.
- Renfe Cercanías y Rodaliesanswered 100.0% of 200 checks · 15s behind
Fixes shared across this group
The same fix shows up in more than one agency's top 3 here, often the same export setting or scheduling-software step. Worth raising once with every agency it touches.
Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. · Read the fix guide
Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. · Read the fix guide
Add feed_info.txt with feed_start_date and feed_end_date to your export. · Read the fix guide
Add fare_attributes.txt (or Fares v2 files) with your fare structure. If your service is fare-free, ask to have it marked fare-free instead. · Read the fix guide
Re-export with a validity window that reaches at least 60 days out. · Read the fix guide
Add the destination, direction, or 'via' label riders actually see to trip_headsign. Do not copy the route name. If the label changes during the trip, use stop_headsign. · Read the fix guide
Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). · Read the fix guide
Review the rule documentation for 'invalid_integer' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.
Review the rule documentation for 'invalid_date' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.
Review the rule documentation for 'invalid_url' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.
Feed scorecards: attention first, then alphabetical
- F grade
Bizkaibus Service data expires in 33 day(s)
- C grade
Empresa Malagueña de Transportes (EMT Málaga) The export's structure changed
- F grade
EMT Fuenlabrada (EMTF) Service data expires in 14 day(s)
- F grade
EMT València Service data has expired
- F grade
Metro Bilbao Service data expires in 5 day(s)
- D grade
Metro de Málaga Service window shortened unexpectedly on 2026-08-10
- B grade
Puente Bizkaia (El Transbordador de Vizcaya) Service data expires in 60 day(s)
- F grade
TITSA (Tenerife) The export's structure changed
- F grade
TUVISA (Vitoria-Gasteiz) Service data expires in 29 day(s)
- F grade
- C grade
- C grade
- F grade
- C grade
- C grade
- C grade
- F grade
- F grade
- C grade
- F grade
- F grade