Reference · built on requestCommons signalTransit, roads & mobility

CTA Train Tracker & Bus Tracker APIs

Chicago Transit Authority arrival predictions for trains and buses, vehicle locations, customer alerts, and GTFS schedules.

About

The Chicago Transit Authority runs the 'L' and the city's buses. Its developer center publishes three APIs on lapi.transitchicago.com and ctabustracker.com: Train Tracker for arrival predictions, train positions and follow-this-train; Bus Tracker for vehicles, predictions, routes, stops and service bulletins; and the Customer Alerts API for route status and alert detail. A GTFS zip carries the schedule.

An operator watches the stations and routes your people use, reads the alerts staff enter at the control center, and proposes a coverage change or a shuttle hold for your approval.

This is a reference listing. It documents what Fibric would read from CTA Train Tracker & Bus Tracker APIs 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

  • Train arrival predictions per station (mapid) or platform stop (stpid): ttarrivals.aspx, estimates up to 60 minutes ahead
  • Follow one train by runnumber (ttfollow.aspx) and in-service train locations by route (ttpositions.aspx)
  • Bus Tracker v2 and v3: getvehicles, getpredictions, getroutes, getstops, getdirections, getpatterns, getservicebulletins
  • Customer Alerts API: routes.aspx for route status from active incidents; alerts.aspx for full alert text, planned and unplanned
  • GTFS schedule zip from transitchicago.com/downloads/sch_data/, republished every week or two with the license file inside
  • Open data sets: ridership reports, KML and shapefiles, and RSS feeds

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

  • Cover a shift when the 'L' is disrupted

    Poll alerts.aspx for the lines that reach your building. When a new unplanned alert lands during a shift change, the operator proposes an open-shift offer and cites the alert text.

    With Shift Coverage, No-Show Response

  • Hold a shuttle for the next train

    Read ttarrivals.aspx for your station's mapid. When the next arrival is inside your shuttle window, the operator proposes holding departure and shows the prediction time it used.

    With Shuttle Timing

  • Route status in the morning brief

    Each morning the operator reads routes.aspx and lists every route with an active alert, with the alert headline from alerts.aspx.

    With Morning Brief

Requirements

  • A Train Tracker key, applied for at transitchicago.com/developers/traintrackerapply/
  • A Bus Tracker account; the Developer API link under My Account leads to the key application
  • Station mapid or stop stpid values and route ids (rt) for the platforms and lines you watch
  • Reasonable effort to keep cached CTA data current, as the license requires
Authentication
Separate free keys for Train Tracker and Bus Tracker, issued on application once you accept the Developer License Agreement; the Customer Alerts API and the GTFS zip need no key.

Limits

  • Default limit of 100,000 transactions a day for each of Train Tracker and Bus Tracker; more only on request to CTA
  • High request volumes from one IP address can trip denial-of-service protection and a temporary timeout
  • Alerts are typed by CTA staff; route status is automatic only to the extent alerts carry start times
  • The license allows caching inside your application but not transferring CTA data outside it or selling it separately

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 CTA Train Tracker & Bus Tracker APIs ↗

Questions and answers

Do I need a key for alerts?
No. The Customer Alerts API documentation lists no key; routes.aspx and alerts.aspx answer plain GET requests in XML, or JSON with outputType=JSON. You still agree to the Terms of Use. Train Tracker and Bus Tracker each need a key of their own.
How far ahead do train predictions reach?
Up to 60 minutes beyond a train's current position. Predictions update as trains move between track circuits, so a station far down the line sees its estimate change as the train advances.
What is the daily call limit?
Both Train Tracker and Bus Tracker default to 100,000 transactions a day per key. The Bus Tracker page notes this rose from 50,000 in April 2024. CTA evaluates requests for more individually.
Ask about CTA Train Tracker & Bus Tracker APIs

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.