Example GTFS Feed
Stay organized with collections
Save and categorize content based on your preferences.
This example GTFS feed shows comma-delimited data samples for each file in a
transit feed. The sample data files shown here aren't all related to each other.
You can also download a complete GTFS feed in final form to
work with as well.
agency.txt
agency_id,agency_name,agency_url,agency_timezone,agency_phone,agency_lang
FunBus,The Fun Bus,http://www.thefunbus.org,America/Los_Angeles,(310) 555-0222,en
agency_id,agency_name,agency_url,agency_timezone,agency_lang
agency001,Transit Agency,http://www.transitcommuterbus.com/,PST,en
[...]
stops.txt
In the following sample, each stop is preceded by an icon that shows its
location_type
.
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
⦿
|
stop_id,level_id,stop_name,stop_lat,stop_lon,location_type,parent_station
F12,,5 Av/53 St,40.760167,-73.975224,1,
E1,L0,5 Av/53 St SW,40.760474,-73.976099,2,F12
E2,L0,5 Av/53 St NE,40.76035,-73.97546,2,F12
E3,L0,5 Av/53 St SE,40.760212,-73.975512,2,F12
E4,L0,Madison/53 St NE,40.759612,-73.973731,2,F12
E5,L0,Madison/53 St SE,40.759491,-73.973820,2,F12
N1,L1,,40.760457,-73.975912,3,F12
N2,L1,,40.760531,-73.976111,3,F12
N3,L1,,40.759746,-73.974203,3,F12
N4,L1,,40.759679,-73.974064,3,F12
F12S,,5 Av/53 St,40.760167,-73.975224,0,F12
B1,L2,,40.759746,-73.974203,4,F12S
B3,L2,,40.759828,-73.974442,4,F12S
F12N,,5 Av/53 St,40.760167,-73.975224,0,F12
B2,L3,,40.760457,-73.975912,4,F12N
B4,L3,,40.760375,-73.975729,4,F12N
|
1, ⦿: station; 0, ⦿: platform; 2, ⦿: entrance/exit; 3, ⦿: generic node; 4, ⦿: boarding area
|
routes.txt
route_id,route_short_name,route_long_name,route_desc,route_type
A,17,Mission,"The ""A"" route travels from lower Mission to Downtown.",3
trips.txt
route_id,service_id,trip_id,trip_headsign,block_id
A,WE,AWE1,Downtown,1
A,WE,AWE2,Downtown,2
stop_times.txt
trip_id,arrival_time,departure_time,stop_id,stop_sequence,pickup_type,drop_off_type
AWE1,0:06:10,0:06:10,S1,1,0,0
AWE1,,,S2,2,1,3
AWE1,0:06:20,0:06:30,S3,3,0,0
AWE1,,,S5,4,0,0
AWE1,0:06:45,0:06:45,S6,5,0,0
AWD1,0:06:10,0:06:10,S1,1,0,0
AWD1,,,S2,2,0,0
AWD1,0:06:20,0:06:20,S3,3,0,0
AWD1,,,S4,4,0,0
AWD1,,,S5,5,0,0
AWD1,0:06:45,0:06:45,S6,6,0,0
calendar.txt
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
WE,0,0,0,0,0,1,1,20060701,20060731
WD,1,1,1,1,1,0,0,20060701,20060731
calendar_dates.txt
This example shows service exceptions for the Independence Day holiday in 2006.
On Monday July 3, 2006, regular weekday service (service_id=WD
) is interrupted
(exception_type=2
). Instead, weekend service (service_id=WE
) runs on that
date (exception_type=1
). The same change applies on Tuesday July 4, as well.
service_id,date,exception_type
WD,20060703,2
WE,20060703,1
WD,20060704,2
WE,20060704,1
fare_attributes.txt
fare_id,price,currency_type,payment_method,transfers,transfer_duration
1,0.00,USD,0,0,0
2,0.50,USD,0,0,0
3,1.50,USD,0,0,0
4,2.00,USD,0,0,0
5,2.50,USD,0,0,0
fare_rules.txt
fare_id,route_id,origin_id,destination_id,contains_id
a,TSW,1,1,
a,TSE,1,1,
a,GRT,1,1,
a,GRJ,1,1,
a,SVJ,1,1,
a,JSV,1,1,
a,GRT,2,4,
a,GRJ,4,2,
b,GRT,3,3,
c,GRT,,,6
shapes.txt
shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
A_shp,37.61956,-122.48161,1,0
A_shp,37.64430,-122.41070,2,6.8310
A_shp,37.65863,-122.30839,3,15.8765
pathways.txt
In the following sample, each pathway is preceded by an icon that shows its
pathway_mode
.
↔
↔
↔
→
→
↔
→
→
↔
↔
↔
↔
↔
→
→
↔
→
→
↔
|
pathway_id,from_stop_id,to_stop_id,pathway_mode,is_bidirectional
E1N1,E1,N1,2,1
E2N1,E2,N1,2,1
E3N1,E3,N1,2,1
N1-N2,N1,N2,6,1
N2-N1,N2,N1,7,1
N2N3,N2,N3,2,1
N2-B1,N2,B1,4,0
B1-N2,B1,N2,4,0
B1B2,B1,B2,2,1
B1B3,B1,B3,1,1
B2B4,B2,B4,1,1
E4N3,E4,N3,2,1
E5N3,E5,N3,2,1
N3-N4,N3,N4,6,1
N4-N3,N4,N3,7,1
N4B3,N4,B3,2,1
N4-B3,N4,B3,4,0
B3-N4,B3,N4,4,0
B3B4,B3,B4,2,1
|
1, ↔: walkway; 4, →: escalator; 2, ↔: stairs; 6, →: fare gate; 7, →: exit fare gate
|
frequencies.txt
trip_id,start_time,end_time,headway_secs
AWE1,05:30:00,06:30:00,300
AWE1,06:30:00,20:30:00,180
AWE1,20:30:00,28:00:00,420
transfers.txt
from_stop_id,to_stop_id,transfer_type,min_transfer_time
S6,S7,2,300
S7,S6,3,
S23,S7,1,
levels.txt
level_id,level_index,level_name,elevation
L0,0,Street,0
L1,-1,Mezzanine,-6
L2,-2,Southbound,-18
L3,-3,Northbound,-24
translations.txt
The following sample shows how to enter a comma-delimited data sample for
translations.txt.
table_name,field_name,language,translation,record_id
stops,stop_name,en,Tokyo Station,stopid000001
stops,stop_name,fr,Gare de Tokyo,stopid000001
stops,stop_name,zh,東京站,stopid000001
attributions.txt
attribution_id,is_producer,is_operator,organization_name,agency_id
attribution001,1,0,Transit Feed Solutions USA,agency001
attribution002,0,1,Transit Bus Operations USA ,agency001
[...]
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-16 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-16 UTC."],[[["\u003cp\u003eThis webpage provides comma-delimited data samples for each file within a GTFS transit feed.\u003c/p\u003e\n"],["\u003cp\u003eThe data samples illustrate the structure and content of various GTFS files, such as stops, routes, trips, and schedules.\u003c/p\u003e\n"],["\u003cp\u003eA complete, downloadable sample GTFS feed is available for users to explore and utilize.\u003c/p\u003e\n"],["\u003cp\u003eVisual representations and explanations are included for certain files, clarifying the meaning of different data points like location types and pathway modes.\u003c/p\u003e\n"],["\u003cp\u003eExamples demonstrate how to handle service exceptions and translations within a GTFS feed.\u003c/p\u003e\n"]]],["This GTFS feed contains sample data for transit operations, including agencies, stops, routes, trips, and schedules. Key information includes: agency details with contact info; stop locations with latitude, longitude, and type; route names, descriptions, and types; trip schedules with arrival/departure times; service periods (weekdays/weekends) defined by start/end dates; service exceptions for holidays; fare information with pricing and rules; pathways between stops; trip frequency information; and translation for different languages. Attributions information are also listed. The data is presented in comma-delimited files.\n"],null,["This example GTFS feed shows comma-delimited data samples for each file in a\ntransit feed. The sample data files shown here aren't all related to each other.\nYou can also [download a complete GTFS feed](/static/transit/gtfs/examples/sample-feed.zip) in final form to\nwork with as well.\n\nagency.txt \n\n agency_id,agency_name,agency_url,agency_timezone,agency_phone,agency_lang\n FunBus,The Fun Bus,http://www.thefunbus.org,America/Los_Angeles,(310) 555-0222,en\n\n agency_id,agency_name,agency_url,agency_timezone,agency_lang\n agency001,Transit Agency,http://www.transitcommuterbus.com/,PST,en\n [...]\n\nstops.txt\n\nIn the following sample, each stop is preceded by an icon that shows its\n`location_type`.\n\n|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ⦿ ``` | ```carbon stop_id,level_id,stop_name,stop_lat,stop_lon,location_type,parent_station F12,,5 Av/53 St,40.760167,-73.975224,1, E1,L0,5 Av/53 St SW,40.760474,-73.976099,2,F12 E2,L0,5 Av/53 St NE,40.76035,-73.97546,2,F12 E3,L0,5 Av/53 St SE,40.760212,-73.975512,2,F12 E4,L0,Madison/53 St NE,40.759612,-73.973731,2,F12 E5,L0,Madison/53 St SE,40.759491,-73.973820,2,F12 N1,L1,,40.760457,-73.975912,3,F12 N2,L1,,40.760531,-73.976111,3,F12 N3,L1,,40.759746,-73.974203,3,F12 N4,L1,,40.759679,-73.974064,3,F12 F12S,,5 Av/53 St,40.760167,-73.975224,0,F12 B1,L2,,40.759746,-73.974203,4,F12S B3,L2,,40.759828,-73.974442,4,F12S F12N,,5 Av/53 St,40.760167,-73.975224,0,F12 B2,L3,,40.760457,-73.975912,4,F12N B4,L3,,40.760375,-73.975729,4,F12N ``` |\n| ``` 1, ⦿: station; 0, ⦿: platform; 2, ⦿: entrance/exit; 3, ⦿: generic node; 4, ⦿: boarding area ``` ||\n\nroutes.txt \n\n route_id,route_short_name,route_long_name,route_desc,route_type\n A,17,Mission,\"The \"\"A\"\" route travels from lower Mission to Downtown.\",3\n\ntrips.txt \n\n route_id,service_id,trip_id,trip_headsign,block_id\n A,WE,AWE1,Downtown,1\n A,WE,AWE2,Downtown,2\n\nstop_times.txt \n\n trip_id,arrival_time,departure_time,stop_id,stop_sequence,pickup_type,drop_off_type\n AWE1,0:06:10,0:06:10,S1,1,0,0\n AWE1,,,S2,2,1,3\n AWE1,0:06:20,0:06:30,S3,3,0,0\n AWE1,,,S5,4,0,0\n AWE1,0:06:45,0:06:45,S6,5,0,0\n AWD1,0:06:10,0:06:10,S1,1,0,0\n AWD1,,,S2,2,0,0\n AWD1,0:06:20,0:06:20,S3,3,0,0\n AWD1,,,S4,4,0,0\n AWD1,,,S5,5,0,0\n AWD1,0:06:45,0:06:45,S6,6,0,0\n\ncalendar.txt \n\n service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date\n WE,0,0,0,0,0,1,1,20060701,20060731\n WD,1,1,1,1,1,0,0,20060701,20060731\n\ncalendar_dates.txt\n\nThis example shows service exceptions for the Independence Day holiday in 2006.\nOn Monday July 3, 2006, regular weekday service (`service_id=WD`) is interrupted\n(`exception_type=2`). Instead, weekend service (`service_id=WE`) runs on that\ndate (`exception_type=1`). The same change applies on Tuesday July 4, as well. \n\n service_id,date,exception_type\n WD,20060703,2\n WE,20060703,1\n WD,20060704,2\n WE,20060704,1\n\nfare_attributes.txt \n\n fare_id,price,currency_type,payment_method,transfers,transfer_duration\n 1,0.00,USD,0,0,0\n 2,0.50,USD,0,0,0\n 3,1.50,USD,0,0,0\n 4,2.00,USD,0,0,0\n 5,2.50,USD,0,0,0\n\nfare_rules.txt \n\n fare_id,route_id,origin_id,destination_id,contains_id\n a,TSW,1,1,\n a,TSE,1,1,\n a,GRT,1,1,\n a,GRJ,1,1,\n a,SVJ,1,1,\n a,JSV,1,1,\n a,GRT,2,4,\n a,GRJ,4,2,\n b,GRT,3,3,\n c,GRT,,,6\n\nshapes.txt \n\n shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled\n A_shp,37.61956,-122.48161,1,0\n A_shp,37.64430,-122.41070,2,6.8310\n A_shp,37.65863,-122.30839,3,15.8765\n\npathways.txt\n\nIn the following sample, each pathway is preceded by an icon that shows its\n`pathway_mode`.\n\n|-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` ↔ ↔ ↔ → → ↔ → → ↔ ↔ ↔ ↔ ↔ → → ↔ → → ↔ ``` | ```scdoc pathway_id,from_stop_id,to_stop_id,pathway_mode,is_bidirectional E1N1,E1,N1,2,1 E2N1,E2,N1,2,1 E3N1,E3,N1,2,1 N1-N2,N1,N2,6,1 N2-N1,N2,N1,7,1 N2N3,N2,N3,2,1 N2-B1,N2,B1,4,0 B1-N2,B1,N2,4,0 B1B2,B1,B2,2,1 B1B3,B1,B3,1,1 B2B4,B2,B4,1,1 E4N3,E4,N3,2,1 E5N3,E5,N3,2,1 N3-N4,N3,N4,6,1 N4-N3,N4,N3,7,1 N4B3,N4,B3,2,1 N4-B3,N4,B3,4,0 B3-N4,B3,N4,4,0 B3B4,B3,B4,2,1 ``` |\n| ``` 1, ↔: walkway; 4, →: escalator; 2, ↔: stairs; 6, →: fare gate; 7, →: exit fare gate ``` ||\n\nfrequencies.txt \n\n trip_id,start_time,end_time,headway_secs\n AWE1,05:30:00,06:30:00,300\n AWE1,06:30:00,20:30:00,180\n AWE1,20:30:00,28:00:00,420\n\ntransfers.txt \n\n from_stop_id,to_stop_id,transfer_type,min_transfer_time\n S6,S7,2,300\n S7,S6,3,\n S23,S7,1,\n\nlevels.txt \n\n level_id,level_index,level_name,elevation\n L0,0,Street,0\n L1,-1,Mezzanine,-6\n L2,-2,Southbound,-18\n L3,-3,Northbound,-24\n\ntranslations.txt\n\nThe following sample shows how to enter a comma-delimited data sample for\n[translations.txt](/transit/gtfs/reference#translationstxt). \n\n table_name,field_name,language,translation,record_id\n stops,stop_name,en,Tokyo Station,stopid000001\n stops,stop_name,fr,Gare de Tokyo,stopid000001\n stops,stop_name,zh,東京站,stopid000001\n\nattributions.txt \n\n attribution_id,is_producer,is_operator,organization_name,agency_id\n attribution001,1,0,Transit Feed Solutions USA,agency001\n attribution002,0,1,Transit Bus Operations USA ,agency001\n [...]"]]