OneBusAway website screenshot

OneBusAway

OneBusAway is an open-source real-time transit information platform managed by the Open Transit Software Foundation. It provides transit riders with real-time arrival predictions, service alerts, and schedule data for buses, trains, and other transit modes. The platform exposes a RESTful API that lets developers access agency information, stop data, route details, trip information, real-time arrivals and departures, vehicle positions, and service alerts. Authentication uses an API key passed as a query parameter. The reference deployment runs at api.pugetsound.onebusaway.org; many transit agencies host their own OneBusAway instances using the same API contract. Official SDKs are published for Go, Java, Kotlin, JavaScript/Node.js, Python, and Ruby, all generated from a shared OpenAPI 3.0 specification in the sdk-config repository.

OneBusAway publishes 2 APIs on the APIs.io network: default API and Where API. Tagged areas include Transit, Public Transit, Real-Time, Arrivals, and Departures.

The OneBusAway catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

OneBusAway’s developer surface includes authentication, developer portal, documentation, getting-started guide, and 22 more developer resources.

41.8/100 thin ▬ flat Agent 31/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreeSelf serve⚡ Free to try
2 APIs
TransitPublic TransitReal-TimeArrivalsDeparturesBusGTFSOpen SourceStop DataTrip PlanningService AlertsVehicle PositionsOpen Data

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 41.8/100 · thin
Contract Quality 12.3 / 25
Developer Ergonomics 9.1 / 20
Commercial Clarity 6.3 / 20
Operational Transparency 0.7 / 13
Governance 7.0 / 12
Discoverability 6.9 / 10
Agent readiness — 31/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/onebusaway: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 2

Individual APIs this provider publishes, each with its own machine-readable definition.

OneBusAway default API

The default API from OneBusAway — 13 operation(s) for default.

OneBusAway Where API

The Where API from OneBusAway — 17 operation(s) for where.

Pricing Plans 1

Published pricing tiers and plan structures.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

context Context

152 classes · 0 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

OneBusAway API Rules

5 rules · 3 warnings 2 info

SPECTRAL

JSON Schema 61

Standalone JSON Schema definitions for this provider's data models.

Agency

10 properties

JSON SCHEMA

AgencyResponse

2 properties

JSON SCHEMA

ArrivalDepartureForStop

34 properties

JSON SCHEMA

ArrivalDepartureForStopResponse

2 properties

JSON SCHEMA

ArrivalsDeparturesForLocationResponse

2 properties

JSON SCHEMA

ArrivalsDeparturesForStopResponse

2 properties

JSON SCHEMA

BlockConfiguration

3 properties

JSON SCHEMA

BlockEntry

2 properties

JSON SCHEMA

BlockResponse

2 properties

JSON SCHEMA

BlockStopTime

4 properties

JSON SCHEMA

BlockTrip

4 properties

JSON SCHEMA

Config

5 properties

JSON SCHEMA

ConfigResponse

2 properties

JSON SCHEMA

Coverage

5 properties

JSON SCHEMA

CoverageResponse

3 properties

JSON SCHEMA

CurrentTime

2 properties

JSON SCHEMA

CurrentTimeResponse

2 properties

JSON SCHEMA

DetailedScheduleStopTime

8 properties

JSON SCHEMA

Location

2 properties

JSON SCHEMA

Polylines

3 properties

JSON SCHEMA

Reference

6 properties

JSON SCHEMA

ResponseWrapper

4 properties

JSON SCHEMA

Route

10 properties

JSON SCHEMA

RouteIDsForAgencyResponse

3 properties

JSON SCHEMA

RouteResponse

2 properties

JSON SCHEMA

RoutesForAgencyResponse

3 properties

JSON SCHEMA

RoutesForLocationResponse

4 properties

JSON SCHEMA

ScheduleEntry

4 properties

JSON SCHEMA

ScheduleForRouteResponse

1 properties

JSON SCHEMA

ScheduleForStopEntry

3 properties

JSON SCHEMA

ScheduleForStopResponse

2 properties

JSON SCHEMA

