A bulk way to retrieve all bus stop data with stop letter

I would like to know if there has a way to retrieve all bus stop detail with stop letter.

I have tried to extract from the following data feed but there is no stop letter in it.


I can see that the stopLetter field is in StopPoint API (Gets a list of StopPoints filtered by the modes available) in the Unified API. However, the API is pagination and it is not practical to call the API at least 20 times.

Hello and welcome to the forum!

I know some open data users make multiple requests to the paginated Unified API results. But if this is not practical, there are a couple of alternative options:

Countdown API

The point letter can be retrieved from the Countdown API, in the StopPointIndicator field of a Stop array.

Be sure to include StopPointIndicator in your ReturnList, for example:

(Note that the response will be quite large as it contains data about all bus stops in London.)

Please refer to the documentation to see what other fields are available for each bus stop:


Point letters are also included in the National Public Transport Access Nodes (NaPTAN) dataset, which covers the whole of Great Britain:


I hope this helps. Please ask if you have any further questions.

1 Like


Download national stop data - NaPTAN - DfT - it’s column 15 “Indicator” where “StopType”='“BCT”

1 Like

Thank you @LeonByford and @briantist for the information.

I try to compare both data source and build a single source of truth. I extracted stop points from journey-planner-timetables as the main data and find the same stop point in NaPTAN and Countdown API. I found that the stop letter is not consistency or stop point might not exist in Countdown API.

Here are some examples:

AtcoCode stop letter on TFL website Indicator in NaPTAN CSV file StopPointIndicator in Countdown API
490003501W ->W ->W Cannot found in Countdown API
490012419W ->W ->W Cannot found in Countdown API
03700310 K Stop K Cannot found 03700310 but found 3700310 with “K”
490000138C C C Cannot found 490000138C but found 490000138C1 with “C”
150042002100 no stop letter o/s Cannot found in Countdown API
03700090 no stop letter opp Cannot found 03700090 but found 3700090 with null

Please could you let me know which data source should be most up-to-date?

They both should be up-to-date, however the data sources are maintained by different teams so there may be inconsistencies, although we try to keep them in sync as much as possible.

I would just note that where you see an indicator like “->W”, this is referring to the compass direction of the stop. In these cases the physical bus stop does not have a point letter.

1 Like

It is not also worth added “StopAlso=True” to the return list to get ALL the stops, including those that don’t currently have any predictions?


1 Like

Thanks for the correction. I somehow forgot to include that. I have amended my post. :slight_smile:

I also removed the reference to LineID since I’m not sure that’s really compatible with StopAlso.