FiveM bus stop locations — the full shelter and sign list
A bus driver job is a list of coordinates in the right order, and this is where that list starts. Three shelter models and one standalone sign are placed 49 times along the Los Santos and Blaine County roads. Each row gives the heading, which matters more here than anywhere else: a stop drawn on the wrong side of the road sends the bus into oncoming traffic when the route is generated from the coordinates.
What a server does with these coordinates
- Generating a bus route by sorting stops within one district into a loop.
- Spawning waiting peds at a shelter instead of in the middle of the pavement.
- Checking a player stopped at the stop rather than near it, using the heading to test the approach side.
- Driving a taxi or public transport minigame off real stop positions.
A route from stops in one district
-- Rows filtered to one zone, then ordered into a loop by nearest neighbour.
local function routeFrom(stops)
local route, remaining = { table.remove(stops, 1) }, stops
while #remaining > 0 do
local last, best, bestDist = route[#route], 1, math.huge
for i, s in ipairs(remaining) do
local d = #(vector3(last.x, last.y, last.z) - vector3(s.x, s.y, s.z))
if d < bestDist then best, bestDist = i, d end
end
route[#route + 1] = table.remove(remaining, best)
end
return route
endNearest neighbour is good enough for a bus route and runs instantly on 49 points. Feed it the CSV filtered to one zone and the result is a believable city loop rather than a zigzag across the map.
Where they are densest
Every row below is resolved to the game zone that contains it, so a job can be kept inside one neighbourhood instead of sending players across the island.
Bus stops — every coordinate
Take this table with you
Every table on this page is published as a file as well, so you can ship it inside your own resource or tool instead of scraping it. Free, CORS open, no account and no API key.
| Model | X | Y | Z | Heading | District | vector3 |
|---|---|---|---|---|---|---|
| prop_busstop_04 | -138.92 | -2048.65 | 21.96 | 255 | Banning | vector3(…) |
| prop_busstop_04 | -137.32 | -2042.69 | 21.96 | 255 | Banning | vector3(…) |
| prop_busstop_04 | -135.75 | -2036.83 | 21.96 | 255 | Banning | vector3(…) |
| prop_busstop_04 | -134.15 | -2030.87 | 21.96 | 255 | Banning | vector3(…) |
| prop_busstop_02 | -1170.84 | -1474.19 | 3.38 | 125 | Vespucci Beach | vector3(…) |
| prop_busstop_02 | -525.77 | -264.72 | 34.44 | 202.4 | Burton | vector3(…) |
| prop_busstop_05 | -110.47 | -1685.67 | 28.23 | 49.7 | Chamberlain Hills | vector3(…) |
| prop_busstop_05 | 774.57 | -1755.21 | 28.44 | 174.9 | Cypress Flats | vector3(…) |
| prop_busstop_05 | 879.02 | -1769.79 | 28.92 | 174.9 | Cypress Flats | vector3(…) |
| prop_busstop_04 | -130.26 | -1970.4 | 21.8 | 272 | Davis | vector3(…) |
| prop_busstop_04 | -130.04 | -1976.55 | 21.8 | 272 | Davis | vector3(…) |
| prop_busstop_04 | -129.82 | -1982.59 | 21.8 | 272 | Davis | vector3(…) |
| prop_busstop_04 | -129.61 | -1988.71 | 21.8 | 272 | Davis | vector3(…) |
| prop_busstop_04 | -1528.03 | -463.92 | 34.4 | 31.6 | Del Perro | vector3(…) |
| prop_busstop_04 | -1475.59 | -634.9 | 29.61 | 216.3 | Del Perro | vector3(…) |
| prop_busstop_04 | -1413.17 | -566.96 | 29.38 | 29.2 | Del Perro | vector3(…) |
| prop_busstop_02 | -558.06 | -849.26 | 26.6 | 179 | Little Seoul | vector3(…) |
| prop_busstop_05 | -737.64 | -750.79 | 25.8 | 270 | Little Seoul | vector3(…) |
| prop_busstop_05 | -712.46 | -824.15 | 22.48 | 360 | Little Seoul | vector3(…) |
| prop_busstop_05 | -691.86 | -670.9 | 29.82 | 180 | Little Seoul | vector3(…) |
| prop_busstop_05 | -504.99 | -671.29 | 32.02 | 180.2 | Little Seoul | vector3(…) |
| prop_busstop_05 | 767.88 | -941.63 | 24.63 | 95 | La Mesa | vector3(…) |
| prop_busstop_05 | 785.19 | -1369.46 | 25.55 | 90 | La Mesa | vector3(…) |
| prop_busstop_05 | 788.6 | -776.34 | 25.35 | 270 | La Mesa | vector3(…) |
| prop_busstop_05 | 810.36 | -1352.39 | 25.26 | 270 | La Mesa | vector3(…) |
| prop_busstop_05 | 822.17 | -1638.78 | 29.3 | 85 | La Mesa | vector3(…) |
| prop_busstop_05 | 932.2 | -1749.25 | 30.07 | 357 | La Mesa | vector3(…) |
| prop_busstop_02 | -218.27 | 6175.22 | 30.27 | 224.8 | Paleto Bay | vector3(…) |
| prop_busstop_02 | -148.13 | 6211.1 | 30.31 | 53 | Paleto Bay | vector3(…) |
| prop_bus_stop_sign | -330.5 | 6190.08 | 30.33 | 47.4 | Paleto Bay | vector3(…) |
| prop_busstop_04 | -267.94 | -824.38 | 30.84 | 249.5 | Pillbox Hill | vector3(…) |
| prop_busstop_04 | -250.17 | -887.08 | 29.63 | 160.1 | Pillbox Hill | vector3(…) |
| prop_busstop_04 | -176.15 | -818.5 | 30.12 | 69.5 | Pillbox Hill | vector3(…) |
| prop_busstop_02 | -248.33 | -713.43 | 32.55 | 69.5 | Pillbox Hill | vector3(…) |
| prop_busstop_02 | 115.48 | -781.34 | 30.42 | 340 | Pillbox Hill | vector3(…) |
| prop_busstop_02 | 366.82 | -1786.57 | 28.2 | 230 | Rancho | vector3(…) |
| prop_busstop_05 | 438.58 | -2032.65 | 22.48 | 134.3 | Rancho | vector3(…) |
| prop_busstop_02 | -1419.58 | -89.64 | 51.53 | 21.7 | Richman | vector3(…) |
| prop_busstop_02 | -1168.85 | -398.02 | 34.55 | 188.6 | Rockford Hills | vector3(…) |
| prop_busstop_02 | -931.68 | -119.69 | 36.75 | 26.8 | Rockford Hills | vector3(…) |
| prop_busstop_02 | -697.1 | -1.26 | 37.22 | 21.8 | Rockford Hills | vector3(…) |
| prop_busstop_02 | -680.81 | -379.7 | 33.31 | 336.5 | Rockford Hills | vector3(…) |
| prop_busstop_02 | -643.51 | -137.53 | 36.9 | 118.5 | Rockford Hills | vector3(…) |
| prop_busstop_02 | 257.09 | -1118.58 | 28.34 | 359.7 | Mission Row | vector3(…) |
| prop_busstop_02 | 356.26 | -1067.56 | 28.58 | 180 | Mission Row | vector3(…) |
| prop_busstop_02 | 57.49 | -1540.31 | 28.34 | 230 | Strawberry | vector3(…) |
| prop_busstop_02 | 303.93 | -765.24 | 28.32 | 71.7 | Textile City | vector3(…) |
| prop_busstop_02 | -1215.27 | -1219.59 | 6.62 | 99.9 | Vespucci Canals | vector3(…) |
| prop_busstop_04 | -504.9 | 23.78 | 43.77 | 4.3 | West Vinewood | vector3(…) |
49 placements, in 19 districts. Click any value to copy it; the CSV and JSON downloads carry every row at once.
Questions people ask
How many bus stops are in GTA 5?
Why does my bus job spawn the bus facing the wrong way?
Are the airport and train stops included?
See all of this on your own minimap
Coordinates are only half of a map feature: the other half is a minimap your players can read. Ours comes in twelve palettes on three base styles, with or without postal codes, and the studio puts your server name and logo on it before you download the resource.
Nearby reference
Coordinates come from the publicly published DurtyFree GTA V data dumps; the district on every row is computed here from the zone boundaries the game ships, and every model hash is computed from the name rather than copied. The models and the map are the property of Take-Two Interactive and Rockstar Games — see our trademark and IP notice.