← All agencies

Feed status · checked 2026-10-20

De Lijn

Based on the official feed source on file

Service mode Tram + Bus

55.5 / 100

unchanged since 2026-10-19

Cataloged in Vlaams Gewest, Belgium.

Covers 69 daysAccessibility gapsRealtime not yet published

Source feed: https://api-management-discovery-production.azure-api.net/api/gtfs/feed/delijn/static

The Flemish region's bus and tram network, published daily through the Belgian Mobility open data portal. The download is 200 MiB but stop_times.txt expands to 1.6 GiB, so the record needs the large-feed ingestion tier. Anonymous download is open; the portal states a rate limit of 100 requests a day for anonymous use, which one daily score run stays well inside.

A data-quality and completeness lens to help an agency improve its GTFS feed. Not an official compliance determination from any transit program. New to this? How to read your scorecard. Interactive view of this scorecard. Rubric v1.4, validator 8.0.1.

Checked for changes 3 hours ago; last changed 3 hours ago.

Measured 3 of 4 score categories from the official feed URL on file.

How we measured this

Confidence in this measurement: medium.

  • Realtime quality was not measured this run. It does not count against the grade.
  • The feed was downloaded from the official feed URL on file.

Confidence describes how much the pipeline could measure this run, not the feed itself. It never changes the grade.

About this feed

De Lijn’s published feed lists 2,023 routes (tram / light rail and bus), 357,165 scheduled trips and 30,089 stops. Its service dates run from 2026-10-19 through 2026-12-28. The published file last changed on 2026-10-20.

Top things to fix

Fix 01

Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops.Likely your team

24732 of 30089 stops don't say whether a wheelchair user can board there. Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

Fixing this covers 24,732 of 30,089 stops, about 82% of them.

⏱ A column in stops.txt; your scheduling software likely has it.worth about +20 points in its category

Fix 02

Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip.Likely your export tool

357165 of 357165 trips don't say whether the vehicle is wheelchair accessible. Even with accessible stops, riders need to know the transit vehicle itself can take them.

Fixing this covers all 357,165 trips in the feed.

⏱ A default or per-trip field in your export.worth about +15 points in its category

Fix 03

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.

The feed contains no fare information. Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.

This one is about the feed as a whole, so there is no share of it to count.

⏱ A small file for most flat-fare systems.worth about +15 points in its category

Riders and need behind these fixes

  • Rider-trip figures come from the United States National Transit Database, which does not cover this feed's country.
  • The served-area need overlays cover the United States and Canada, so none of them applies to this feed.

These describe this feed only. They do not rank agencies, and they do not change the grade or the order of the fixes.

Finding handoff

Move one finding to a recheck

Select one finding. Copy the request, make the change in the feed-producing tool, then compare the next complete run.

Finding
Fix 01 in Top things to fix: its feed evidence and the requested change.
Recheck
Publish the changed feed at the same URL. On the next complete, comparable scorecard run, confirm that this finding is no longer reported.
Copy handoff text
How to make and check these changes

Check the result on the published feed. Read the guide, make the change in your tool, and use the next comparable run to see whether the finding is still reported. Only an action or ticket record can attribute who made the change.

  1. Fix 01 · Read the fix guide for scorecard_wheelchair_boarding_unknown

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.

  2. Fix 02 · Read the fix guide for scorecard_wheelchair_accessible_unknown

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.

  3. Fix 03 · Read the fix guide for scorecard_no_fare_data

    Make the change. Make this change in whatever tool produces your feed, then re-export.

    Check the result. The next scorecard run checks this finding again. If a comparable check no longer reports it, the feed's clearance log records that result. This confirms feed state, not who made the change. Self-check a feed before you publish.

Rider view: what this feed publishes

A quick read of rider-facing information in this feed.

Schedule visibility
The feed's last published service date is in 69 days.
Published accessibility data
Accessibility information is stated for 17.8% of stops and 0% of trips. This measures published data, not whether stops or vehicles are physically usable.
Fare information
No fare information is published in the feed.
Realtime information
Realtime-feed availability and live-arrival coverage are not known from this scorecard.

Important: This does not rate service reliability. Riders should confirm current service alerts, fares, and accessibility accommodations with the transit operator before traveling.

Send your vendor a fix request

You may not control the GTFS export yourself. Copy this and send it to whoever runs your scheduling software export. It names each fix with the validator notice and a guide link.

Score by category

Correctness34.5 / 100

The MobilityData validator flagged 15 kinds of issue across 351538 instances (0 error, 8725 warning, 342813 informational).

Freshness100.0 / 100

Service data covers the next 69 days.

Rider experience49.5 / 100

18% of stops state wheelchair accessibility (18% marked accessible, 0% marked not accessible). This measures what the feed publishes, not whether a stop is physically usable. Fare data is not published.

Accessibility11.1 / 100

18% of stops state accessibility (18% marked accessible). Reflects what the feed states, not verified physical usability.

2 accessibility depth signals

  • 1115 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (161, 209, 212, 218, 219, and more).

    Consider: Adjust route_color or route_text_color so each pair clears 4.5:1. Often switching the text between black and white is enough.

  • 169 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("Bissegem Dr. Dumortierlaan", "Roesbrugge Dr. Gheysenstraat", "Sint-Jozef P+R Coiseaukaai", and more).

    Consider: Add tts_stop_name with the spoken form, e.g. 'Main Street and Second Avenue', for the affected stops.

Opportunities to strengthen the data, not deductions from the sub-score above. States what the second accessibility lens can check from the feed, not verified physical usability.

Realtime qualityNot yet measured

The portal publishes De Lijn trip updates and service alerts, but it serves them as GTFS-RT JSON rather than protobuf, so the scorecard does not sample them yet. Nothing here counts against the grade.

Routes and stops

Each route is drawn once, using the longest shape its trips follow; stops are the dots.

This feed has 30089 stops.

Skip to route and stop data

The route and stop data is ready below. Load the map only when you want the geographic view. It uses additional data.

