[{"data":1,"prerenderedAt":135},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fconcepts\u002Fagencies-and-operators":3,"_apollo:default":131,"_apollo:stationEditor":132,"_apollo:feedManagement":133,"_apollo:transferAnalyst":134},{"id":4,"title":5,"body":6,"description":121,"extension":122,"meta":123,"navigation":125,"path":126,"seo":127,"stem":128,"__hash__":129,"lastUpdated":130},"content\u002Fdocs\u002Fconcepts\u002Fagencies-and-operators.md","Agencies and operators",{"type":7,"value":8,"toc":114},"minimark",[9,14,34,65,69,104,108],[10,11,13],"h2",{"id":12},"distinctions-between-agencies-and-operators","Distinctions between agencies and operators",[15,16,17,18,28,29,33],"p",{},"An agency represents a single ",[19,20,23,24],"a",{"href":21,"target":22},"https:\u002F\u002Fgtfs.org\u002Fdocumentation\u002Fschedule\u002Freference\u002F#agencytxt","_blank","GTFS ",[25,26,27],"code",{},"agency.txt"," entity that was imported from a single ",[19,30,32],{"href":31},"\u002Fdocumentation\u002Fconcepts\u002Fstatic-gtfs-feed-versions","feed version",". The metadata, routes, and other data for an agency include only the data for that specific agency in that specific feed version.",[15,35,36,37,41,42,45,46,49,50,56,57,61,62,64],{},"Operators are a higher-level abstraction over agencies, with each operator defined by an entry in the ",[19,38,40],{"href":39},"\u002Fdocumentation\u002Fatlas","Transitland Atlas",". Operators provide a method for enriching the basic GTFS agency data, as well as grouping agencies that span across multiple source feeds. Operators are matched with GTFS agencies using ",[25,43,44],{},"associated_feeds",", a simple list of Feed Onestop IDs and GTFS ",[25,47,48],{},"agency_id","s. For instance, the ",[19,51,55],{"href":52,"rel":53},"https:\u002F\u002Fgithub.com\u002Ftransitland\u002Ftransitland-atlas\u002Fblob\u002Fmain\u002Ffeeds\u002Fmta.info.dmfr.json",[54],"nofollow","Atlas operator record"," for the ",[19,58,60],{"href":59},"\u002Fexplore\u002Foperators\u002Fo-dr5r-nyct","New York City MTA"," has ",[25,63,44],{}," values for 8 static GTFS feeds and 10 GTFS Realtime feeds. A query for this operator Onestop ID thus represents the union of data from all 8 static feeds, and includes routes for the subway and for bus service in all 5 boroughs. The MTA's commuter rail agencies, the Long Island Rail Road and Metro-North Railroad, are separate operators. This record also includes additional metadata about the MTA, such as the United States National Transit Database (NTD) ID, Wikidata IDs, and alternate names for the agency. Operator records are created and maintained through pull requests to the Atlas DMFR files, and Transitland synchronizes them from the Atlas repository every hour.",[10,66,68],{"id":67},"virtual-operator-records","Virtual operator records",[15,70,71,72,75,76,80,81,83,84,87,88,91,92,95,96,99,100,103],{},"The operators implementation includes a fall-back to ensure that all agencies and routes are available through operators queries, even if an operator record is not defined in Atlas or the association is broken. In this case, a virtual (or generated) operator record is created for each unmatched agency. Its Onestop ID is built from a geohash of the agency's stops and the ",[25,73,74],{},"agency_name"," (see ",[19,77,79],{"href":78},"\u002Fdocumentation\u002Fconcepts\u002Fonestop-id-scheme","Onestop ID scheme","), and its name is the ",[25,82,74],{},". Fields that come only from Atlas, such as ",[25,85,86],{},"short_name",", ",[25,89,90],{},"website",", and ",[25,93,94],{},"tags",", are null, and the GraphQL ",[25,97,98],{},"generated"," field is ",[25,101,102],{},"true",".",[10,105,107],{"id":106},"unmatched-operators","Unmatched operators",[15,109,110,111,113],{},"Occasionally an operator fails to associate with the intended agencies. This usually happens when a feed containing multiple agencies has a change in ",[25,112,48],{}," values that need to be updated in the operator Atlas record. If you come across such a record, let us know or open an Atlas pull request to update the operator metadata.",{"title":115,"searchDepth":116,"depth":116,"links":117},"",2,[118,119,120],{"id":12,"depth":116,"text":13},{"id":67,"depth":116,"text":68},{"id":106,"depth":116,"text":107},"How Transitland operators group GTFS agencies across source feeds using Atlas associated_feeds records, plus default and unmatched operators.","md",{"layout":124},"documentation",true,"\u002Fdocs\u002Fconcepts\u002Fagencies-and-operators",{"title":5,"description":121},"docs\u002Fconcepts\u002Fagencies-and-operators","-pH8EIf975ngZyNAiwhHd4LSExSqFoI0vdHYGC8Ydzk","2026-10-16T20:03:59-07:00",{},{},{},{},1792449185753]