Note that the https://api.tfl.gov.uk/StopPoint/Mode/Tube API call gives every StopPoint in the database that’s associated with the tube, this includes the point for the overall station (
NaptanMetroStation), as well as associated StopPoints for the station concourse(s) (
NaptanMetroAccessArea), station entrances (
NaptanMetroEntrance), and individual platforms (
Each place inside of the station is related to the station’s primary StopPoint using the
stationNaptan field, conversely, the primary StopPoint will list each of its child StopPoints in its
In the case of platforms, the lines they serve will be present in the
For example, Bond Street’s primary StopPoint is 940GZZLUBND.
It has child StopPoints for the station concourse (9400ZZLUBND), its 7 entrances (4900ZZLUBND1-7), and 3 platforms (940ZZLUBND1-3).
Full information on how to interpret the Naptan-derived StopPoint data (at least as it is specified nationally) is available here: https://www.gov.uk/government/publications/national-public-transport-access-node-schema
Naptan IDs for entrances appear to start with 490, stations and platforms with 940. This initially confused me when glancing at the data. Naptan ID prefixes represent the region that allocated them, 490 is Greater London, 940 is the national code used by the DfT. These prefixes should thus not be used to determine the stop type.
I’m not sure why Bond Street only has 3 platforms in the database, as opposed to 4 or 2.
The Naptan database has a multi-modal hierarchy of StopPoint associations, so you’ll see bus stop clusters outside of stations associated with the station itself. (I’ve omitted it from the above explanation for clarity).