Show Real-Time Vehicle Crowding in Transit

Transit agencies know: keeping tabs on the level of occupancy of your vehicles is useful for operations. What are the busiest lines? What time of the day? Here's the thing: it's also useful for your riders. Are there any seats left? Standing room only? Should I wait for the next bus?

To make life easier for your riders during the COVID-19 pandemic and beyond, Transit now supports real-time vehicle crowding information.

Dive deeper with our expert panel

Riders want to know crowding information in real time before they feel comfortable hopping aboard. So we convened app, agency, hardware and data experts for a casual Q&A to explore what app users expect, how agencies are facing the challenge, the info APC passenger counters can provide, and where the industry's real-time data standard goes from here.

On this page: 

About vehicle crowding levels 

When users tap their line in the app, they see a map showing the real-time locations of transit vehicles along their route.

When the data is available, the vehicle icon shows not just the last update of the vehicle's location, but also its current crowding level.

Show crowding levels with GTFS-rt or another API

The majority of transit agencies that provide crowding information to riders use data from their APC passenger counters (or other similar technology) located at the entrances of vehicles.

If your vehicles have APCs, the data can be formatted by your data provider and added to your real-time feed (such as GTFS-rt or another API) for use in Transit.


The crowding levels shown in Transit relate to categories in the GTFS-rt specification.

If you add this information to your GTFS-rt feed, it will automatically display in Transit and users will see real-time crowding information using the categories shown above.

Some notes for the data nerds out there:

  • CRUSHED_STANDING_ROOM_ONLY in the GTFS-rt specification displays as "Bus is very crowded" in the app
  • Not all agencies use a 100 percent scale to determine crowding levels. Some agencies use fewer values to display crowding information so it's more relevant to riders concerned with their ability to physically distance while onboard. If your crowding information is different, we're happy to adjust so riders get the most accurate information. Reach out to and we can chat.

Other APIs

Our data team can integrate crowding information from other real-time APIs. For more information, reach out to

Need help?

Interested in adding crowding information for your agency in Transit? Starting the process of using data from your APC passenger counters to update your real-time feed? You'll need to work with your APC provider. We're happy to help; just reach out to for more info.

Still need help? Contact Us Contact Us