ScheduleFrequency

6 properties

JSON SCHEMA

ScheduleStopTime

7 properties

JSON SCHEMA

SearchRouteResponse

4 properties

JSON SCHEMA

SearchStopResponse

4 properties

JSON SCHEMA

ShapeResponse

2 properties

JSON SCHEMA

Situation

12 properties

JSON SCHEMA

Stop

11 properties

JSON SCHEMA

StopGrouping

4 properties

JSON SCHEMA

StopIDsForAgencyResponse

3 properties

JSON SCHEMA

StopResponse

2 properties

JSON SCHEMA

StopRouteDirectionSchedule

3 properties

JSON SCHEMA

StopRouteSchedule

2 properties

JSON SCHEMA

StopTime

6 properties

JSON SCHEMA

StopTripGrouping

5 properties

JSON SCHEMA

StopsForAgencyResponse

4 properties

JSON SCHEMA

StopsForLocationResponse

4 properties

JSON SCHEMA

StopsForRouteResponse

2 properties

JSON SCHEMA

TimeWindow

2 properties

JSON SCHEMA

Trip

11 properties

JSON SCHEMA

TripDetails

6 properties

JSON SCHEMA

TripDetailsResponse

2 properties

JSON SCHEMA

TripEntry

6 properties

JSON SCHEMA

TripResponse

2 properties

JSON SCHEMA

TripSchedule

5 properties

JSON SCHEMA

TripStatus

27 properties

JSON SCHEMA

TripVehicleResponse

2 properties

JSON SCHEMA

TripWithStopTimes

2 properties

JSON SCHEMA

TripsForLocationResponse

4 properties

JSON SCHEMA

VehicleStatus

11 properties

JSON SCHEMA

VehiclesForAgencyResponse

3 properties

JSON SCHEMA

Scroll for all 61

Examples 30

Example request and response payloads for these APIs.

Get_Api_Where_Config.Json

6 fields

EXAMPLE

Reportproblemwithstop

7 fields

EXAMPLE

Reportproblemwithtrip

7 fields

EXAMPLE

Searchroute

7 fields

EXAMPLE

Searchstop

7 fields

EXAMPLE

Scroll for all 30

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Onebusaway Authentication

apiKey · 1 scheme

SECURITY

Onebusaway Domain Security

TLSv1.3 · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Onebusaway Agentic Access

30 operations

30 operations · 0 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 14

SDKs, sample code, and the tooling you integrate with

Scroll for all 14

Access & Security 2

Authentication, authorization, and security posture

Commercial 1

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: onebusaway
name: OneBusAway
description: OneBusAway is an open-source real-time transit information platform managed by the Open Transit Software Foundation.
  It provides transit riders with real-time arrival predictions, service alerts, and schedule data for buses, trains, and
  other transit modes. The platform exposes a RESTful API that lets developers access agency information, stop data, route
  details, trip information, real-time arrivals and departures, vehicle positions, and service alerts. Authentication uses
  an API key passed as a query parameter. The reference deployment runs at api.pugetsound.onebusaway.org; many transit agencies
  host their own OneBusAway instances using the same API contract. Official SDKs are published for Go, Java, Kotlin, JavaScript/Node.js,
  Python, and Ruby, all generated from a shared OpenAPI 3.0 specification in the sdk-config repository.
type: Index
accessModel:
  pricing: free
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Free · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
position: Provider
access: Open
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/onebusaway.png
tags:
- Transit
- Public Transit
- Real-Time
- Arrivals
- Departures
- Bus
- GTFS
- Open Source
- Stop Data
- Trip Planning
- Service Alerts
- Vehicle Positions
- Open Data
url: https://raw.githubusercontent.com/api-evangelist/onebusaway/refs/heads/main/apis.yml
created: '2026-06-13'
modified: '2026-06-13'
specificationVersion: '0.20'
apis:
- aid: onebusaway:onebusaway-default-api
  name: OneBusAway default API
  description: The default API from OneBusAway — 13 operation(s) for default.
  humanURL: https://developer.onebusaway.org/api/where
  baseURL: https://api.pugetsound.onebusaway.org
  tags:
  - default
  properties:
  - type: OpenAPI
    url: openapi/onebusaway-default-api-openapi.yml
  - type: Documentation
    url: https://developer.onebusaway.org/api/where
  - type: Documentation
    url: https://developer.onebusaway.org/api/where/methods
  - type: Documentation
    url: https://developer.onebusaway.org/api/where/elements
  - type: SDKs
    url: https://developer.onebusaway.org/api/sdk
  - type: GitHubRepository
    url: https://github.com/OneBusAway/sdk-config