Basemap: OpenFreeMap, © OpenStreetMap contributors. Routes and stops: this agency's GTFS feed.

  • 1 (purple)
  • 1 (purple)
  • 2 (green)
  • 2 (green)
  • 4 (teal)
  • 4 (teal)
  • 6 (pink)
  • 6 (pink)
  • 7 (teal)
  • 7 (teal)
  • 8 (pink)
  • 8 (pink)
  • 10 (yellow)
  • 10 (yellow)
  • 11 (white)
  • 11 (white)
  • 12 (red)
  • 12 (red)
  • 13 (green)
  • 13 (green)
  • 14 (red)
  • 14 (red)
  • 17 (orange)
  • 17 (orange)
  • 19 (green)
  • 19 (green)
  • 21 (brown)
  • 21 (brown)
  • 22 (red)
  • 22 (red)
  • 23 (yellow)
  • 23 (yellow)
  • 24 (gray)
  • 24 (gray)
  • 30 (teal)
  • 30 (teal)
  • 32 (yellow)
  • 32 (yellow)
  • 33 (teal)
  • 33 (teal)
  • P2 (green)
  • P2 (green)
  • A3 (yellow)
  • A3 (yellow)
  • A9 (brown)
  • A9 (brown)
  • P9 (orange)
  • P9 (orange)
  • 51 (green)
  • 51 (green)
  • 52 (green)
  • 52 (green)
  • 53 (green)
  • 53 (green)
  • 61 (green)
  • 61 (green)
  • 88 (brown)
  • 88 (brown)
  • 89 (white)
  • 89 (white)
  • 90 (red)
  • 90 (red)
  • 92 (red)
  • 92 (red)
  • 11 (brown)
  • 11 (brown)
  • 111 (white)
  • 111 (white)
  • 133 (white)
  • 133 (white)
  • 160 (white)
  • 160 (white)
  • 161 (white)
  • 161 (white)
  • 172 (white)
  • 172 (white)
  • 18 (yellow)
  • 18 (yellow)
  • 18b (yellow)
  • 18b (yellow)
  • 18a (yellow)
  • 18a (yellow)
  • 18c (yellow)
  • 18c (yellow)
  • 19 (purple)
  • 19 (purple)
  • X19 (teal)
  • X19 (teal)
  • 20a (purple)
  • 20a (purple)
  • 20b (purple)
  • 20b (purple)
  • 209 (white)
  • 209 (white)
  • 21 (white)
  • 21 (white)
  • 212 (white)
  • 212 (white)
  • 218 (white)
  • 218 (white)
  • 219 (white)
  • 219 (white)
  • 220 (white)
  • 220 (white)
  • 221 (white)
  • 221 (white)
  • 223 (white)
  • 223 (white)
  • 230 (white)
  • 230 (white)
  • 243 (white)
  • 243 (white)
  • 25 (teal)
  • 25 (teal)
  • 257 (white)
  • 257 (white)
  • 26 (red)
  • 26 (red)
  • 269 (white)
  • 269 (white)
  • 280 (white)
  • 280 (white)
  • 29a (teal)
  • 29a (teal)
  • 29b (teal)
  • 29b (teal)
  • 299 (white)
  • 299 (white)
  • 30 (white)
  • 30 (white)
  • 306 (white)
  • 306 (white)
  • 313 (white)
  • 313 (white)
  • 32a (green)
  • 32a (green)
  • 32b (green)
  • 32b (green)
  • 329 (white)
  • 329 (white)
  • 33 (green)
  • 33 (green)
  • 34 (pink)
  • 34 (pink)
  • 35 (brown)
  • 35 (brown)
  • 351 (white)
  • 351 (white)
  • 359 (white)
  • 359 (white)
  • 37a (red)
  • 37a (red)
  • 378 (white)
  • 378 (white)
  • 379 (white)
  • 379 (white)
  • 380 (white)
  • 380 (white)
  • 381 (white)
  • 381 (white)
  • 383 (white)
  • 383 (white)
  • 391 (white)
  • 391 (white)
  • 392 (white)
  • 392 (white)
  • 40 (green)
  • 40 (green)
  • 403 (white)
  • 403 (white)
  • 404 (white)
  • 404 (white)
  • 406 (white)
  • 406 (white)
  • 408 (white)
  • 408 (white)
  • 411 (white)
  • 411 (white)
  • 413 (white)
  • 413 (white)
  • 414 (white)
  • 414 (white)
  • 416 (white)
  • 416 (white)
  • X41 (red)
  • X41 (red)
  • 418 (white)
  • 418 (white)
  • 419 (white)
  • 419 (white)
  • 423 (white)
  • 423 (white)
  • 424 (white)
  • 424 (white)
  • 425 (white)
  • 425 (white)
  • 426 (white)
  • 426 (white)
  • X42 (yellow)
  • X42 (yellow)
  • 428 (white)
  • 428 (white)
  • 43a (yellow)
  • 43a (yellow)
  • 43b (yellow)
  • 43b (yellow)
  • 433 (white)
  • 433 (white)
  • 434 (white)
  • 434 (white)
  • 435 (white)
  • 435 (white)
  • 437 (white)
  • 437 (white)
  • 438 (white)
  • 438 (white)
  • 439 (white)
  • 439 (white)
  • 441 (white)
  • 441 (white)
  • 442 (white)
  • 442 (white)
  • 443 (white)
  • 443 (white)
  • 444 (white)
  • 444 (white)
  • 445 (white)
  • 445 (white)
  • 446 (white)
  • 446 (white)
  • 447 (white)
  • 447 (white)
  • 45 (orange)
  • 45 (orange)
  • 454 (white)
  • 454 (white)
  • 455 (white)
  • 455 (white)
  • 456 (white)
  • 456 (white)
  • 457 (white)
  • 457 (white)
  • 458 (white)
  • 458 (white)
  • 459 (white)
  • 459 (white)
  • 46 (brown)
  • 46 (brown)
  • 461 (white)
  • 461 (white)
  • 47 (purple)
  • 47 (purple)
  • 473 (white)
  • 473 (white)
  • 48 (gray)
  • 48 (gray)
  • 481 (white)
  • 481 (white)
  • 482 (white)
  • 482 (white)
  • 483 (white)
  • 483 (white)
  • 49 (yellow)
  • 49 (yellow)
  • 50 (orange)
  • 50 (orange)
  • 508 (white)
  • 508 (white)
  • 51a (teal)
  • 51a (teal)
  • 51b (teal)
  • 51b (teal)
  • 515 (white)
  • 515 (white)
  • 519 (white)
  • 519 (white)
  • 528 (white)
  • 528 (white)
  • 529 (white)
  • 529 (white)
  • 534 (white)
  • 534 (white)
  • 538 (white)
  • 538 (white)
  • 539 (white)
  • 539 (white)
  • 54 (red)
  • 54 (red)
  • 541 (white)
  • 541 (white)
  • 543 (white)
  • 543 (white)
  • 544 (white)
  • 544 (white)
  • 545 (white)
  • 545 (white)
  • 556 (white)
  • 556 (white)
  • 568 (white)
  • 568 (white)
  • 571 (white)
  • 571 (white)
  • 57 (pink)
  • 57 (pink)
  • 579 (white)
  • 579 (white)
  • 58 (pink)
  • 58 (pink)
  • 59 (white)
  • 59 (white)
  • 592 (white)
  • 592 (white)
  • 593 (white)
  • 593 (white)
  • 60 (brown)
  • 60 (brown)
  • 601 (white)
  • 601 (white)
  • 604 (white)
  • 604 (white)
  • 607 (white)
  • 607 (white)
  • 608 (white)
  • 608 (white)
  • 609 (white)
  • 609 (white)
  • 61 (gray)
  • 61 (gray)
  • 618 (white)
  • 618 (white)
  • 619 (white)
  • 619 (white)
  • 62 (green)
  • 62 (green)
  • 629 (white)
  • 629 (white)
  • 63 (yellow)
  • 63 (yellow)
  • 64 (orange)
  • 64 (orange)
  • X64 (pink)
  • X64 (pink)
  • 645 (white)
  • 649 (white)
  • 649 (white)
  • 65 (yellow)
  • 65 (yellow)
  • 659 (white)
  • 659 (white)
  • 66 (pink)
  • 66 (pink)
  • 67 (white)
  • 67 (white)
  • 671 (white)
  • 671 (white)
  • 674 (white)
  • 674 (white)
  • 675 (white)
  • 675 (white)
  • 679 (white)
  • 679 (white)
  • 69 (purple)
  • 69 (purple)
  • 70 (white)
  • 70 (white)
  • X70 (yellow)
  • X70 (yellow)
  • 704 (white)
  • 704 (white)
  • 707 (white)
  • 707 (white)
  • 708 (white)
  • 708 (white)
  • 709 (white)
  • 709 (white)
  • X71 (purple)
  • X71 (purple)
  • 718 (white)
  • 718 (white)
  • 719 (white)
  • 719 (white)
  • 72 (teal)
  • 72 (teal)
  • 73 (brown)
  • 73 (brown)
  • 75 (brown)
  • 75 (brown)
  • 760 (white)
  • 760 (white)
  • 762 (white)
  • 762 (white)
  • 764 (white)
  • 764 (white)
  • 80 (brown)
  • 80 (brown)
  • 1 (teal)
  • 1 (teal)
  • 2 (pink)
  • 2 (pink)
  • 1 (yellow)
  • 1 (yellow)
  • 812 (white)
  • 812 (white)
  • 822 (white)
  • 822 (white)
  • 83 (brown)
  • 83 (brown)
  • 84 (teal)
  • 84 (teal)
  • 848 (white)
  • 848 (white)
  • 849 (white)
  • 849 (white)
  • 85 (orange)
  • 85 (orange)
  • 857 (white)
  • 857 (white)
  • 858 (white)
  • 858 (white)
  • 859 (white)
  • 859 (white)
  • 86 (gray)
  • 86 (gray)
  • 868 (white)
  • 868 (white)
  • 869 (white)
  • 869 (white)
  • 1b (red)
  • 1b (red)
  • 2 (purple)
  • 2 (purple)
  • 3 (green)
  • 3 (green)
  • 4 (yellow)
  • 4 (yellow)
  • 5 (yellow)
  • 5 (yellow)
  • 6 (teal)
  • 908 (white)
  • 908 (white)
  • PM (white)
  • PM (white)
  • P (green)
  • P (green)
  • P5 (brown)
  • P5 (brown)
  • 1a (red)
  • 1a (red)
  • 98 (yellow)
  • 98 (yellow)
  • 981 (white)
  • 981 (white)
  • 982 (white)
  • 982 (white)
  • T4 (red)
