Reference · built on requestCommons signalTransit, roads & mobility

TriMet Web Services

TransitTracker arrivals, vehicle positions, alerts, trip planning, and GTFS-realtime feeds for TriMet bus and rail in Portland, Oregon.

About

TriMet, the transit agency for the Portland, Oregon region, publishes its TransitTracker and trip planner systems as web services on developer.trimet.org. The version 2 services return JSON by default or XML on request and cover arrivals, vehicle positions, alerts, route configuration, stop locations, and trip planning. Each call carries an appID from a free registration; the default allowance is 1,000,000 requests a day. The same host serves the GTFS zip and three GTFS-realtime feeds.

Through Fibric, an operator polls the stops and routes your people use and proposes a cover, a notice, or an excused mark with the TriMet record attached.

This is a reference listing. It documents what Fibric would read from TriMet Web Services and what it could propose, based on the publisher's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Arrivals at up to 128 stop ids through /ws/v2/arrivals, with estimated against scheduled times, a status of estimated, scheduled, delayed, or canceled, and a reason
  • Vehicle positions through /ws/v2/vehicles: latitude, longitude, bearing, delay, and expiry, filtered by routes, blocks, ids, bbox, or since
  • Alerts through /ws/v2/alerts by routes or locIDs, with begin and end times, header_text, info_link_url, and a system_wide_flag
  • Route lists with directions and stops through RouteConfig, and stops within an area or distance through Stop Location
  • Trip Status V2 (Beta) for trips scheduled now or within an hour, and Block Status V2 (Beta) for blocks and trips
  • GTFS-realtime TripUpdate, FeedSpecAlerts, and VehiclePositions feeds under /ws/V1, and the static gtfs.zip

Proposed actions

Read-only. This feed informs operators; it changes nothing.

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Hold a shift start when the line is canceled

    Arrivals for the stop beside the site return a status of canceled with a reason such as a bridge lift or mechanical issue. Shift Coverage proposes who covers the opening and attaches the arrival row.

    With Shift Coverage

  • Send the crew a detour notice before the shift

    Alerts by route number, with no_service_flag on the routes affected, feed a notice to the people rostered on those stops. The operator drafts it for your approval and logs who was told.

    With Schedule Notice

  • Explain a no-show with the vehicle's delay

    The vehicles service records delay per vehicle, negative when late. A missed start is matched to that bus at that time, and the operator proposes an excused mark with the reading attached.

    With No-Show Response

Requirements

  • An appID registration, which records your email so TriMet can announce API changes
  • The stop location ids and route numbers your sites depend on
  • Activity at least once in six months; TriMet deletes idle appIDs after that
  • Acceptance of the developer Terms of Use, which grant a limited, revocable licence and bar the TransitTracker mark
Authentication
A free appID from developer.trimet.org/appid/registration, passed on every call as a query parameter or path segment; the GTFS-realtime feeds need it too.

Limits

  • 1,000,000 requests a day per appID by default; TriMet tracks the appID and client IP, and raises limits on request to labs@trimet.org
  • Arrivals cover at most 60 minutes ahead; beyond an hour only the first arrival past the threshold is returned
  • inCongestion and loadPercentage are experimental and bus only
  • The data come as is, and TriMet may end an account or the service without notice

Access and pricing

Reference listing. Public feed access is separate from Fibric integration. If you request this feed, your quote covers the build, usage, and support.

Request TriMet Web Services ↗

Questions and answers

Is a TriMet appID free, and what does it allow?
Yes. You register at developer.trimet.org, accept the Terms of Use, and receive an appID that must accompany every request. The default allowance is 1,000,000 requests a day; ask labs@trimet.org for more. Unused appIDs are deleted after six months.
How far ahead do arrivals look?
The minutes parameter defaults to 20 and caps at 60. Arrivals beyond one hour only return the first arrival after that threshold. You can request up to 128 stop ids in one call and ask for vehicle positions with showPosition.
Are GTFS-realtime feeds available?
Yes. TripUpdate, FeedSpecAlerts, and VehiclePositions sit under developer.trimet.org/ws/V1 and require the same appID. The VehiclePositions feed takes the same parameters as the vehicle location service. The static schedule is at developer.trimet.org/schedule/gtfs.zip.
Ask about TriMet Web Services

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.