- aid: onebusaway:onebusaway-where-api
  name: OneBusAway Where API
  description: The Where API from OneBusAway — 17 operation(s) for where.
  humanURL: https://developer.onebusaway.org/api/where
  baseURL: https://api.pugetsound.onebusaway.org
  tags:
  - Where
  properties:
  - type: OpenAPI
    url: openapi/onebusaway-where-api-openapi.yml
  - type: Documentation
    url: https://developer.onebusaway.org/api/where
  - type: Documentation
    url: https://developer.onebusaway.org/api/where/methods
  - type: Documentation
    url: https://developer.onebusaway.org/api/where/elements
  - type: SDKs
    url: https://developer.onebusaway.org/api/sdk
  - type: GitHubRepository
    url: https://github.com/OneBusAway/sdk-config
common:
- type: AgenticAccess
  url: agentic-access/onebusaway-agentic-access.yml
- type: DomainSecurity
  url: security/onebusaway-domain-security.yml
- type: Authentication
  url: authentication/onebusaway-authentication.yml
- type: Website
  url: https://opentransitsoftwarefoundation.org/onebusaway/
- type: Portal
  url: https://developer.onebusaway.org/
- type: Documentation
  url: https://developer.onebusaway.org/api/where
- type: Documentation
  url: https://developer.onebusaway.org/api/where/methods
- type: Documentation
  url: https://developer.onebusaway.org/api/where/elements
- type: GettingStarted
  url: https://developer.onebusaway.org/guides/api-webapp-configuration-guide
- type: SDKs
  url: https://developer.onebusaway.org/api/sdk
- type: GitHubOrganization
  url: https://github.com/OneBusAway
- type: GitHubRepository
  url: https://github.com/OneBusAway/onebusaway-application-modules
  name: Core Application Modules (Java)
- type: GitHubRepository
  url: https://github.com/OneBusAway/maglev
  name: Maglev — Next-Gen OBA REST API Server (Go)
- type: GitHubRepository
  url: https://github.com/OneBusAway/sdk-config
  name: OpenAPI Specification and SDK Config
- type: GitHubRepository
  url: https://github.com/OneBusAway/js-sdk
  name: JavaScript / Node.js SDK
- type: GitHubRepository
  url: https://github.com/OneBusAway/python-sdk
  name: Python SDK
- type: GitHubRepository
  url: https://github.com/OneBusAway/go-sdk
  name: Go SDK
- type: GitHubRepository
  url: https://github.com/OneBusAway/java-sdk
  name: Java SDK
- type: GitHubRepository
  url: https://github.com/OneBusAway/kotlin-sdk
  name: Kotlin SDK
- type: GitHubRepository
  url: https://github.com/OneBusAway/ruby-sdk
  name: Ruby SDK
- type: GitHubRepository
  url: https://github.com/OneBusAway/onebusaway-android
  name: Android App
- type: GitHubRepository
  url: https://github.com/OneBusAway/onebusaway-ios
  name: iOS App
- type: GitHubRepository
  url: https://github.com/OneBusAway/wayfinder
  name: Wayfinder Web App (SvelteKit)
- type: AppStore
  url: https://apps.apple.com/app/onebusaway/id329380089
- type: PlayStore
  url: https://play.google.com/store/apps/details?id=com.joulespersecond.seattlebusbot
- type: PrivacyPolicy
  url: https://opentransitsoftwarefoundation.org/privacy-policy/
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com