First 500 of 2,023 routes in De Lijn's feed
RouteTypeLine color
1 Zuid - P+R LuchtbalTram / light railpurple
1 P+R Luchtbal - ZuidTram / light railpurple
2 P+R Merksem - ZwaantjesTram / light railgreen
2 Zwaantjes - P+R MerksemTram / light railgreen
4 Berchem station - HobokenTram / light railteal
4 Hoboken - Berchem stationTram / light railteal
6 P+R Luchtbal - P+R OlympiadeTram / light railpink
6 P+R Olympiade - P+R LuchtbalTram / light railpink
7 Eilandje - MortselTram / light railteal
7 Mortsel - EilandjeTram / light railteal
8 Astrid - P+R WommelgemTram / light railpink
8 P+R Wommelgem - AstridTram / light railpink
10 P+R Schoonselhof - WijnegemTram / light railyellow
10 Wijnegem - P+R SchoonselhofTram / light railyellow
11 Berchem Station - MelkmarktTram / light railwhite
11 Melkmarkt - Berchem StationTram / light railwhite
12 Centraal station - SchijnpoortTram / light railred
12 Schijnpoort - Centraal stationTram / light railred
13 Opera - Hoboken - PolderstadBusgreen
13 Polderstad - Hoboken - OperaBusgreen
14 Opera - Hoboken - HemiksemBusred
14 Hemiksem - Hoboken - OperaBusred
17 Brouwersvliet - Centraal Station - UZABusorange
17 UZA - Centraal Station - BrouwersvlietBusorange
19 Sport - Deurne ZuidBusgreen
19 Deurne Zuid - SportBusgreen
21 Rooseveltplaats - Middelheim - NeerlandBusbrown
21 Neerland - Middelheim - RooseveltplaatsBusbrown
22 Groenplaats - Valaar - UZABusred
22 UZA - Valaar - GroenplaatsBusred
23 Centraal Station - Dam - NoorderplaatsBusyellow
23 Noorderplaats - Dam - Centraal StationBusyellow
24 Havenhuis - SilsburgTram / light railgray
24 Silsburg - HavenhuisTram / light railgray
30 Station Zuid - Berchem Station - StuivenbergBusteal
30 Stuivenberg - Berchem Station - Station ZuidBusteal
32 Rooseveltplaats - Berchem Station - EdegemBusyellow
32 Edegem - Berchem Station - RooseveltplaatsBusyellow
33 P+R Luchtbal - Merksem - Wilrijk - HobokenBusteal
33 Hoboken - Wilrijk - Merksem - P+R LuchtbalBusteal
P2 Hoboken Lelieplaats - ZwaantjesBusgreen
P2 Hoboken Zwaantjes - LelieplaatsBusgreen
A3 P+R Merksem - P+R BoechoutTram / light railyellow
A3 P+R Boechout - P+R MerksemTram / light railyellow
A9 Wijnegem - Berchem StationTram / light railbrown
A9 Berchem Station - WijnegemTram / light railbrown
P9 Berchem Station - Eksterlaar - SilsburgBusorange
P9 Silsburg - Eksterlaar - Berchem StationBusorange
51 Berchem Station - Hove - VremdeBusgreen
51 Vremde - Hove - Berchem StationBusgreen
52 Berchem Station - Hove - DuffelBusgreen
52 Duffel - Hove - Berchem StationBusgreen
53 Berchem Station - Hove - DuffelBusgreen
53 Duffel - Hove - Berchem StationBusgreen
61 Mechelen - Nekkerspoel - Sint-Katelijne-WaverBusgreen
61 Sint-Katelijne-Waver - Nekkerspoel - MechelenBusgreen
88 Mechelen - Kapelle-op-den-Bos - LonderzeelBusbrown
88 Londerzeel - Kapelle-op-den-Bos - MechelenBusbrown
89 Mechelen - Tisselt - Breendonk - PuursBuswhite
89 Puurs - Breendonk - Tisselt - MechelenBuswhite
90 Berchem Station - Mortsel - LierBusred
90 Lier - Mortsel - Berchem StationBusred
92 Berchem Station - Mortsel - Kontich KerkBusred
92 Kontich Kerk - Mortsel - Berchem StationBusred
11 Geel station - Geel Thomas MoreBusbrown
11 Geel Thomas More - Geel stationBusbrown
111 Vosselaar - Tielen - Onze-Lieve-Vrouw-Olen - Larum - GeelBuswhite
111 Geel - Larum - Onze-Lieve-Vrouw-Olen - Tielen - VosselaarBuswhite
133 Schelle - Aartselaar - Kontich ScholenBuswhite
133 Kontich Scholen - Aartselaar - SchelleBuswhite
160 Aarschot - Begijnendijk - Pijpelheide - Heist-op-den-BergBuswhite
160 Heist-op-den-Berg - Pijpelheide - Begijnendijk - AarschotBuswhite
161 Aarschot - Booischot - Begijnendijk - Heist-op-den-BergBuswhite
161 Heist-op-den-Berg - Booischot - Begijnendijk - AarschotBuswhite
172 Mol - Gompel - Balen - Heppen - LeopoldsburgBuswhite
172 Leopoldsburg - Heppen - Balen - Gompel - MolBuswhite
18 Antwerpen Groenplaats - AartselaarBusyellow
18 Aartselaar - Antwerpen GroenplaatsBusyellow
18b Antwerpen Groenplaats - Aartselaar - TerhagenBusyellow
18b Terhagen - Aartselaar - Antwerpen GroenplaatsBusyellow
18a Antwerpen Groenplaats - Aartselaar - BoomBusyellow
18a Boom - Aartselaar - Antwerpen GroenplaatsBusyellow
18c Antwerpen Groenplaats - Aartselaar - NielBusyellow
18c Niel - Aartselaar - Antwerpen GroenplaatsBusyellow
19 Diest - Veerle - GeelBuspurple
19 Geel - Veerle - DiestBuspurple
X19 Snelbus Rumst - Kontich - AntwerpenBusteal
X19 Snelbus Antwerpen - Kontich - RumstBusteal
20a Lier - Broechem - Wommelgem - Berchem - AntwerpenBuspurple
20a Antwerpen - Berchem - Wommelgem - Broechem - LierBuspurple
20b Wommelgem - Berchem - AntwerpenBuspurple
20b Antwerpen - Berchem - WommelgemBuspurple
209 Lidwina - Mol stationBuswhite
209 Mol station - LidwinaBuswhite
21 Turnhout - Gierle - Lille - VorselaarBuswhite
21 Vorselaar - Lille - Gierle - TurnhoutBuswhite
212 Turnhout- Vosselaar - Tielen - Sint-Jozef Olen -HerentalsBuswhite
212 Herentals- Sint-Jozef Olen - Tielen - Vosselaar -TurnhoutBuswhite
218 Turnhout - Gierle - Lille - HerentalsBuswhite
218 Herentals - Lille - Gierle - TurnhoutBuswhite
219 Lichtaart - Onze-Lieve-Vrouw-Olen - Herentals - VorselaarBuswhite
219 Vorselaar - Herentals - Onze-Lieve-Vrouw-Olen - LichtaartBuswhite
220 Wiekevorst - Hulshout - Westmeerbeek - Ramsel - AarschotBuswhite
220 Aarschot - Ramsel - Westmeerbeek - Hulshout - WiekevorstBuswhite
221 Heultje - Westmeerbeek - Houtvenne - Ramsel - AarschotBuswhite
221 Aarschot - Ramsel - Houtvenne - Westmeerbeek - HeultjeBuswhite
223 Herentals - Olen - Voortkapel - Heultje - HulshoutBuswhite
223 Hulshout - Heultje - Voortkapel - Olen - HerentalsBuswhite
230 Meerhout - MolBuswhite
230 Mol - MeerhoutBuswhite
243 Broechem - Boechout - Hove - Kontich scholenBuswhite
243 Kontich scholen - Hove - Boechout - BroechemBuswhite
25 Puurs - Hingene - Bornem - Sint-AmandsBusteal
25 Sint-Amands - Bornem - Hingene - PuursBusteal
257 Dendermonde - Bornem - BoomBuswhite
257 Boom - Bornem - DendermondeBuswhite
26 Puurs - Oppuurs - Sint-Amands - DendermondeBusred
26 Dendermonde - Sint-Amands - Oppuurs - PuursBusred
269 Dendermonde - Sint-Amands - Lippelo - Puurs - BoomBuswhite
269 Boom - Puurs - Lippelo - Sint-Amands - DendermondeBuswhite
280 Puurs - Liezele - LonderzeelBuswhite
280 Londerzeel - Liezele - PuursBuswhite
29a Boom - Niel - AntwerpenBusteal
29a Antwerpen - Niel - BoomBusteal
29b Boom - Reet - Niel - AntwerpenBusteal
29b Antwerpen - Niel - Reet - BoomBusteal
299 Eppegem - Elewijt - Boortmeerbeek - Haacht - TildonkBuswhite
299 Tildonk - Haacht - Boortmeerbeek - Elewijt - EppegemBuswhite
30 Mechelen - AZ Sint-Maarten - Duffel - LierBuswhite
30 Lier - Duffel - AZ Sint-Maarten - MechelenBuswhite
306 Mechelen - Sint-Katelijne-Waver - Hagelstein - Sint-UrsulaBuswhite
306 Sint-Ursula - Hagelstein - Sint Katelijne-Waver - MechelenBuswhite
313 Station Antwerpen-Zuid - Blue GateBuswhite
313 Blue Gate - Station Antwerpen-ZuidBuswhite
32a Geel - Oevel - Westerlo - Herselt - AarschotBusgreen
32a Aarschot - Herselt - Westerlo - Oevel - GeelBusgreen
32b Herentals - Herselt - AarschotBusgreen
32b Aarschot - Herselt - HerentalsBusgreen
329 Geel - Oevel - Westerlo - Blauberg - Herselt - AarschotBuswhite
329 Aarschot - Herselt - Blauberg - Westerlo - Oevel - GeelBuswhite
33 Turnhout - Kasterlee - HerentalsBusgreen
33 Herentals - Kasterlee - TurnhoutBusgreen
34 Hoboken Polderstad - Wilrijk - UZA - Mortsel - WijnegemBuspink
34 Wijnegem - Mortsel - UZA - Wilrijk - Hoboken PolderstadBuspink
35 Lier - Kontich - Edegem UZABusbrown
35 Edegem UZA - Kontich - LierBusbrown
351 Lier - Kontich - BoomBuswhite
351 Boom - Kontich - LierBuswhite
359 Lier - Kontich scholen - WilrijkBuswhite
359 Wilrijk - Kontich scholen - LierBuswhite
37a Hoevenen - Kapellen - Brasschaat - Schoten - WijnegemBusred
37a Wijnegem - Schoten - Brasschaat - Kapellen - HoevenenBusred
378 Schoten - Brasschaat - Kapellen - scholen StabroekBuswhite
378 scholen Stabroek - Kapellen - Brasschaat - SchotenBuswhite
379 Zandvliet - Stabroek - Kapellen - scholen BrasschaatBuswhite
379 scholen Brasschaat - Kapellen - Stabroek - ZandvlietBuswhite
380 Geel - Dessel - Witgoor - Retie - ArendonkBuswhite
380 Arendonk - Retie - Witgoor - Dessel - GeelBuswhite
381 Geel - Retie - Oud-TurnhoutBuswhite
381 Oud-Turnhout - Retie - GeelBuswhite
383 Geel - Europese schoolBuswhite
383 Europese school - GeelBuswhite
391 Mol - Dessel - Witgoor - Retie - ArendonkBuswhite
391 Arendonk - Retie - Witgoor - Dessel - MolBuswhite
392 Zandhoven VTI - Westmalle - Sint-Job-in-'t-GoorBuswhite
392 Sint-Job-in-'t-Goor - Westmalle - Zandhoven VTIBuswhite
40 Antwerpen - Wijnegem - OostmalleBusgreen
40 Oostmalle - Wijnegem - AntwerpenBusgreen
403 Wijnegem - Schilde - Sint-Antonius - scholen MalleBuswhite
403 scholen Malle - Sint-Antonius - Schilde - WijnegemBuswhite
404 Wijnegem - Halle - Zandhoven VTIBuswhite
404 Zandhoven VTI - Halle - WijnegemBuswhite
406 Zandhoven - scholen Malle via HalleBuswhite
406 scholen Malle - Zandhoven via HalleBuswhite
408 Zandhoven - Malle - Hoogstraten scholenBuswhite
408 Hoogstraten scholen - Malle - ZandhovenBuswhite
411 Zandhoven - Zoersel - scholen MalleBuswhite
411 scholen Malle - Zoersel - ZandhovenBuswhite
413 Westmalle - Beerse - Vosselaar - TurnhoutBuswhite
413 Turnhout - Vosselaar - Beerse - WestmalleBuswhite
414 Sint-Antonius - Malle -Zandhoven VTIBuswhite
414 Zandhoven VTI - Malle - Sint-AntoniusBuswhite
416 Snelbus Antwerpen - Wechelderzande - TurnhoutBuswhite
416 Snelbus Turnhout - Wechelderzande - AntwerpenBuswhite
X41 Snelbus Antwerpen - Zoersel - Malle - TurnhoutBusred
X41 Snelbus Turnhout - Malle - Zoersel - AntwerpenBusred
418 Snelbus Antwerpen - Lille - HerentalsBuswhite
418 Snelbus Herentals - Lille - AntwerpenBuswhite
419 Zandhoven - TurnhoutBuswhite
419 Turnhout - ZandhovenBuswhite
423 Berchem - Broechem - Zandhoven VTIBuswhite
423 Zandhoven VTI - Broechem - BerchemBuswhite
424 Schilde - Zandhoven VTIBuswhite
424 Zandhoven VTI - SchildeBuswhite
425 Berchem - Broechem - Vorselaar Van RoeyBuswhite
425 Vorselaar Van Roey - Broechem - BerchemBuswhite
426 Lier - Broechem - OelegemBuswhite
426 Oelegem - Broechem - LierBuswhite
X42 Snelbus Antwerpen - Massenhoven - Grobbendonk - HerentalsBusyellow
X42 Snelbus Herentals - Grobbendonk - Massenhoven - AntwerpenBusyellow
428 Lier - Broechem - Viersel - VorselaarBuswhite
428 Vorselaar - Viersel - Broechem - LierBuswhite
43a Reusel - Arendonk - Turnhout - Merksplas - HoogstratenBusyellow
43a Hoogstraten - Merksplas - Turnhout - Arendonk - ReuselBusyellow
43b Arendonk - Turnhout - Merksplas - Rijkevorsel - BrechtBusyellow
43b Brecht - Rijkevorsel - Merksplas - Turnhout - ArendonkBusyellow
433 Turnhout - Beerse - Rijkevorsel - HoogstratenBuswhite
433 Hoogstraten - Rijkevorsel - Beerse - TurnhoutBuswhite
434 Turnhout - Beerse - Merksplas - HoogstratenBuswhite
434 Hoogstraten - Merksplas - Beerse - TurnhoutBuswhite
435 Turnhout Markt - IndustrieBuswhite
435 Turnhout industrie - MarktBuswhite
437 Turnhout - Merksplas Kolonie - HoogstratenBuswhite
437 Hoogstraten - Merksplas Kolonie - TurnhoutBuswhite
438 Turnhout industrie - Vosselaar - HoogstratenBuswhite
438 Hoogstraten - Vosselaar - Turnhout industrieBuswhite
439 Handelsschool - Turnhout - Hoogstraten - Meersel-DreefBuswhite
439 Meersel-Dreef - Hoogstraten - Turnhout - HandelsschoolBuswhite
441 Wildert - Nieuwmoer - scholen WuustwezelBuswhite
441 scholen Wuustwezel - Nieuwmoer - WildertBuswhite
442 Sint-Lenaarts - Wuustwezel - scholen KalmthoutBuswhite
442 scholen Kalmthout - Wuustwezel - Sint-LenaartsBuswhite
443 Sint-Job - scholen KalmthoutBuswhite
443 scholen Kalmthout - Sint-JobBuswhite
444 Wuustwezel - Gooreind - Maria-Ter-Heide - Essen CollegeBuswhite
444 Essen College - Maria-Ter-Heide - Gooreind - WuustwezelBuswhite
445 Brasschaat - Gooreind - scholen KalmthoutBuswhite
445 scholen Kalmthout - Gooreind - BrasschaatBuswhite
446 Nieuwmoer - Brecht - OostmalleBuswhite
446 Oostmalle - Brecht - NieuwmoerBuswhite
447 Essen Hoek - Horendonk - scholen WuustwezelBuswhite
447 scholen Wuustwezel - Horendonk - Essen HoekBuswhite
45 Turnhout - Oud-Turnhout - Ravels - Poppel - TilburgBusorange
45 Tilburg - Poppel - Ravels - Oud-Turnhout - TurnhoutBusorange
454 Turnhout - Ravels - Weelde SingelBuswhite
454 Weelde Singel - Ravels - TurnhoutBuswhite
455 Arendonk - Ravels - Weelde - ZondereigenBuswhite
455 Zondereigen - Weelde - Ravels - ArendonkBuswhite
456 Arendonk - Oud-Turnhout - Ravels - Eel - PoppelBuswhite
456 Poppel - Eel - Ravels - Oud-Turnhout - ArendonkBuswhite
457 Weelde - Baarle - HoogstratenBuswhite
457 Hoogstraten - Baarle - WeeldeBuswhite
458 Poppel - Weelde - Merksplas - HoogstratenBuswhite
458 Hoogstraten - Merksplas - Weelde - PoppelBuswhite
459 Ravels - Weelde - Merksplas - HoogstratenBuswhite
459 Hoogstraten - Merksplas - Weelde - RavelsBuswhite
46 Turnhout - BaarleBusbrown
46 Baarle - TurnhoutBusbrown
461 Turnhout - Zondereigen - BaarleBuswhite
461 Baarle - Zondereigen - TurnhoutBuswhite
47 Mol - Dessel - Retie - Oud-Turnhout - TurnhoutBuspurple
47 Turnhout - Oud-Turnhout - Retie - Dessel - MolBuspurple
473 Mol TISP - Dessel - Retie - Oud-Turnhout - TurnhoutBuswhite
473 Turnhout - Oud-Turnhout - Retie - Dessel - Mol TISPBuswhite
48 Malle - Sint-Jozef - Rijkevorsel - HoogstratenBusgray
48 Hoogstraten - Rijkevorsel - Sint-Jozef - MalleBusgray
481 Vorselaar - Malle - HoogstratenBuswhite
481 Hoogstraten - Malle - VorselaarBuswhite
482 Hoogstraten - Rijkevorsel - Oostmalle - WestmalleBuswhite
482 Westmalle - Oostmalle - Rijkevorsel - HoogstratenBuswhite
483 Hoogstraten 't Spijker - Rijkevorsel - OostmalleBuswhite
483 Oostmalle - Rijkevorsel - Hoogstraten 't SpijkerBuswhite
49 Turnhout - Kasterlee - GeelBusyellow
49 Geel - Kasterlee - TurnhoutBusyellow
50 Antwerpen - Boom - Rumst - MechelenBusorange
50 Mechelen - Rumst - Boom - AntwerpenBusorange
508 Snelbus Aartselaar - Rumst - MechelenBuswhite
508 Snelbus Mechelen - Rumst - AartselaarBuswhite
51a Mechelen - Heist-op-den-Berg - Hulshout - Westerlo - GeelBusteal
51a Geel - Westerlo - Hulshout - Heist-op-den-Berg - MechelenBusteal
51b Mechelen - Heist-op-den-Berg - HerentalsBusteal
51b Herentals - Heist-op-den-Berg - MechelenBusteal
515 Herselt - Heist -op-den-Berg ScholenBuswhite
515 Heist-op-den-Berg Scholen - HerseltBuswhite
519 Heist-op-den-Berg - Beerzel - Putte - Waver scholenBuswhite
519 Waver scholen - Putte - Beerzel - Heist-op-den-BergBuswhite
528 Mechelen - Peulis - Sint-Ursula - HagelsteinBuswhite
528 Hagelstein - Sint-Ursula - Peulis - MechelenBuswhite
529 Tremelo - Schriek - Putte - Sint-Ursula - HagelsteinBuswhite
529 Hagelstein - Sint-Ursula - Putte - Schriek - TremeloBuswhite
534 Heist - Putte - Keerbergen scholenBuswhite
534 Keerbergen scholen - Putte - HeistBuswhite
538 Keerbergen - Bonheiden - Sint-Ursula - HagelsteinBuswhite
538 Hagelstein - Sint-Ursula - Bonheiden - KeerbergenBuswhite
539 Baal - Keerbergen - Bonheiden - Sint-Ursula - HagelsteinBuswhite
539 Hagelstein - Sint-Ursula - Bonheiden - Keerbergen - BaalBuswhite
54 Herentals - Westerlo - TessenderloBusred
54 Tessenderlo - Westerlo - HerentalsBusred
541 Herentals - Olen - Voortkapel - WesterloBuswhite
541 Westerlo - Voortkapel - Olen - HerentalsBuswhite
543 Morkhoven - Olen - Voorkapel - WesterloBuswhite
543 Westerlo - Voortkapel - Olen - MorkhovenBuswhite
544 Herentals - Olen - Westerlo - TongelsbosBuswhite
544 Tongelsbos - Westerlo - Olen - HerentalsBuswhite
545 Westerlo - Veerle Heide - AverbodeBuswhite
545 Averbode - Veerle Heide - WesterloBuswhite
556 Lier - Mijlstraat - Duffel - WaarloosBuswhite
556 Waarloos - Duffel - Mijlstraat - LierBuswhite
568 Westerlo Scholen - Westmeerbeek - Booischot - HulshoutBuswhite
568 Hulshout - Booischot - Westmeerbeek - Westerlo ScholenBuswhite
571 Lier Industrie - Lier VeemarktBuswhite
571 Lier Veemarkt - Lier IndustrieBuswhite
57 Lier - PutteBuspink
57 Putte - LierBuspink
579 Lier - Koningshooikt - Sint-Ursula - HagelsteinBuswhite
579 Hagelstein - Sint-Ursula - Koningshooikt - LierBuswhite
58 Lier - Koningshooikt - Berlaar - Heist-op-den-BergBuspink
58 Heist-op-den-Berg - Berlaar - Koningshooikt - LierBuspink
59 Herentals - Lille - Vlimmeren - MalleBuswhite
59 Malle - Vlimmeren - Lille - HerentalsBuswhite
592 Herentals - Lille - Vlimmeren - Oostmalle - WestmalleBuswhite
592 Westmalle - Oostmalle - Vlimmeren - Lille - HerentalsBuswhite
593 Vorselaar - Lille - Vlimmeren - OostmalleBuswhite
593 Oostmalle - Vlimmeren - Lille - VorselaarBuswhite
60 Brecht - AntwerpenBusbrown
60 Antwerpen - BrechtBusbrown
601 Sint-Job Kristus Koning - AntwerpenBuswhite
601 Antwerpen - Sint-Job Kristus KoningBuswhite
604 Hoogstraten - Meersel-DreefBuswhite
604 Meersel-Dreef - HoogstratenBuswhite
607 Sint-Job - scholen MalleBuswhite
607 scholen Malle - Sint-JobBuswhite
608 Hoogstraten - St. JobBuswhite
608 St. Job - HoogstratenBuswhite
609 scholen Hoogstraten - Rijkevorsel - Brecht - Sint-JobBuswhite
609 Sint-Job - Brecht - Rijkevorsel - Hoogstraten scholenBuswhite
61 Oelegem - Schoten - AntwerpenBusgray
61 Antwerpen - Schoten - OelegemBusgray
618 's-Gravenwezel - scholen MalleBuswhite
618 scholen Malle - 's-GravenwezelBuswhite
619 Oelegem - scholen MalleBuswhite
619 scholen Malle - OelegemBuswhite
62 Sint-Job - Schoten - AntwerpenBusgreen
62 Antwerpen - Schoten - Sint-JobBusgreen
629 Schoten - Brecht - scholen MalleBuswhite
629 scholen Malle - Brecht - SchotenBuswhite
63 Lier - Duffel - Sint-Katelijne-Waver - PutteBusyellow
63 Putte - Sint-Katelijne-Waver - Duffel - LierBusyellow
64 Loenhout - Wuustwezel - Brasschaat - AntwerpenBusorange
64 Antwerpen - Brasschaat - Wuustwezel - LoenhoutBusorange
X64 Snelbus Wuustwezel - Antwerpen via E19Buspink
X64 Snelbus Antwerpen - Wuustwezel via E19Buspink
645 scholen Brasschaat - Wuustwezel - LoenhoutBuswhite
649 Hoogstraten - Wuustwezel - BrasschaatBuswhite
649 Brasschaat - Wuustwezel - HoogstratenBuswhite
65 Kapellen - Merksem ZwaantjesleiBusyellow
65 Merksem Zwaantjeslei - KapellenBusyellow
659 Hoogstraten - Ekeren-DonkBuswhite
659 Ekeren-Donk - HoogstratenBuswhite
66 P+R Luchtbal - Ekeren - SchotenBuspink
66 Schoten - Ekeren - P+R LuchtbalBuspink
67 Essen - Kalmthout - KapellenBuswhite
67 Kapellen - Kalmthout - EssenBuswhite
671 Zandvliet - Stabroek - scholen KalmthoutBuswhite
671 scholen Kalmthout - Stabroek - ZandvlietBuswhite
674 Stabroek - Kalmthout - Essen CollegeBuswhite
674 Essen College - Kalmthout - StabroekBuswhite
675 Stabroek - Kalmthout - scholen WuustwezelBuswhite
675 scholen Wuustwezel - Kalmthout - StabroekBuswhite
679 Hoogstraten - EssenBuswhite
679 Essen - HoogstratenBuswhite
69 Meersel-Dreef - Hoogstraten - Brecht Station NoorderkempenBuspurple
69 Brecht Station Noorderkempen - Hoogstraten - Meersel-DreefBuspurple
70 Zandvliet - Stabroek - Hoevenen - AntwerpenBuswhite
70 Antwerpen - Hoevenen - Stabroek - ZandvlietBuswhite
X70 Sneldienst Zandvliet - Antwerpen via A12Busyellow
X70 Sneldienst Antwerpen - Zandvliet via A12Busyellow
704 Mechelen - Elewijt - Boortmeerbeek - Haacht - KeerbergenBuswhite
704 Keerbergen - Haacht - Boortmeerbeek - Elewijt - MechelenBuswhite
707 Zandvliet - Stabroek - scholen MerksemBuswhite
707 scholen Merksem - Stabroek - ZandvlietBuswhite
708 Zandvliet - Stabroek - scholen EkerenBuswhite
708 scholen Ekeren - Stabroek - ZandvlietBuswhite
709 Zandvliet - scholen StabroekBuswhite
709 scholen Stabroek - ZandvlietBuswhite
X71 Snelbus Putte - Stabroek - AntwerpenBuspurple
X71 Snelbus Antwerpen - Stabroek - PutteBuspurple
718 Antwerpen P+R Luchtbal - scholen StabroekBuswhite
718 scholen Stabroek - Antwerpen P+R LuchtbalBuswhite
719 Antwerpen Rooseveltplaats - scholen Stabroek via A12Buswhite
719 scholen Stabroek - Antwerpen Rooseveltplaats via A12Buswhite
72 Putte - Kapellen - Ekeren - AntwerpenBusteal
72 Antwerpen - Ekeren - Kapellen - PutteBusteal
73 Brasschaat - Ekeren - P+R LuchtbalBusbrown
73 P+R Luchtbal - Ekeren - BrasschaatBusbrown
75 Heist-op-den-Berg - Schriek - TremeloBusbrown
75 Tremelo - Schriek - Heist-op-den-BergBusbrown
760 Antwerpen P+R Luchtbal - Kaai 210 CMBBuswhite
760 Kaai 210 CMB - Antwerpen P+R LuchtbalBuswhite
762 Station Noorderdokken - BevrijdingsdokBuswhite
762 Bevrijdingsdok - Station NoorderdokkenBuswhite
764 Antwerpen P+R Luchtbal - Van Cauwelaertsluis via Kaai 403Buswhite
764 Van Cauwelaertsluis - Antwerpen P+R Luchtbal via Kaai 403Buswhite
80 Mechelen - Nekkerspoel - Onze-Lieve-Vrouw-WaverBusbrown
80 Onze-Lieve-Vrouw-Waver - Nekkerspoel - MechelenBusbrown
1 Turnhout Warande - Vosselaar - BeerseBusteal
1 Beerse - Vosselaar - Turnhout WarandeBusteal
2 Warande - Den Brand - WarandeBuspink
2 Warande - Den Brand - WarandeBuspink
1 Rauw - Zilvermeer - Mol - Ezaart - MillegemBusyellow
1 Millegem - Ezaart - Mol - Zilvermeer - RauwBusyellow
812 Europawijk - Mol - AchterbosBuswhite
812 Achterbos - Mol - EuropawijkBuswhite
822 Weerde - Zemst - MechelenBuswhite
822 Mechelen - Zemst- WeerdeBuswhite
83 Mol - Balen - Gerheide - Wezel - LommelBusbrown
83 Lommel - Wezel - Gerheide - Balen - MolBusbrown
84 Lier - Nijlen - Grobbendonk - VorselaarBusteal
84 Vorselaar - Grobbendonk - Nijlen - LierBusteal
848 Nijlen - Bouwel - HerentalsBuswhite
848 Herentals - Bouwel - NijlenBuswhite
849 Heist-op-den-Berg - Herenthout - Grobbendonk - VorselaarBuswhite
849 Vorselaar - Grobbendonk - Herenthout - Heist-op-den-BergBuswhite
85 Lier - Nijlen - Herenthout - HerentalsBusorange
85 Herentals - Herenthout - Nijlen - LierBusorange
857 Wiekevorst - Nijlen - BerlaarBuswhite
857 Berlaar - Nijlen - WiekevorstBuswhite
858 Hagenbroek Industrie - station - KesselBuswhite
858 Kessel - Lier stationBuswhite
859 Lier - Nijlen - Emblem - Broechem - RanstBuswhite
859 Ranst - Broechem - Emblem - Nijlen - LierBuswhite
86 Boom - Willebroek - MechelenBusgray
86 Mechelen - Willebroek - BoomBusgray
868 Boom - Willebroek - TisseltBuswhite
868 Tisselt - Willebroek - BoomBuswhite
869 Boom - Willebroek - Heindonk - MechelenBuswhite
869 Mechelen - Heindonk - Willebroek - BoomBuswhite
1b Station - Grote Markt - Nekkerspoel - PasbrugBusred
1b Pasbrug - Nekkerspoel - Grote Markt - StationBusred
2 AZ Sint-Maarten - Tivoli - Veemarkt - Station - GandhiBuspurple
2 Gandhi - Station - Veemarkt - Tivoli - AZ Sint-MaartenBuspurple
3 Station - Veemarkt - AZ Sint-Maarten - Sint-Katelijne-WaverBusgreen
3 Sint-Katelijne-Waver - AZ Sint-Maarten - Veemarkt - StationBusgreen
4 Muizen - Mechelen Veemarkt - Battel - LeestBusyellow
4 Leest - Battel - Mechelen Veemarkt - MuizenBusyellow
5 Station - Brusselpoort - Industrie Zuid - TechnopolisBusyellow
5 Technopolis - Industrie Zuid - Brusselpoort - StationBusyellow
6 Station - Keerdok - Industrie Noord - StationBusteal
908 Station - Busleyden 135-DBBuswhite
908 Busleyden 135-DB - StationBuswhite
PM Mechelen Station - MalinasBuswhite
PM Malinas - Mechelen StationBuswhite
P TrampendelBusgreen
P TrampendelBusgreen
P5 Opera - Kennedytunnel - P+R Linkeroever - Van EedenpleinBusbrown
P5 Van Eedenplein - Kennedytunnel - OperaBusbrown
1a Station - Grote MarktBusred
1a Grote Markt - StationBusred
F1 Mechelen - Duffel - LierBuspink (no shape in feed)
F1 Lier - Duffel - MechelenBuspink (no shape in feed)
F2 Groenplaats - Aartselaar - Rumst - MechelenBusteal (no shape in feed)
F2 Mechelen - Rumst - Aartselaar - GroenplaatsBusteal (no shape in feed)
F3 Morkhoven - Noorderwijk - HerentalsBusgray (no shape in feed)
F3 Herentals - Noorderwijk - MorkhovenBusgray (no shape in feed)
F4 Tielen - Lichtaart - Kasterlee - TurnhoutBusorange (no shape in feed)
F4 Turnhout - Kasterlee - Lichtaart - TielenBusorange (no shape in feed)
F5 Rooseveltplaats - BroechemBusgray (no shape in feed)
F5 Broechem - RooseveltplaatsBusgray (no shape in feed)
F8 Antwerpen - E19 - Kontich - Hove - Lint - WaarloosBusgray (no shape in feed)
F8 Waarloos - Lint - Hove - Kontich - E19 - AntwerpenBusgray (no shape in feed)
F9 Herentals-Poederlee-Wechelderzande-Lille-Gierle-TurnhoutBuswhite (no shape in feed)
F9 Turnhout-Gierle-Lille-Wechelderzande-Poederlee-HerentalsBuswhite (no shape in feed)
F10 Brasschaat Mariaburg - Ekeren-Donk - AntwerpenBusbrown (no shape in feed)
F10 Antwerpen - Ekeren-Donk - Brasschaat MariaburgBusbrown (no shape in feed)
F11 Wildert - Essen - Kalmthout - WildertBusteal (no shape in feed)
F11 Wildert - Kalmthout - Essen - WildertBusteal (no shape in feed)
F12 Antwerpen - Kapellen - Putte - StabroekBusbrown (no shape in feed)
F12 Stabroek - Putte - Kapellen - AntwerpenBusbrown (no shape in feed)
F13 Loenhout - Wuustwezel - Brasschaat - AntwerpenBusred (no shape in feed)
F13 Antwerpen - Brasschaat - Wuustwezel - LoenhoutBusred (no shape in feed)
F14 Zandvliet - Stabroek - Ekeren - AntwerpenBusteal (no shape in feed)
F14 Antwerpen - Ekeren - Stabroek - ZandvlietBusteal (no shape in feed)
F15 Antwerpen - Hemiksem - Schelle - NielBusorange (no shape in feed)
F15 Niel - Schelle - Hemiksem - AntwerpenBusorange (no shape in feed)
F16 Turnhout-Rijkevorsel-Merksplas-Hoogstraten-MeerseldreefBuspurple (no shape in feed)
F16 Meerseldreef-Hoogstraten-Merksplas-Rijkevorsel-TurnhoutBuspurple (no shape in feed)
F17 Turnhout - BaarleBusyellow (no shape in feed)
F17 Baarle - TurnhoutBusyellow (no shape in feed)
F19 Wijnegem - Sint-AntoniusBusgreen (no shape in feed)
F19 Sint-Antonius - WijnegemBusgreen (no shape in feed)
F20 Arendonk - Oud-Turnhout -TurnhoutBusgreen (no shape in feed)
F20 Turnhout - Oud-Turnhout - ArendonkBusgreen (no shape in feed)
F21 Turnhout - Ravels - Weelde -PoppelBusteal (no shape in feed)
F21 Poppel - Weelde - Ravels - TurnhoutBusteal (no shape in feed)
F22 Meer - Hoogstraten - AntwerpenBusyellow (no shape in feed)
F22 Antwerpen - Hoogstraten - MeerBusyellow (no shape in feed)
F23 Herentals - Olen - HerentalsBusgreen (no shape in feed)
F24 Lier - NijlenBusgreen (no shape in feed)
F24 Nijlen - LierBusgreen (no shape in feed)
F2 Hoboken Zwaantjes - Eilandje FeesttramTram / light railgreen (no shape in feed)
F2 Eilandje - Hoboken Zwaantjes FeestramTram / light railgreen (no shape in feed)
F3 P+R Boechout - P+P MerksemBusyellow (no shape in feed)
F3 P+R Boechout - P+P MerksemBusyellow (no shape in feed)
98 Tessenderlo - Vorst - Zittaart - Meerhout - GeelBusyellow
98 Geel - Meerhout - Zittaart - Vorst - TessenderloBusyellow
981 Tessenderlo - Meerhout - MolBuswhite
981 Mol - Meerhout - TessenderloBuswhite
982 Tessenderlo - Meerhout - GeelBuswhite
982 Geel - Meerhout - TessenderloBuswhite
T4 Muidebrug - Korenmarkt - Gentbrugge StelplaatsTram / light railred

