[{"data":1,"prerenderedAt":506},["ShallowReactive",2],{"docs-\u002Fdocs":3,"_apollo:default":505,"_apollo:stationEditor":505,"_apollo:feedManagement":505,"_apollo:transferAnalyst":505},{"id":4,"title":5,"body":6,"description":496,"extension":497,"meta":498,"navigation":499,"path":500,"seo":501,"stem":502,"__hash__":503,"lastUpdated":504},"content\u002Fdocs\u002Findex.md","Overview",{"type":7,"value":8,"toc":487},"minimark",[9,13,18,21,29,33,42,263,275,280,284,287,377,388,395,399,415,426,434,451,455,458],[10,11,12],"p",{},"Transitland brings together many sources of transit data to build a directory of operators and feeds that can be edited by transit enthusiasts and developers.",[14,15,17],"h2",{"id":16},"transitland-architecture","Transitland Architecture",[10,19,20],{},"Here is a diagram of the overall Transitland technical architecture:",[22,23],"img",{"className":24,"style":26,"src":27,"alt":28},[25],"image","max-width: 800px;","\u002Fimages\u002Ftlv2-architecture-diagram-2024.png","diagram of Transitland v2 technical architecture",[14,30,32],{"id":31},"comparing-the-website-apis-and-data-products","Comparing the Website, APIs, and Data Products",[10,34,35,36,41],{},"Transitland provides a range of APIs and data products. All are powered by the same underlying database cluster and use the same ",[37,38,40],"a",{"href":39},"\u002Fdocumentation\u002Fconcepts\u002Fonestop-id-scheme","Onestop IDs",", including in transit itineraries. Each has a different set of capabilities and constraints:",[43,44,45,70],"table",{},[46,47,48],"thead",{},[49,50,51,55,58,61,64,67],"tr",{},[52,53,54],"th",{},"Service",[52,56,57],{},"Status",[52,59,60],{},"Root Endpoint",[52,62,63],{},"API Key Required",[52,65,66],{},"Cost",[52,68,69],{},"Uses",[71,72,73,99,127,152,177,202,229],"tbody",{},[49,74,75,82,85,91,93,96],{},[76,77,78],"td",{},[37,79,81],{"href":80},"\u002Fdocumentation\u002Fwebsite","Transitland Website",[76,83,84],{},"production",[76,86,87],{},[88,89,90],"code",{},"https:\u002F\u002Fwww.transit.land",[76,92],{},[76,94,95],{},"free",[76,97,98],{},"Visually browse by map, by table, and perform basic queries",[49,100,101,107,109,114,121,124],{},[76,102,103],{},[37,104,106],{"href":105},"\u002Fdocumentation\u002Fvector-tiles","Transitland v2 Map Vector Tiles",[76,108,84],{},[76,110,111],{},[88,112,113],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Ftiles\u002F",[76,115,116],{},[117,118],"icon",{"icon":119,"title":120},"check-bold","yes",[76,122,123],{},"included on every plan",[76,125,126],{},"Build your own web maps of stop locations and route geometries. In Mapbox Vector Tile (MVT) format.",[49,128,129,135,137,142,146,149],{},[76,130,131],{},[37,132,134],{"href":133},"\u002Fdocumentation\u002Frest-api","Transitland v2 REST API",[76,136,84],{},[76,138,139],{},[88,140,141],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Frest\u002F",[76,143,144],{},[117,145],{"icon":119,"title":120},[76,147,148],{},"free monthly quota, Pay As You Go, or paid plans",[76,150,151],{},"Fast and easy queries for accessing common data.",[49,153,154,160,162,167,171,174],{},[76,155,156],{},[37,157,159],{"href":158},"\u002Fdocumentation\u002Fgraphql-api","Transitland v2 GraphQL API",[76,161,84],{},[76,163,164],{},[88,165,166],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Fquery",[76,168,169],{},[117,170],{"icon":119,"title":120},[76,172,173],{},"Enterprise plans",[76,175,176],{},"The most flexible API for performing a wide variety of queries and analyses. May be slower than v2 REST API for certain queries. May require support for advanced uses.",[49,178,179,185,187,192,196,199],{},[76,180,181],{},[37,182,184],{"href":183},"\u002Fdocumentation\u002Frouting-platform","Interline Routing Platform",[76,186,84],{},[76,188,189],{},[88,190,191],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Frouting\u002F",[76,193,194],{},[117,195],{"icon":119,"title":120},[76,197,198],{},"free monthly quota or Pay As You Go",[76,200,201],{},"Plan journeys and analyze reachability. Transit itineraries across the entire United States, plus auto, bicycle, and pedestrian routing, travel-time matrices, isochrones, and map matching worldwide.",[49,203,204,210,213,219,223,226],{},[76,205,206],{},[37,207,209],{"href":208},"\u002Fdocumentation\u002Fdatasets","Transitland Datasets",[76,211,212],{},"beta",[76,214,215,216],{},"Download from website or ",[88,217,218],{},"https:\u002F\u002Fapp.interline.io\u002Ftransitland_datasets",[76,220,221],{},[117,222],{"icon":119,"title":120},[76,224,225],{},"free for non-commercial use",[76,227,228],{},"Country-wide stops and routes for analysis.",[49,230,231,240,246,253,257,260],{},[76,232,233],{},[37,234,236],{"href":235},"\u002Fdocumentation\u002Fdatastore",[237,238,239],"del",{},"Transitland v1 Datastore API",[76,241,242],{},[37,243,245],{"href":244},"\u002Fnews\u002F2023\u002F09\u002F14\u002Fshutting-down-v1-datastore-api","shut down",[76,247,248],{},[237,249,250],{},[88,251,252],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv1",[76,254,255],{},[117,256],{"icon":119,"title":120},[76,258,259],{},"free (with rate limits)",[76,261,262],{},"Original API for exploring data and powering apps.",[264,265,266,267,270,271,274],"info",{},"\nAll Transitland APIs are served from ",[88,268,269],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002F..."," Note that there is no ",[88,272,273],{},"www"," hostname, which is reserved for this Transitland website.\n",[10,276,277],{},[37,278],{"name":279},"sign-up",[14,281,283],{"id":282},"signing-up-for-an-api-key","Signing up for an API Key",[10,285,286],{},"Transitland APIs all require an API key to access. To get an API key, follow these steps:",[288,289,290,300,314,322,329,346],"ol",{},[291,292,293,294],"li",{},"Open to the ",[37,295,299],{"href":296,"rel":297},"http:\u002F\u002Fapp.interline.io\u002Fproducts\u002Ftlv2_api\u002Forders\u002Fnew",[298],"nofollow","sign-up page",[291,301,302,303,308,309,313],{},"If you already have an Interline account (you will have one if you use ",[37,304,307],{"href":305,"rel":306},"https:\u002F\u002Fwww.interline.io\u002Fosm\u002Fextracts\u002F",[298],"Interline OSM Extracts",") click ",[310,311,312],"em",{},"Sign in"," in the upper right corner.",[291,315,316,317,321],{},"Pick a ",[37,318,320],{"href":319},"\u002Fplans-pricing\u002F","plan",": Explorer to try the APIs for free, or Pay As You Go for commercial use. For Hobbyist\u002FAcademic or Enterprise, submit the form linked from that page instead.",[291,323,324,325,328],{},"Press the ",[310,326,327],{},"Order"," button and watch your email inbox (or your spam folder) for a notification.",[291,330,331,332,337,338,341,342,345],{},"You may retrieve your API key at any time by ",[37,333,336],{"href":334,"rel":335},"https:\u002F\u002Fapp.interline.io\u002Fusers\u002Fme",[298],"signing into your Interline account",". If it's your first time signing in, press ",[310,339,340],{},"Sign in using your Interline account"," and then press ",[310,343,344],{},"Forgot password?"," to set an initial password.",[291,347,348,349],{},"Use your API key by adding it to any Transitland API request using a query parameter or header using one of the following keys:",[350,351,352,362,367,372],"ul",{},[291,353,354,357,358],{},[88,355,356],{},"apikey"," ",[359,360,361],"span",{},"our recommended default",[291,363,364],{},[88,365,366],{},"api_key",[291,368,369],{},[88,370,371],{},"api_token",[291,373,374],{},[88,375,376],{},"access_token",[10,378,379,380,383,384,387],{},"Here is an example request: ",[88,381,382],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Ffeeds?api_key=xxx"," where ",[88,385,386],{},"xxx"," is replaced with your API key.",[264,389,390,391,394],{},"\nTransitland does not use an \n",[88,392,393],{},"\nAuthorization\n","\n header. See the above list for headers or query parameters in which you can provide your API key.\n",[14,396,398],{"id":397},"machine-readable-api-schemas","Machine-readable API schemas",[10,400,401,402,405,406,410,411,414],{},"The ",[37,403,404],{"href":133},"REST API"," publishes an ",[37,407,409],{"href":408},"\u002Fdocumentation\u002Frest-api\u002Fopenapi","OpenAPI schema"," at ",[88,412,413],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Frest\u002Fopenapi.json",", which you can point at a client generator, an API client such as Postman, or a coding agent. The schema document is served without an API key, so you can fetch it before signing up.",[10,416,401,417,405,419,410,422,425],{},[37,418,184],{"href":183},[37,420,409],{"href":421},"\u002Fdocumentation\u002Frouting-platform#machine-readable-schema",[88,423,424],{},"https:\u002F\u002Ftransit.land\u002Fapi\u002Fv2\u002Frouting\u002Fopenapi.json",", covering transit and street routing. It includes request and response schemas and an example for every endpoint, and is served without an API key.",[10,427,401,428,431,432],{},[37,429,430],{"href":158},"GraphQL API"," has an introspectable schema that GraphQL clients can read directly from the endpoint at ",[88,433,166],{},[10,435,436,437,444,445,450],{},"For coding agents and other automated clients, the website also publishes a machine-readable catalog of these services at ",[37,438,441],{"href":439,"rel":440},"https:\u002F\u002Fwww.transit.land\u002F.well-known\u002Fapi-catalog",[298],[88,442,443],{},"\u002F.well-known\u002Fapi-catalog",". It lists every Transitland API together with its documentation, terms, sign-up instructions, status page, and (where one is published) its machine-readable schema, in the ",[37,446,449],{"href":447,"rel":448},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9727.html",[298],"RFC 9727"," linkset format.",[14,452,454],{"id":453},"how-to-participate","How to Participate",[10,456,457],{},"Transitland welcome many types of participation:",[350,459,460,468,476,479],{},[291,461,462,463,467],{},"Please help us to expand the coverage of existing public feeds in the ",[37,464,466],{"href":465},"\u002Fdocumentation\u002Fatlas","Transitland Atlas",".",[291,469,470,471,467],{},"Use Transitland APIs to power your own maps, apps, trip planning tools, analyses, and other projects. Share your creations with us by posting to ",[37,472,475],{"href":473,"rel":474},"https:\u002F\u002Fgithub.com\u002Ftransitland\u002Ftransitland\u002Fdiscussions",[298],"Transitland's \"show & tell\" discussion board on GitHub",[291,477,478],{},"Share Transitland with your favorite transit agency — whether it's one you ride, you work for, or one you just really like.",[291,480,481,482,486],{},"If you have further questions, see the ",[37,483,485],{"href":484},"\u002Fdocumentation\u002Fsupport","support"," options.",{"title":488,"searchDepth":489,"depth":489,"links":490},"",2,[491,492,493,494,495],{"id":16,"depth":489,"text":17},{"id":31,"depth":489,"text":32},{"id":282,"depth":489,"text":283},{"id":397,"depth":489,"text":398},{"id":453,"depth":489,"text":454},"Documentation for the Transitland website and APIs.","md",{},true,"\u002Fdocs",{"title":5,"description":496},"docs\u002Findex","aw_uDbSNL9J6zwgkL4VZFGxDixrxPdf3qCBB0weaYIU","2026-10-18T16:11:50-07:00","{}",1793614315871]