Spain
32 feed scorecards · 65.5 out of 100 average · 10 need attention
The average and grade distribution use 31 canonical, non-duplicate feed scorecards under one producer contract: rubric 1.4, scoring profile gtfs-scorecard-1.4, MobilityData gtfs-validator 8.0.1, reader archive profile raw-v1, and measured categories Correctness, Freshness, Rider experience. Every member remains listed below.
Scope: 32 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 6
- C 8
- D 8
- F 9
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_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 for scorecard_wheelchair_accessible_unknown
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 for scorecard_wheelchair_boarding_unknown
Add feed_info.txt with feed_start_date and feed_end_date to your export. · Read the fix guide for scorecard_missing_feed_info_dates
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 for scorecard_no_fare_data
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 for scorecard_missing_headsigns
Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). · Read the fix guide for mixed_case_recommended_field
Re-export with a validity window that reaches at least 60 days out. · Read the fix guide for scorecard_feed_expiring_soon
Check the flagged stops' shape_dist_traveled against the route shape, and re-generate it on export if they disagree. · Read the fix guide for stop_too_far_from_shape_using_user_distance
Review the rule documentation for 'foreign_key_violation' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed.
Re-generate shape_dist_traveled on export so stop and shape distances use the same units. · Read the fix guide for trip_distance_exceeds_shape_distance_below_threshold
3 more shared fixes not shown here; see the full list at country-es.json.
Feed scorecards: attention first, then alphabetical
- C grade
Bizkaibus Service data expires in 60 day(s)
- D grade
Empresa Malagueña de Transportes (EMT Málaga) Service data expires in 46 day(s)
- F grade
EMT Fuenlabrada (EMTF) Service data expires in 14 day(s)
- F grade
EMT València The export's structure changed
- D grade
Metro Bilbao Service data expires in 30 day(s)
- D grade
Metro de Málaga Score changed sharply on 2026-10-07
- D grade
Puente Bizkaia (El Transbordador de Vizcaya) Service data expires in 15 day(s)
- F grade
TRAM Barcelona (Trambaix) Service data expires in 30 day(s)
- F grade
TRAM Barcelona (Trambesòs) Service data expires in 30 day(s)
- D grade
TUVISA (Vitoria-Gasteiz) Service data expires in 29 day(s)
- F grade
- B grade
- B grade
- C grade
- F grade
- C grade
- F grade
- C grade
- C grade
- C grade
- B grade
- C grade
- B grade
- D grade
- B grade
- B grade
- F grade
- F grade
- F grade
- C grade
- D grade
- D grade
Board reports for this group
Every agency listed above has a free, printable board one-pager on its own page, and always will. A program that needs all of them at once can buy them as one archive, branded with its own name and logo and refreshed monthly if it wants. A purchase buys no influence over grades, methodology, or which agencies are listed. The archive contains the same numbers published here.
One bundle, up to 25 agencies: $149, paid once, delivered within 2 business days or refunded. Other plans, including a monthly refresh, are on the bundle page.
See a sample bundle report: a real agency's current grade, with placeholder branding.