Showing 500 of 2,023 routes. The current scorecard JSON contains the complete route list.

List every stop
  • Noorderwijk Kerk Feestbus Oudjaar
  • Noorderwijk Kerk Feestbus Oudjaar
  • Merksplas Dorp Feestbus Oudjaar
  • Merksplas Dorp Feestbus Oudjaar
  • Berchem Jan Moorkens vervanghalte
  • Wilrijk A. Chantrainestraat
  • Antwerpen Zurenborg
  • Hoboken Verenigde Natieslaan
  • Hoboken Verenigde Natieslaan
  • Hoboken D. Baginierlaan
  • Wilrijk A. Chantrainestraat
  • Wilrijk Moerelei
  • Wilrijk Moerelei
  • Antwerpen J. De Voslei
  • Antwerpen Middelheim Vijver
  • Wilrijk Antarctica
  • Wilrijk Rozenkransplein
  • Wilrijk Rozenkransplein
  • Wilrijk L. Kieboomsstraat
  • Wilrijk L. Kieboomsstraat
  • Wilrijk Rooiboslaan
  • Antwerpen A. Grisarstraat
  • Wilrijk Wilsonweg
  • Wilrijk Dr. Donnyplein
  • Wilrijk Dr. Donnyplein
  • Deurne Hermans
  • Wilrijk Klaproosstraat
  • Wilrijk Klaproosstraat
  • Morkhoven Station
  • Morkhoven Station
  • Deurne Hermans
  • Mechelen Verbertstraat
  • Ekeren Blarenstraat
  • Essen Postbaan
  • Borgerhout Te Boelaarlei
  • Breendonk Hoogheide 39
  • Essen Postbaan
  • Vorselaar Dorp
  • Merksem Irislei
  • Merksem Irislei
  • Wilrijk Valkstraat
  • Schelle Acacialaan
  • Schelle Acacialaan
  • Deurne A. Van De Wielelei
  • Berchem Bikschotelaan
  • Deurne A. Van De Wielelei
  • Rijkevorsel Sint-Jozef Oude Goorstraat
  • Boom Industrieweg
  • Boom Industrieweg
  • Boom Tunnelweg
  • Boom Tunnelweg
  • Reet Hof Daman
  • Hemiksem Werkplaatsen
  • Hemiksem Werkplaatsen
  • Hemiksem Irisweg
  • Hemiksem Irisweg
  • Hoboken Aartselaarstraat
  • Hemiksem Heiligstraat
  • Hemiksem Heiligstraat
  • Hemiksem Landbouwweg
  • Hemiksem Landbouwweg
  • Hoboken Aartselaarstraat
  • Hemiksem Gemeenteplaats
  • Hemiksem Gemeenteplaats
  • Hemiksem Kerkstraat
  • Hemiksem Kerkstraat
  • Antwerpen Abdijstraat
  • Hemiksem Beukenlaan
  • Hemiksem Beukenlaan
  • Hemiksem Bouwerijstraat
  • Hemiksem Bouwerijstraat
  • Antwerpen Abdijstraat
  • Hemiksem Atletiekstraat
  • Hemiksem Atletiekstraat
  • Hemiksem Station
  • Hemiksem Station
  • Wilrijk Eglantierlaan
  • Itegem Oude Steenweg
  • Itegem Oude Steenweg
  • Itegem Beukenlaan
  • Lichtaart Olensteenweg
  • Lichtaart Olensteenweg
  • Poederlee Schrieken
  • Dessel Goormansdijk
  • Kapelle-op-den-Bos Huttekensstraat
  • Kapelle-op-den-Bos Huttekensstraat
  • Molenstede Eikelenberg
  • Antwerpen Straatsburgdok
  • Molenstede Eikelenberg
  • Herenthout Markt
  • Borgerhout Station Oost
  • Turnhout Rubensstraat
  • Bonheiden Sint-Ludwinakerk
  • Bonheiden Sint-Ludwinakerk
  • Herenthout Verbistlaan
  • Herenthout Verbistlaan
  • Kessel Landstraat
  • Kessel Landstraat
  • Kessel Nieuwstraat
  • Antwerpen Bestorming
  • Kessel Nieuwstraat
  • Kessel Nieuwe Bevelsesteenweg
  • Antwerpen Begijnenvest
  • Wilrijk Dr. Veeckmanslaan
  • Wilrijk Dr. Veeckmanslaan
  • Antwerpen Sint-Jansplein
  • Antwerpen Sint-Jansplein
  • Wilrijk Geleegweg
  • Wilrijk Geleegweg
  • Kessel Nieuwe Bevelsesteenweg
  • Wilrijk Planetariumlaan
  • Wilrijk Planetariumlaan
  • Deurne Antwerp stadion
  • Boom Steenbakkerijenstraat
  • Boom Steenbakkerijenstraat
  • Boom De Schorre
  • Deurne Antwerp stadion
  • Boom Van Leriuslaan
  • Boom Van Leriuslaan
  • Wilrijk Rooiboslaan
  • Wilrijk Terbekehofdreef
  • Liezele Achterheide
  • Borgerhout Apollo
  • Hemiksem Steenbakkerijstraat
  • Hemiksem Steenbakkerijstraat
  • Mortsel Deurnestraat
  • Mortsel Deurnestraat
  • Deurne Atheneum
  • Berchem Grotesteenweg
  • Berchem Grotesteenweg
  • Wilrijk Wolfbeemdstraat
  • Wilrijk Wolfbeemdstraat
  • Deurne Atheneum
  • Aartselaar Wullebeekstraat
  • Aartselaar Wullebeekstraat
  • Aartselaar Ooievaarsbos
  • Aartselaar Ooievaarsbos
  • Kapelle-op-den-Bos Kerk
  • Hingene Schoonaardestraat
  • Hingene Polderdam
  • Minderhout Minderhoutsestraat oudjaar
  • Aartselaar Aquafin
  • Wilrijk Aquafin
  • Bornem Vitsdam
  • Buitenland Reek
  • Buitenland Reuzenhuis
  • Buitenland 't Buitenland
  • Weert Sas
  • Minderhout Minderhoutsestraat oudjaar
  • Antwerpen Stadspark
  • Weert Theresiakapel
  • Weert Polder
  • Weert Dreef
  • Weert Vijverland
  • Antwerpen Ballaarstraat
  • Weert Weert
  • Weert Kasteel
  • Edegem Baron De Celleslaan
  • Weert Den Hoek
  • Weert Kachel
  • Branst Riddermoerstraat
  • Deurne Baron Leroystraat
  • Mariekerke Bornemstraat
  • Boortmeerbeek Schippersbos
  • Boortmeerbeek Schippersbos
  • Deurne Baron Leroystraat
  • Berlaar Smidstraat
  • Bornem P. Colomalaan
  • Kalmthout Marktplein
  • Sint-Amands Kerkstraat
  • Sint-Amands Gemeentehuis
  • Sint-Amands Scheldelaan
  • Kalmthout Marktplein
  • Oppuurs Kattestraat
  • Puurs Meir
  • Puurs Overheide
  • Kalmthout Strijboshof
  • Antwerpen Begijnenvest
  • Kalmthout Strijboshof
  • Oelegem Kerk
  • Antwerpen Montigny
  • Antwerpen Bestorming
  • Antwerpen Belgiëlei
  • Antwerpen Belgiëlei
  • Berchem Sint-Willibrordus
  • Berchem Sint-Willibrordus
  • Achterbroek Sporthal
  • Achterbroek Sporthal
  • Berchem Station perron 21
  • Ravels Eel Kerk
  • Achterbroek Dorpshuis
  • Achterbroek Dorpshuis
  • Antwerpen Fina Haven 447
  • Antwerpen Fina Haven 447
  • Merksem De Biezen
  • Kalmthout Achterbroek Kerk
  • Antwerpen Fina Vulcentrum
  • Antwerpen Fina Vulcentrum
  • Antwerpen Fina Poort 1
  • Antwerpen Fina Poort 1
  • Kalmthout Achterbroek Kerk
  • Tongerlo Tongelsbos
  • Retie Werbeek
  • Retie Werbeek
  • Turnhout Oprit brug E34
  • Berchem Station perron 12
  • Berchem Station perron 13
  • Berchem Station perron 14
  • Stabroek P+R Stabroek
  • Stabroek P+R Stabroek
  • Brasschaat P+R Sint-Job
  • Brasschaat P+R Sint-Job
  • Brasschaat P+R Sint-Job
  • Lille P+R Lille
  • Lier Plaslaar
  • Berchem Station perron 31
  • Lille P+R Lille
  • Berchem Berchemboslaan
  • Berchem Berchemboslaan
  • Wijnegem Dorp (Acacialaan)
  • Wijnegem Wommelgemsteenweg
  • Wijnegem Wommelgemsteenweg
  • Borgerhout Berchemlei
  • Borgerhout Berchemlei
  • Weelde Turnhoutseweg
  • Weelde Turnhoutseweg
  • Beerzel Beerzelstraat
  • Bonheiden Gestelhoflei
  • Hoboken Berkenrodelei
  • Wilrijk Beukenlaan
  • Antwerpen Beukenlaan - Dikke Mee
  • Essen Bibliotheek
  • Essen Bibliotheek
  • Essen Kloosterstraat
  • Antwerpen Beukenlaan - Dikke Mee
  • Essen Sint-Antoniusstraat
  • Essen Kloosterstraat
  • Essen Sint-Antoniusstraat
  • Lier Industriestraat
  • Antwerpen Hemel
  • Lier Continental Sweets
  • Lier Paaiestraat
  • Lier Van In
  • Lier Hagenbroeksesteenweg
  • Antwerpen Desguinlei
  • Lier Sint-Jozefstraat
  • Lier Stadion
  • Lier Groeningelaan
  • Lier Pannenhuisstraat
  • Berchem Bikschotelaan
  • and 29839 more (see the full list on the map or in the GeoJSON)

