← All agencies

Feed status · checked 2026-07-23

Belgrade Public Transport

Based on the feed this agency publishes

Service mode Tram + Bus + Trolleybus

80.9 / 100

First scorecard for this agency

Catalogued in Beograd, Serbia.

Covers 161 daysAccessibility gapsRealtime not yet published

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.2, validator 8.0.1.

Measured 3 of 4 score categories from the agency's own feed.

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 agency's own URL.

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

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

3266 of 3266 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.

⏱ A column in stops.txt; your scheduling software likely has it.worth about +25 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

87474 of 87474 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.

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

Fix 03

Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE').Likely your export tool

Some rider-facing names are in ALL CAPS or all lowercase. ALL-CAPS stop and headsign names are harder to read in apps and are read awkwardly by screen readers.

⏱ Often a bulk fix in your scheduling software.worth about +8 points in its category

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. 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

    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. 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

    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. Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). · Read the fix guide

    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 161 days.
Published accessibility data
Accessibility information is stated for 0% of stops and 0% of trips. This measures published data, not whether stops or vehicles are physically usable.
Fare information
Fare information is published using GTFS Fares v1.
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

Correctness85.0 / 100

The MobilityData validator flagged 4 kinds of issue across 176 instances (0 error, 170 warning, 6 informational).

Freshness100.0 / 100

Service data covers the next 161 days.

Rider experience59.9 / 100

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

Accessibility0 / 100

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

