openapi: 3.0.3 info: title: Transit Locations Nearby Routes API description: 'The Transit API delivers real-time public transit data - nearby routes and stops, stop departures, route details, multimodal trip planning, and service alerts - across 1,100+ cities in 37 countries, plus shared-mobility availability for bikes, scooters, and carshare. The API is publicly documented at https://api-doc.transitapp.com/ but access is key-gated: developers request an access key (free tier of 5 requests/minute and 1,500 requests/month) via Transit''s request form, and higher volumes are arranged with the partnerships team. Requests are made against https://external.transitapp.com/v3 and authenticated with an `apiKey` request header. An `Accept-Language` header selects the response language. Grounding note: the `apiKey` header, the `https://external.transitapp.com/v3` base URL, and the `GET /public/nearby_stops` endpoint (with `lat`, `lon`, and `max_distance` parameters) are confirmed from Transit''s public documentation and working integrations. The remaining endpoints (`nearby_routes`, `stop_departures`, `route_details`, `otp/plan`, `service_alerts`, `available_networks`) and their request/response shapes are modeled honestly from Transit''s documented v3 API surface, GTFS / GTFS-realtime conventions, and Transit''s public capability descriptions; they are marked with `x-modeled: true`. Confirm exact field names against the live docs once an access key is issued.' version: '3.0' contact: name: Transit Partnerships url: https://transitapp.com/partners/apis email: partners@transit.app x-logo: url: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg servers: - url: https://external.transitapp.com/v3 description: Transit public API v3 security: - apiKeyAuth: [] tags: - name: Nearby Routes description: Public transit routes near a location with real-time departures. paths: /public/nearby_routes: get: operationId: getNearbyRoutes tags: - Nearby Routes summary: Get nearby routes description: Returns the public transit routes near a latitude/longitude, each with upcoming real-time departures, direction and headsign, wheelchair accessibility, and network branding. x-modeled: true parameters: - name: lat in: query required: true description: Latitude of the search center (WGS84 decimal degrees). schema: type: number format: double example: 45.5088 - name: lon in: query required: true description: Longitude of the search center (WGS84 decimal degrees). schema: type: number format: double example: -73.5878 - name: max_distance in: query required: false description: Maximum search radius in meters. schema: type: integer default: 500 example: 500 - name: should_update_realtime in: query required: false description: When true, include live real-time departure predictions. schema: type: boolean default: true - name: Accept-Language in: header required: false description: Preferred response language (BCP 47), e.g. en, fr, es. schema: type: string example: en responses: '200': description: A list of nearby routes with departures. content: application/json: schema: type: object properties: routes: type: array items: $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' components: responses: RateLimited: description: Rate limit exceeded (free tier is 5 requests/minute, 1,500/month). content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Leg: type: object properties: mode: type: string example: BUS from: type: string example: YUL AƩroport to: type: string example: Centre-ville route_short_name: type: string example: '747' duration: type: integer example: 1500 Route: type: object properties: global_route_id: type: string example: STM:route:747 route_short_name: type: string example: '747' route_long_name: type: string example: YUL AƩroport - Centre-ville route_color: type: string example: 009EE0 route_text_color: type: string example: FFFFFF mode_name: type: string example: bus itineraries: type: array items: $ref: '#/components/schemas/Itinerary' Error: type: object properties: status: type: integer example: 401 message: type: string example: Invalid API key. Itinerary: type: object properties: duration: type: integer description: Total trip duration in seconds. example: 1980 start_time: type: integer description: Unix epoch seconds of departure. end_time: type: integer description: Unix epoch seconds of arrival. legs: type: array items: $ref: '#/components/schemas/Leg' securitySchemes: apiKeyAuth: type: apiKey in: header name: apiKey description: Transit access key requested via Transit's API request form. Sent as the `apiKey` request header on every call.