Over time

Overall score across the last 19 checks — unchanged since 2026-10-19.

2026-10-02: 55.12026-10-03: 54.72026-10-04: 54.32026-10-05: 53.92026-10-06: 53.52026-10-07: 53.02026-10-08: 52.62026-10-09: 52.22026-10-10: 51.82026-10-11: 51.42026-10-12: 51.02026-10-13: 50.52026-10-14: 50.12026-10-15: 49.72026-10-16: 49.32026-10-17: 55.52026-10-18: 55.52026-10-19: 55.52026-10-20: 55.5
Show the numbers
Overall score by check, with the change from the previous check
CheckScoreChange
2026-10-0255.1 first check
2026-10-0354.7 down 0.4
2026-10-0454.3 down 0.4
2026-10-0553.9 down 0.4
2026-10-0653.5 down 0.4
2026-10-0753.0 down 0.5
2026-10-0852.6 down 0.4
2026-10-0952.2 down 0.4
2026-10-1051.8 down 0.4
2026-10-1151.4 down 0.4
2026-10-1251.0 down 0.4
2026-10-1350.5 down 0.5
2026-10-1450.1 down 0.4
2026-10-1549.7 down 0.4
2026-10-1649.3 down 0.4
2026-10-1755.5 up 6.2
2026-10-1855.5 no change
2026-10-1955.5 no change
2026-10-2055.5 no change