2 accessibility depth signals

  • 201 route badge(s) pair a color and text color below the WCAG 4.5:1 contrast bar (501, E2, E6, 63, 105L, 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.

  • 286 stop name(s) use abbreviations or symbols a screen reader may mispronounce, with no spoken form set ("Dorćol /Kneginje Ljubice/", "Dorćol /Kneginje Ljubice/", "Bežanijska kosa /Grčka/", 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.

FaresLegacy fares

Fares are applied to trips.

Realtime qualityNot yet measured

Not scored 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.

Skip to route and stop data

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

  • 2 (red)
  • 5 (red)
  • 6 (red)
  • 10 (red)
  • 11 (red)
  • 12 (red)
  • 13 (red)
  • 14 (red)
  • 15 (teal)
  • 16 (teal)
  • 17 (teal)
  • 18 (teal)
  • 19 (orange)
  • 20 (teal)
  • 22 (orange)
  • 23 (teal)
  • 24 (teal)
  • 25 (teal)
  • 26 (teal)
  • 27 (teal)
  • 28 (orange)
  • 29 (orange)
  • 30 (teal)
  • 31 (teal)
  • 32 (teal)
  • 33 (teal)
  • 34 (teal)
  • 35 (teal)
  • 36 (teal)
  • 37 (teal)
  • 38 (teal)
  • 39 (teal)
  • 40 (orange)
  • 41 (orange)
  • 42 (teal)
  • 43 (teal)
  • 44 (teal)
  • 45 (teal)
  • 46 (teal)
  • 47 (teal)
  • 48 (teal)
  • 49 (teal)
  • 50 (teal)
  • 51 (teal)
  • 52 (teal)
  • 53 (teal)
  • 54 (teal)
  • 55 (teal)
  • 56 (teal)
  • 57 (teal)
  • 58 (teal)
  • 59 (teal)
  • 60 (teal)
  • 63 (teal)
  • 64 (teal)
  • 65 (teal)
  • 66 (teal)
  • 67 (teal)
  • 68 (teal)
  • 70 (teal)
  • 71 (teal)
  • 72 (teal)
  • 73 (teal)
  • 74 (teal)
  • 75 (teal)
  • 76 (teal)
  • 77 (teal)
  • 78 (teal)
  • 79 (teal)
  • 81 (teal)
  • 82 (teal)
  • 83 (teal)
  • 84 (teal)
  • 85 (teal)
  • 87 (teal)
  • 88 (teal)
  • 89 (teal)
  • 91 (teal)
  • 92 (teal)
  • 94 (teal)
  • 95 (teal)
  • 96 (teal)
  • 101 (teal)
  • 102 (teal)
  • 103 (teal)
  • 104 (teal)
  • 105 (teal)
  • 106 (teal)
  • 107 (teal)
  • 108 (teal)
  • 109 (teal)
  • 110 (teal)
  • 111 (teal)
  • 112 (teal)
  • 202 (teal)
  • 302 (teal)
  • 303 (teal)
  • 304 (teal)
  • 305 (teal)
  • 306 (teal)
  • 307 (teal)
  • 308 (teal)
  • 309 (teal)
  • 310 (teal)
  • 311 (teal)
  • 312 (teal)
  • 401 (teal)
  • 402 (teal)
  • 403 (teal)
  • 404 (teal)
  • 405 (teal)
  • 406 (teal)
  • 407 (teal)
  • 408 (teal)
  • 409 (teal)
  • 501 (teal)
  • 502 (teal)
  • 503 (teal)
  • 504 (teal)
  • 506 (teal)
  • 507 (teal)
  • 511 (teal)
  • 512 (teal)
  • 513 (teal)
  • 521 (teal)
  • 531 (teal)
  • 532 (teal)
  • 533 (teal)
  • 534 (teal)
  • 551 (teal)
  • 553 (teal)
  • 600 (teal)
  • 601 (teal)
  • 602 (teal)
  • 603 (teal)
  • 604 (teal)
  • 605 (teal)
  • 606 (teal)
  • 607 (teal)
  • 610 (teal)
  • 611 (teal)
  • 612 (teal)
  • 613 (teal)
  • 700 (teal)
  • 702 (teal)
  • 703 (teal)
  • 704 (teal)
  • 705 (teal)
  • 706 (teal)
  • 707 (teal)
  • 708 (teal)
  • 709 (teal)
  • 711 (teal)
  • 522 (teal)
  • 102P (teal)
  • 44a (teal)
  • 91a (teal)
  • 102a (teal)
  • 107a (teal)
  • 302a (teal)
  • 305a (teal)
  • 306a (teal)
  • 401a (teal)
  • 521a (teal)
  • 531a (teal)
  • 532a (teal)
  • 102b (teal)
  • 302b (teal)
  • 306b (teal)
  • 306v (teal)
  • 3A (teal)
  • 21A (teal)
  • 25P (teal)
  • 27E (teal)
  • 32E (teal)
  • 38L (teal)
  • 56L (teal)
  • 81L (teal)
  • 87A (teal)
  • 105L (teal)
  • 309L (teal)
  • 405L (teal)
  • 505 (teal)
  • 610e (teal)
  • 706E (teal)
  • 2L (red)
  • 7L (red)
  • 9A (teal)
  • 610ea (teal)
  • 9L (red)
  • 26L (teal)
  • 60L (teal)
  • 406L (teal)
  • 407L (teal)
  • 2A (teal)
  • EKO1 (teal)
  • EKO2 (teal)
  • 15N (blue)
  • 18N (blue)
  • 26N (blue)
  • 27N (blue)
  • 29N (blue)
  • 31N (blue)
  • 32N (blue)
  • 33N (blue)
  • 37N (blue)
  • 47N (blue)
  • 51N (blue)
  • 56N (blue)
  • 72N (blue)
  • 95N (blue)
  • 101N (blue)
  • 105N (blue)
  • 202N (blue)
  • 302N (blue)
  • 304N (blue)
  • 307N (blue)
  • 401N (blue)
  • 493N (blue)
  • 511N (blue)
  • 581N (blue)
  • 601N (blue)
  • 603N (blue)
  • 706N (blue)
  • 707N (blue)
  • 860N (blue)
  • 101Na (blue)
  • 301Na (blue)
  • 304Na (blue)
  • 307Na (blue)
  • 511Na (blue)
  • 601Na (blue)
  • 603Na (blue)
  • 47Na (blue)
  • 101Nb (blue)
  • 304Nb (blue)
  • 511Nb (blue)
  • E2 (green)
  • E6 (green)
  • E9 (green)
  • A1 (green)
Routes in Belgrade Public Transport's feed
RouteTypeLine color
2 Pristanište - Vukov spomenik - PristaništeTram / light railred
5 Kalemegdan /Donji grad/ - UstaničkaTram / light railred
6 Tašmajdan - UstaničkaTram / light railred
10 Kalemegdan /Donji grad/ - BanjicaTram / light railred
11 Kalemegdan /Donji grad/ - Blok 45Tram / light railred
12 Omladinski stadion - Banovo brdoTram / light railred
13 Banovo brdo - Blok 45Tram / light railred
14 Ustanička - BanjicaTram / light railred
15 Zemun /Novi grad/ - Zeleni venac - Zemun /Novi grad/Busteal
16 Karaburma 2 - Novi Beograd /Paviljoni/Busteal
17 Konjarnik - Zemun /Gornji grad/Busteal
18 Medaković 3 - Zemun /Bačka/Busteal
19 Trg Slavija - KonjarnikTrolleybusorange
20 Mirijevo 3 - Medaković 3Busteal
22 Trg Slavija - KruševačkaTrolleybusorange
23 Karaburma 2 - VidikovacBusteal
24 Dorćol /SRC Milan Gale Muškatirović/ - NeimarBusteal
25 Karaburma 2 - Kumodraž 2Busteal
26 Dorćol /Dunavska/ - Braće JerkovićBusteal
27 Trg Republike - Mirijevo 3Busteal
28 Studentski Trg - ZvezdaraTrolleybusorange
29 Studentski Trg - Medaković 3Trolleybusorange
30 Birčaninova - Medaković 2Busteal
31 Studentski trg - KonjarnikBusteal
32 Vukov spomenik - VišnjicaBusteal
33 Pančevački most /Železnička stanica/ - KumodražBusteal
34 Topčidersko brdo (Senjak) - Pere VelimirovićaBusteal
35 Novi Beograd /Blok 20/ - Lešće /Groblje/Busteal
36 Železnička stanica Beograd Centar - Trg Slavija - Železnička stanica Beograd CentarBusteal
37 Pančevački most /Železnička stanica/ - KneževacBusteal
38 Šumice - Pogon Kosmaj - Veliki Mokri lugBusteal
39 Slavija /Birčanova/ - Kumodraž 1Busteal
40 Zvezdara - Banjica 2Trolleybusorange
41 Studentski Trg - Banjica 2Trolleybusorange
42 Slavija /Birčanova/ - Banjica /VMA/ - Petlovo brdoBusteal
43 Trg Republike - KotežBusteal
44 Topčidersko brdo /Senjak/ - Viline vode - Dunav stanicaBusteal
45 Blok 44 - Zemun /Novi grad/Busteal
46 Beograd na vodi - MirijevoBusteal
47 Slavija /Birčanova/ - Resnik /Železnička stanica/Busteal
48 Železnička stanica Pančevački most - Miljakovac 3Busteal
49 Banovo brdo - Naselje /Stepa Stepanović/Busteal
50 Ustanička - Banovo brdoBusteal
51 Beograd na vodi - Bele VodeBusteal
52 Zeleni Venac - Cerak VinogradiBusteal
53 Zeleni Venac - VidikovacBusteal
54 Miljakovac 1 - MZ MakišBusteal
55 Zvezdara - Stari ŽeleznikBusteal
56 Zeleni Venac - Petlovo brdoBusteal
57 Banovo Brdo - Naselje GOLF - Banovo BrdoBusteal
58 Pančevački most /Železnička stanica/ - Novi ŽeleznikBusteal
59 Slavija /Birčanova/ - Petlovo brdoBusteal
60 Zeleni Venac - Novi Beograd /Toplana/Busteal
63 Ustanička - Lešće /groblje/Busteal
64 Zvezdara (Zeleno brdo) - ŠumiceBusteal
65 Zvezdara 2 - Novo Bežanijsko GrobljeBusteal
66 Vukov spomenik - Naučno Tehnološki park ZvezdaraBusteal
67 Novi Beograd (Blok 70A) - Zeleni venac - Novi Beograd (Blok 70A)Busteal
68 Novi Beograd (Blok 70A) - Zeleni venac - Novi Beograd (Blok 70A)Busteal
70 Bežanijska kosa - IkeaBusteal
71 Zeleni Venac - Bežanija /Ledine/Busteal
72 Zeleni Venac - Aerodrom Nikola TeslaBusteal
73 Novi Beograd/Blok 45/ - Batajnica /Železnička Stanica/Busteal
74 Bežanijska kosa - Mirijevo 3Busteal
75 Zeleni Venac - Bežanijska KosaBusteal
76 Novi Beograd /Blok 70A/ - Bežanijska Kosa/Bolnica/Busteal
77 Zvezdara - Bežanijska Kosa /Bolnica/Busteal
78 Banjica 2 - Zemun /Novi Grad/Busteal
79 Dorćol /SRC Milan Gale Muškatirović/ - Mirijevo 4Busteal
81 Novi Beograd/Paviljoni/ - Altina1Busteal
82 Zemun /Kej oslobođenja/ - Bežanijsko groblje - Blok 44Busteal
83 Crveni Krst - Zemun /Bačka/Busteal
84 Nova Galenika -Zeleni venac - Nova GalenikaBusteal
85 Banovo brdo - Borča 3Busteal
87 Čukarička padina - Banovo Brdo - Čukarička PadinaBusteal
88 Zemun /Kej Oslobođenja/ - Novi ŽeleznikBusteal
89 Vidikovac - Čukarička padina - Novi Beograd /Blok 72/Busteal
91 Beograd na vodi - Ostružnica /Novo Naselje/Busteal
92 Beograd na vodi - Ostružnica /Karaula/Busteal
94 Novi Beograd /Blok 45/ - Resnik /Edvarda Griga/Busteal
95 Novi Beograd /Blok 45/ - Borča 3Busteal
96 ŽC Pančevački most - Borča 3Busteal
101 Omladinski stadion - Padinska skelaBusteal
102 Padinska skela - Vrbovski /Široka greda/Busteal
103 Zemun (Bačka) - Padinska skelaBusteal
104 Omladinski Stadion - CrvenkaBusteal
105 Omladinski Stadion - Ovča /Železnička Stanica/Busteal
106 Omladinski Stadion - Jabučki RitBusteal
107 Padinska skela - DunavacBusteal
108 Omladinski Stadion - Reva /Duboka Bara/Busteal
109 Padinska skela - Stajalište /Put za Dunavac/Busteal
110 Padinska skela - Obala TamišaBusteal
111 Omladinski stadion - SC KovilovoBusteal
112 Zemun (Bačka) - Reva (Duboka bara)Busteal
202 Omladinski Stadion - Veliko SeloBusteal
302 Ustanička - BegaljicaBusteal
303 Ustanička - Zaklopača - VrčinBusteal
304 Ustanička - RitopekBusteal
305 Ustanička - BolečBusteal
306 Ustanička - LeštaneBusteal
307 Ustanička - VinčaBusteal
308 Šumice - Veliki Mokri lugBusteal
309 Zvezdara /Pijaca/ - KaluđericaBusteal
310 Šumice - Mali mokri lugBusteal
311 Ustanička - Leštane /Ravan/Busteal
312 MZ Veliki mokri lug - Kumodraž - MZ Veliki mokri lugBusteal
401 Slavija /Birčaninova/ - PinosavaBusteal
402 Slavija /Birčaninova/ - Beli potokBusteal
403 Voždovac - ZuceBusteal
404 Bela reka - Trešnja /Okretnica/Busteal
405 Voždovac - Glumčevo BrdoBusteal
406 Voždovac - InstitutBusteal
407 Voždovac - Bela RekaBusteal
408 Voždovac - Ralja /Drumine/Busteal
409 Voždovac - Jajinci - Ulica Ruža - VoždovacBusteal
501 Petlovo brdo - Staro KijevoBusteal
502 Miljakovac 1 - Orlovača /Groblje/Busteal
503 Voždovac - Resnik /Železnička Stanica/Busteal
504 Vidikovac - Resnik /Železnička Stanica/Busteal
506 Miljakovac 1 - Resnik /Edvarda Griga/ - Resnik /Patin Majdan/Busteal
507 Kneževac - Rušanj /Drobnjački kraj/Busteal
511 Beograd na vodi - SremčicaBusteal
512 Banovo Brdo - Sremčica /Naselje Gorica/Busteal
513 Sremčica /Naselje gorica/ - Velika Moštanica /Živojina Tabakovića/Busteal
521 Vidikovac - Železnik /Taraiš/Busteal
531 Banovo Brdo - Rušanj /13. septembra/Busteal
532 Banovo Brdo - Rušanj /Oslobođenja/Busteal
533 Banovo Brdo - Orlovača /Groblje/Busteal
534 Cerak Vinogradi - Ripanj /groblje/Busteal
551 Beograd na vodi - SremčicaBusteal
553 Beograd na vodi - RuckaBusteal
600 Železnička stanica Beograd (centar) - Aerodrom Nikola TeslaBusteal
601 Beograd na vodi - SurčinBusteal
602 Novi Beograd /Blok 44/ - SRC SurčinBusteal
603 Bežanija/Ledine/ - UgrinovciBusteal
604 Novi Beograd /Blok 45/ - Preka kaldrmaBusteal
605 Novi Beograd /Blok 45/ - Boljevci - ProgarBusteal
606 Surčin - GrmovacBusteal
607 Banovo Brdo - Aerodrom Nikola TeslaBusteal
610 Zemun /Kej oslobođenja/ - JakovoBusteal
611 Zemun /Kej Oslobođenja/ - DobanovciBusteal
612 Novi Beograd /Paviljoni/ - Kvantaška pijaca - Nova GalenikaBusteal
613 Novi Beograd /Paviljoni/ - Naselje RadiofarBusteal
700 Batajnica /Železnička Stanica/ - Batajnica /Železnička Stanica/Busteal
702 Batajnica /Železnička Stanica/ - Busije /Crkva/Busteal
703 Zemun /Kej oslobođenja/ - Batajnica /Železnička stanica/ - UgrinovciBusteal
704 Zeleni Venac - Zemun PoljeBusteal
705 Zemun /Kej Oslobođenja/ - 13 MajBusteal
706 Zeleni Venac - BatajnicaBusteal
707 Zeleni Venac - Zemun PoljeBusteal
708 Novi Beograd /Blok 70A/ - Zemun PoljeBusteal
709 Zemun /Novi grad/ - TC Zmaj - Zemun poljeBusteal
711 Novi Beograd/Paviljoni/ - UgrinovciBusteal
522 Novi Železnik - Milorada Ćirića - Novi ŽeleznikBusteal
102P Padinska skela - PrelivBusteal
44a Topčideresko brdo /Senjak/ - Luka Beograd - Viline vode - ŽS Dunav StanicaBusteal
91a Ostružnica /česma/ - Ostružnica /Novo naselje/ - Beograd na vodiBusteal
102a Vrbovski - Padinska skelaBusteal
107a Padinska skela - Besni fok - DunavacBusteal
302a Ustanička - Zaklopača - BegaljicaBusteal
305a Boleč - Ritopek - UstaničkaBusteal
306a Ustanička - Leštane - Bubanj potokBusteal
401a Trg Slavija /Birčaninova/ - Beli potok - PinosavaBusteal
521a Vidikovac - Bora Kečić - Železnik /Taraiš/Busteal
531a Banovo brdo - Orlovača /Groblje/ - Rušanj /13. septembar/Busteal
532a Banovo brdo - Rušanj /Oslobođenja/Busteal
102b Padinska skela - Široka gredaBusteal
302b Ustanička - Boleč - BegaljicaBusteal
306b Ustanička - Vinča - LeštaneBusteal
306v Ustanička - Vinča - LeštaneBusteal
3A Beograd na vodi - KneževacBusteal
21A Trg Slavija - Učiteljsko naseljeBusteal
25P Mirijevo 4 - Kumodraž /Stepina kuća/Busteal
27E Novi Beograd /Blok 20/ - Mirijevo 4Busteal
32E Trg Republike - VišnjicaBusteal
38L Pogon Kosmaj - Železnička stanica /Beograd Centar/Busteal
56L Zeleni Venac - Čukarička PadinaBusteal
81L Novi Beograd /Paviljoni/ - Altina1Busteal
87A Čukarička padina - Banovo brdo - Čukarička padinaBusteal
105L Zemun (Bačka) - Ovča (železnička stanica)Busteal
309L Kaluđerica (Put za Institut) - Kaluđerica (Višnjićeva)Busteal
405L Glumčevo brdo - Nenadovac - Karalula - Barajevo - Karaula - Glumčevo brdoBusteal
505 Miljakovac 1 - Miljakovačke livadeBusteal
610e Novi Beograd /Blok 70A/ - JakovoBusteal
706E Zemun /Kej Oslobođenja/ - Aerodrom BatajnicaBusteal
2L Pristanište - Trg Slavija - Gospodarska mehanaTram / light railred
7L Ustanička - Blok 45Tram / light railred
9A Blok 45 – Trg Slavija – Blok 45Busteal
610ea Novi Beograd /Blok 70A/ - Petlja Jakovo - JakovoBusteal
9L Banjica - Blok 45Tram / light railred
26L Medaković 3 - Vojvode Vlahovića /Terminus/Busteal
60L Zeleni Venac - Novi Beograd /Toplana/Busteal
406L Voždovac - Zemljoradnička - Beli potok /Igralište/Busteal
407L Bela reka - Stara Lipovica - Trebež /okretnica/Busteal
2A Dorcol SRC Milan Gale Muskatirovic - Beograd na vodi - Dorcol SRC Milan Gale MuskatirovicBusteal
EKO1 Vukov spomenik - Naselje BelvilBusteal
EKO2 Dorćol /SRC Milan Gale Muškatirović/ - Beograd na vodiBusteal
15N Trg Republike - Zemun /Novi Grad/Busblue
18N Medaković 3 - Zemun (Bačka)Busblue
26N Dorćol/Dunavska/ - Braće JerkovićBusblue
27N Trg Republike - Mirijevo 3Busblue
29N Studentski Trg - Medaković 3Busblue
31N Studentski Trg - KonjarnikBusblue
32N Trg Republike - VišnjicaBusblue
33N Studentski Trg - KumodražBusblue
37N Trg Republike - KneževacBusblue
47N Trg Republike - Resnik /Železnička Stanica/Busblue
51N Trg Republike - Bele VodeBusblue
56N Trg Republike - Petlovo brdo - RušanjBusblue
72N Trg republike - Aerodrom Nikola TeslaBusblue
95N Novi Beograd (Blok 45) - Trg republike - Borča 3Busblue
101N Trg Republike - Padinska SkelaBusblue
105N Studentski trg - Kotež - OvčaBusblue
202N Trg Republike - Veliko SeloBusblue
302N Studentski trg - Vrčin - Zaklopača - Grocka - BegaljicaBusblue
304N Trg Republike - RitopekBusblue
307N Studentski trg - Kaluđerica -VinčaBusblue
401N Dorćol/Dunavska/ - PinosavaBusblue
493N BAS - Trg Slavija - Mladenovac - SopotBusblue
511N Studentski trg - SremčicaBusblue
581N Trg Slavija - LazarevacBusblue
601N Trg Slavija - DobanovciBusblue
603N Trg Republike - UgrinovciBusblue
706N Trg Republike - BatajnicaBusblue
707N Studentski trg - Altina - Zemun poljeBusblue
860N Trg Slavija - ObrenovacBusblue
101Na Trg Republike - Padinska SkelaBusblue
301Na Kaluđerica - GrockaBusblue
304Na Trg Republike - KaluđericeBusblue
307Na Studentski trg - Kaluđerica - VinčaBusblue
511Na Studentski trg - SremčicaBusblue
601Na GO Novi Beograd - SurčinBusblue
603Na Trg Republike - UgrinovciBusblue
47Na Trg Slavija - Resnik /Železnička Stanica/Busblue
101Nb Trg Republike - Borča 3Busblue
304Nb Trg Republike - RitopekBusblue
511Nb Studentski trg - Novi ŽeleznikBusblue
E2 Petlovo brdo - Trg republikeBusgreen
E6 Mirijevo 4 - Novi Beograd /Blok 45/Busgreen
E9 Kumodraž - Studentski TrgBusgreen
A1 Trg Slavija - Aerodrom Nikola TeslaBusgreen

This feed has 3266 stops.

List every stop
  • Kalemegdan (Donji grad)
  • Tadeuša Košćuška
  • Tadeuša Košćuška
  • Kalemegdan
  • Kalemegdan
  • Pristanište Ka Bloku 45
  • Pristanište
  • Brankov most
  • Brankov most
  • Ekonomski fakultet
  • Savski trg
  • Savski trg
  • Palata pravde
  • Palata pravde
  • Mostar
  • Mostar
  • Sajam
  • Sajam
  • Ruska
  • Ruska
  • Gospodarska mehana
  • Gospodarska mehana
  • Dorćol /Kneginje Ljubice/
  • Dorćol /Kneginje Ljubice/
  • Pijaca Skadarlija
  • Pijaca Skadarlija
  • Bulevar despota Stefana
  • Bulevar despota Stefana
  • Takovska
  • Takovska
  • Bežanijska kosa /Grčka/
  • Palilulska pijaca
  • Mašinski fakultet
  • Vukov spomenik
  • Vukov spomenik
  • Pravni fakultet
  • Pravni fakultet
  • Trg Slavija /Nemanjina/
  • Trg Slavija /Nemanjina/
  • Savski trg
  • Savski trg
  • Braće Baruh
  • Braće Baruh
  • Kralja Petra
  • Kralja Petra
  • Dinarska
  • Omladinski stadion
  • Vatrogasna komanda
  • Vatrogasna komanda
  • Novo groblje
  • Novo groblje
  • VMC Karaburma
  • Studentski trg
  • Gradska bolnica
  • Tašmajdan /park/
  • Mašinski fakultet
  • Vukov spomenik /Bul.kralja Aleksa./
  • GO Zvezdara
  • GO Zvezdara
  • Pijaca Đeram
  • Pijaca Đeram
  • Batutova
  • Pop Stojanova
  • Pop Stojanova
  • Lion
  • Lion
  • Batutova
  • Batutova
  • Pijaca Zvezdara
  • Pijaca Zvezdara
  • dr Velizara Kosanovića
  • dr Velizara Kosanovića
  • Mite Ružića
  • Mite Ružića
  • Koste Trifkovića
  • Koste Trifkovića
  • Ustanička
  • Ustanička
  • Vukov spomenik /Bul.kralja Aleksa./
  • Pravni fakultet
  • Banovo brdo
  • Tašmajdan
  • Tašmajdan
  • RK Beograđanka
  • RK Beograđanka
  • Staro sajmište
  • Blok 21
  • Blok 21
  • Sava centar
  • Sava centar
  • Blok 23
  • Blok 23
  • Železnička stanica Novi Beograd
  • Železnička stanica Novi Beograd
  • Beogradska autobuska stanica
  • Beogradska autobuska stanica
  • Agostina Neta
  • Agostina Neta
  • Omladinskih brigada
  • Omladinskih brigada
  • Blok 70
  • Blok 70
  • Gandijeva
  • Gandijeva
  • Nehruova
  • Nehruova
  • OŠ Branko Radičević
  • OŠ Branko Radičević
  • dr Ivana Ribara
  • dr Ivana Ribara
  • Blok 45
  • Blok 45
  • Trg Slavija /Bulevar oslobođenja/
  • Trg Slavija /Bulevar oslobođenja/
  • Karađorđev park
  • Karađorđev park
  • Franše DEperea
  • Franše DEperea
  • Zvečanska
  • Trg oslobođenja
  • Trg oslobođenja
  • VMC Karaburma
  • Bože Jankovića
  • Kralja Vladimira
  • Kralja Vladimira
  • Vitanovačka
  • Vitanovačka
  • Petrovačka
  • Servisi
  • Nikšićka
  • Nikšićka
  • Visoka škola elektrotehnike
  • Visoka škola elektrotehnike
  • Saobraćajni fakultet
  • Saobraćajni fakultet
  • Voždovac
  • Banjica
  • Banjica
  • Vračarska
  • Vračarska
  • Voždovac
  • Voždovac
  • Pravni fakultet
  • Hipodrom
  • Hipodrom
  • Šumarski fakultet
  • Šumarski fakultet
  • Škola Josif Pančić
  • Škola Josif Pančić
  • Dom zdravlja
  • Dom zdravlja
  • Kijevska
  • Kijevska
  • Trebevićka
  • Trebevićka
  • Banovo brdo
  • Park "Tašmajdan"
  • Omladinskih brigada 1
  • Beogradska arena /antifašističke borbe/
  • Trg Republike
  • Trg Republike
  • Terazije
  • Terazije
  • RK Beograđanka
  • RK Beograđanka
  • Trg Slavija
  • Trg Slavija
  • Katanićeva
  • Novopazarska
  • Mačvanska
  • Katanićeva
  • Vojvode Dragomira
  • Vojvode Dragomira
  • Crveni krst
  • Crveni krst
  • Bregalnička
  • Bregalnička
  • Velimira Todorovića
  • Velimira Todorovića
  • Škola Vojislav Ilić
  • Škola Vojislav Ilić
  • Rimska
  • Rimska
  • Šumice
  • Šumice
  • Petrinjska
  • Petrinjska
  • Konjarnik
  • Konjarnik
  • Rimska
  • Rimska
  • Peđe Milosavljevića
  • dr Velizara Kosanovića
  • Marčanska
  • Učiteljsko naselje
  • Bačvanska
  • Bačvanska
  • Grčića Milenka
  • Grčića Milenka
  • Kruševačka
  • Kruševačka
  • Crveni krst
  • 13. Maj /ulaz/
  • Beogradska arena /španskih boraca/
  • Makedonska
  • 27. Marta
  • 27. Marta
  • Jaše Prodanovića
  • Jaše Prodanovića
  • Zdravka Čelara
  • Zdravka Čelara
  • Podvožnjak
  • Podvožnjak
  • Marka Oreškovića
  • Marka Oreškovića
  • Šabačka
  • Živojina Žujovića
  • Čegarska
  • Gradska bolnica
  • Gradska bolnica
  • Miloša Jankovića
  • Miloša Jankovića
  • Zvezdara
  • Zvezdara
  • Šumice
  • Vladimira Tomanovića
  • Medaković 2
  • Medaković 2
  • Svetozara Radojčića
  • Svetozara Radojčića
  • Medaković 3
  • Medaković 3
  • Glavna pošta
  • Glavna pošta
  • Admirala Geprata
  • London
  • Birčaninova
  • Miloša Pocerca
  • Višegradska
  • Železnička stanica BGD centar
  • Ortopedski zavod
  • Muzej Jugoslavije
  • Muzej Jugoslavije
  • Stadion Partizan
  • Stadion Partizan
  • Bolnica Dragiša Mišović
  • Bolnica Dragiša Mišović
  • Paje Adamova
  • Paje Adamova
  • Banjica
  • and 3016 more (see the full list on the map or in the GeoJSON)

Over time

This is the first scorecard for this agency. A trend and a "what changed" summary appear here once it has been checked more than once.

Everything we checked

7 findings, ordered by severity.

Show every finding
  • Warning87474 instances

    87474 of 87474 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.)

    Validator rule: scorecard_wheelchair_accessible_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning3266 instances

    3266 of 3266 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.)

    Validator rule: scorecard_wheelchair_boarding_unknown · Read the fix guide · See GTFS Schedule reference (opens the GTFS Schedule reference on an external site)

  • Warning768 instances

    768 of 87474 trips have no headsign.

    Riders at the stop can't tell which direction a transit vehicle is going.

    Fix: Populate trip_headsign to match what the transit vehicle displays. (Usually a bulk edit in your scheduling software.)

    Validator rule: scorecard_missing_headsigns · Read the fix guide · See GTFS Best Practices (opens GTFS Best Practices on an external site)

  • Warning152 instances

    Some rider-facing names are in ALL CAPS or all lowercase.

    ALL-CAPS stop and headsign names are harder to read in apps and are read awkwardly by screen readers.

    Fix: Use mixed case for stop names and headsigns (e.g. 'Main St & 2nd Ave', not 'MAIN ST & 2ND AVE'). (Often a bulk fix in your scheduling software.)

    Validator rule: mixed_case_recommended_field · Read the fix guide · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Warning18 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.)

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

  • Info3 instances

    Service extends far in the future (flagged by the MobilityData validator).

    See the linked rule for what this affects.

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

    Validator rule: service_extends_far_in_the_future · See MobilityData GTFS Validator rules (opens the validator rules on an external site)

  • Info3 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.)

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

Conformance mark Not yet

This feed is close to the conformance mark. States wheelchair access on 0% 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 161 days.
Accessible Not yet
States wheelchair access on 0% 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.

  • 18 of 3266 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 1256 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 85 / 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 60 / 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.

Show your grade

Put a badge on your agency site or feed README. It updates after each completed scoring check and links back to this scorecard.

Belgrade Public Transport GTFS data quality grade: B

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/belgrade-public-transport/2026-07-23.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-07-23. 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.