What changed since your last check

  • Correctness no change
  • Freshness no change
  • Rider experience no change

Feed history

Every check on record for this feed, grouped by the published file, newest first. A new file means the published zip changed. Grades from earlier rubric versions are shown with their rubric and are not comparable with today’s grade or the trend above.

Feed history by published file
CheckedPublished fileService dates throughGrade at the time
2026-10-201d7819459aeb2026-12-28Current rubric: see the trend above
2026-10-195faac5ba84dc2026-12-27Current rubric: see the trend above
2026-10-18a16f00cd8b3d2026-12-26Current rubric: see the trend above
2026-10-17b66c5aeb76b92026-12-25Current rubric: see the trend above
2026-10-16f0c26834efc92026-11-30Current rubric: see the trend above
2026-10-153dda908f6f932026-11-30Current rubric: see the trend above
2026-10-14e32497cd9c012026-11-30Current rubric: see the trend above
2026-10-1362720c90997d2026-11-30Current rubric: see the trend above
2026-10-12449fa13079952026-11-30Current rubric: see the trend above
2026-10-11a9eb1b0abfee2026-11-30Current rubric: see the trend above
2026-10-10dd0ccf4a09c42026-11-30Current rubric: see the trend above
2026-10-095928008475d12026-11-30Current rubric: see the trend above

Showing the 12 most recent of 42 periods.

What changed in this feed

Overall grade and score held steady since 2026-10-19.

The feed file was re-published since 2026-10-19 (-365 KB).

What changed inside the export

  • 14 stops left the export.
  • 10 new stops appeared.
  • Service now runs through 2026-12-28 (was 2026-12-27).

Read from the feed file itself, compared with the previous export. A service change is normal; this is a heads-up so nothing disappears silently.

Changed counts

  • up 357165 of 357165 trips don't say whether the vehicle is wheelchair accessible. (344675 → 357165) (scorecard_wheelchair_accessible_unknown)
  • down Some service calendars have no days of the week switched on. (1918 → 1734) (service_has_no_active_day_of_the_week)
  • up Some service calendars in the feed have already ended. (203 → 250) (expired_calendar)
  • up Some stops exist in the feed but no trip ever stops at them. (4642 → 4650) (stop_without_stop_time)
  • down 24732 of 30089 stops don't say whether a wheelchair user can board there. (24736 → 24732) (scorecard_wheelchair_boarding_unknown)
  • up Unsorted stop times (flagged by the MobilityData validator). (331314 → 340565) (unsorted_stop_times)
  • down Some service dates fall outside the date window set in feed_info.txt. (1446 → 1271) (service_window_outside_feed_period)
  • down The feed has a stretch of two weeks or more with no service running. (152 → 114) (big_gap_in_service)
  • up Some trip headsigns name a stop along the way, not the final destination. (160 → 174) (trip_headsign_matches_intermediate_stop)

Subscribe to this feed’s changes (Atom) to hear about grade drops and export changes in a reader, with no sign-up.

What changed over time

On 2026-10-02 this feed started at grade F. On 2026-10-20 the grade held, though the score rose from 55 to 56. As of 2026-10-20 it holds grade F.

A plain-language history of this feed, newest first.

  • 2026-10-17 Score rose 6 points, freshness rose 25 points.

Everything we checked

18 findings, ordered by severity.

Show every finding
  • Warning357165 instances

    357165 of 357165 trips don't say whether the vehicle is wheelchair accessible.

    Even with accessible stops, riders need to know the transit vehicle itself can take them.

    Fix: Set wheelchair_accessible on every trip. If every vehicle is accessible, this may be one default; otherwise use the value for each trip. (A default or per-trip field in your export.)

    Finding code: scorecard_wheelchair_accessible_unknown · Read the fix guide for scorecard_wheelchair_accessible_unknown · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning24732 instances

    24732 of 30089 stops don't say whether a wheelchair user can board there.

    Riders who use wheelchairs can't plan a trip when accessibility is marked 'unknown'; apps show no information at all.

    Fix: Set wheelchair_boarding to 1 (accessible) or 2 (not accessible) for every stop. A field survey can start with the busiest stops. (A column in stops.txt; your scheduling software likely has it.)

    Finding code: scorecard_wheelchair_boarding_unknown · Read the fix guide for scorecard_wheelchair_boarding_unknown · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning4650 instances

    Some stops exist in the feed but no trip ever stops at them.

    Riders may walk to a stop where no transit vehicle is scheduled to arrive.

    Fix: Remove retired stops from the export, or add them back to the trips that should serve them. (A review pass in your scheduling software.)

    Finding code: stop_without_stop_time · Read the fix guide for stop_without_stop_time · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning2023 instances

    Same name and description for route (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'same_name_and_description_for_route' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Finding code: same_name_and_description_for_route · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1734 instances

    Some service calendars have no days of the week switched on.

    Trips tied to these calendars never run; they are dead data that can mask real schedule problems.

    Fix: Delete the empty calendars or set their service days. (A few minutes in your scheduling software.)

    Finding code: service_has_no_active_day_of_the_week · Read the fix guide for service_has_no_active_day_of_the_week · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning250 instances

    Some service calendars in the feed have already ended.

    Expired calendars are dead weight and can hide real schedule problems from your staff and vendors.

    Fix: Remove past service periods the next time you export the feed. (One setting in most export tools.)

    Finding code: expired_calendar · Read the fix guide for expired_calendar · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning25 instances

    Some scheduled trips move faster between stops than a transit vehicle can.

    Usually a typo'd stop time; riders get arrival times no transit vehicle can meet.

    Fix: Check the flagged stop times for transposed minutes. (A few minutes per flagged trip.)

    Finding code: fast_travel_between_consecutive_stops · Read the fix guide for fast_travel_between_consecutive_stops · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning23 instances

    On some trips the stops fall along the route line in a different order than the schedule lists.

    Trip planners can draw the transit vehicle doubling back or skipping ahead, which confuses riders reading the map.

    Fix: Check the stop order and the shape direction in your scheduling software; the shape is often drawn backwards. (A few minutes per flagged trip.)

    Finding code: stops_match_shape_out_of_order · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning9 instances

    Some stops sit far from the route line they belong to.

    Trip planners may draw the transit vehicle route through the wrong path or point riders to the wrong boarding location.

    Fix: Check the flagged stops' coordinates and the route shape in your scheduling software; re-snap whichever is misplaced. (A few minutes per flagged stop.)

    Finding code: stop_too_far_from_shape · Read the fix guide for stop_too_far_from_shape · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning8 instances

    Between two distant stops, the times imply a speed no transit vehicle reaches.

    A rider gets a trip plan that cannot happen. Live systems then report delays that are not real.

    Fix: Check the two stop times for a wrong digit first. Then check whether a stop sits at the wrong coordinates, or a stop between them is missing. (Minutes per flagged trip once you open it.)

    Finding code: fast_travel_between_far_stops · Read the fix guide for fast_travel_between_far_stops · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning3 instances

    Two or more routes share the same name.

    Riders can't tell the routes apart in apps.

    Fix: Give each route a distinct short or long name. (One field per route.)

    Finding code: duplicate_route_name · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning1 instance

    The feed contains no fare information.

    Riders see 'fare unknown' in trip planners and can't budget their trip; visitors are most affected.

    Fix: 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. (A small file for most flat-fare systems.)

    Finding code: scorecard_no_fare_data · Read the fix guide for scorecard_no_fare_data · See GTFS Best Practices (opens GTFS Best Practices on an external site)

  • Info340565 instances

    Unsorted stop times (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'unsorted_stop_times' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Finding code: unsorted_stop_times · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info1271 instances

    Some service dates fall outside the date window set in feed_info.txt.

    feed_info.txt should span every day your service runs, so apps know when the data applies.

    Fix: Widen feed_start_date and feed_end_date to cover all service dates, or fix the dates that fall outside. (Two fields in feed_info.txt, or one export setting.)

    Finding code: service_window_outside_feed_period · Read the fix guide for service_window_outside_feed_period · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info688 instances

    Platform without parent station (flagged by the MobilityData validator).

    See the linked rule for what this affects.

    Fix: Review the rule documentation for 'platform_without_parent_station' at https://gtfs-validator.mobilitydata.org/rules.html and check the flagged rows in your feed. (Varies.)

    Finding code: platform_without_parent_station · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info174 instances

    Some trip headsigns name a stop along the way, not the final destination.

    The sign should tell riders where the transit vehicle ends up, so a midpoint name can send them the wrong way.

    Fix: Set trip_headsign to the trip's last stop or its overall destination. (Usually a bulk edit in your scheduling software.)

    Finding code: trip_headsign_matches_intermediate_stop · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info114 instances

    The feed has a stretch of two weeks or more with no service running.

    A long gap can mean dates were left out of the calendar. Apps then show no trips on those days.

    Fix: Check whether the gap is real, like a seasonal break; if not, add the missing dates to the calendar. (A review of your calendar dates.)

    Finding code: big_gap_in_service · Read the fix guide for big_gap_in_service · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info1 instance

    Some files contain columns that are not part of the GTFS spec.

    Harmless to riders, but apps ignore these columns and they can hide typos in real column names.

    Fix: Check the flagged column names for misspellings of standard GTFS fields; remove them if they are vendor extras. (A quick look at the flagged files.)

    Finding code: unknown_column · Read the fix guide for unknown_column · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

Conformance mark Not yet

One requirement remains for this feed to earn the conformance mark. States wheelchair access on 18% of stops and 0% of trips; the mark needs 90% of each.

Valid Met
Passes validation with no errors.
Current Met
Service data covers the next 69 days.
Accessible Not yet
States wheelchair access on 18% of stops and 0% of trips; the mark needs 90% of each.

In plain words: earn this mark when your feed passes validation, has not expired, and says whether nearly every stop and trip is wheelchair accessible.

A pass credential for a feed that is valid, current, and states wheelchair access on nearly every stop and trip. Accessibility here measures what the feed publishes, not whether a stop is physically usable. How the conformance mark works.

Can riders use it?

Checks beyond structural validation: places where the feed is valid but a rider still could not travel.

  • 4650 of 30089 boardable stops are never served by any trip. Riders see these stops in apps and on the map but can never catch anything there, which erodes trust in the data. Remove stops no route serves, or add the trips that should call at them.

These do not change the grade. They catch trips with no rideable leg and stops no trip serves, the kind of gap a trip planner trips over.

Clears the Google and Apple Maps four-week coverage bar. This feed has 69 days of service ahead, clearing the four-week (28-day) window Maps asks for. No validator errors either, so riders keep seeing this agency in their trip planners; warnings lower the grade here but do not remove a feed from Maps.

How this agency maps to the standards

The scorecard is a data-quality lens, not a compliance determination. Its universal references describe good GTFS and useful rider information. Useful references here are GTFS Schedule Best Practices, GTFS-Realtime Best Practices, MobilityData grading scheme, Google Transit publication guidance. Read the full standards crosswalk.

Correctness 34 / 100
GTFS Schedule best practices, checked by the MobilityData validator. MobilityData grading covers stop locations, route names, and colors. Google Transit requires a feed to pass validation for publication.
Freshness 100 / 100
GTFS Schedule best practices call for a dataset that stays current. An expired calendar can remove service from Google Transit and other rider trip planners.
Rider experience 50 / 100
GTFS Best Practices for rider-facing fields. MobilityData grading covers stop names and headsigns.
Realtime quality Not yet published
GTFS-Realtime best practices: a stable URL, high uptime, and frequent updates.

Part of the Belgium portfolio: the same scorecards for every feed we track in that group, on one free page.

Show your grade

Put this badge on your agency site or feed README. It updates after each completed scoring check, shows the date of that check, and links back to this scorecard. When there is no current score it says so instead of showing an old one.

De Lijn: GTFS feed quality grade F, 55.5 of 100, checked 2026-10-20. GTFS Scorecard.

Prefer a shields.io style? Point a dynamic endpoint badge at the published badge.json.

Cite this record

This page updates on every check. The record below does not: it is the dated file this grade came from, published at https://gtfsscorecard.org/data/artifacts/de-lijn/2026-10-20.json and never overwritten, pinning the grade, category scores, rubric version, validator version, reader archive profile, and the scored feed's sha256 as they stood on 2026-10-20. Use it in a board packet, a regulatory filing, or a research citation instead of linking the live page, whose content will differ on your next visit.

Citing the tool itself rather than one agency's record? Use the repo's CITATION.cff.