# ATL Transit Live Unofficial MARTA service reliability, realtime rail, generated delay alerts, and developer API feeds. ## Primary Docs - Developer API overview: https://atltransit.live/developers - API docs page: https://atltransit.live/api-docs - OpenAPI schema: https://atltransit.live/api/v1/openapi.yaml - Full LLM context: https://atltransit.live/llms-full.txt ## Public API This list is the full set of documented operations. `GET /api/v1/openapi.yaml` is the authoritative schema; prefer it over this summary when they disagree. ### Account and metadata - `GET /api/v1/health`: verify an API key and read its resolved plan limits. - `GET /api/v1/openapi.yaml`: fetch the OpenAPI document. - `GET /api/v1/billing/plans`: list the plan catalogue and each plan's hard limits. ### Alerts - `GET /api/v1/alerts`: service alerts across every mode. - `GET /api/v1/rail/alerts`: stored rail alerts as JSON or SSE. - `GET /api/v1/bus/alerts`: stored bus alerts as JSON or SSE. - `GET /api/v1/streetcar/alerts`: stored streetcar alerts as JSON or SSE. - `GET /api/v1/rail/alert-stats`: per-line or per-station rail alert statistics. ### Rail - `GET /api/v1/rail`: rail line metadata and links to rail feeds. - `GET /api/v1/rail/realtime`: normalized MARTA rail realtime arrivals as JSON or SSE. - `GET /api/v1/rail/positions`: current rail snapshot, one row per train-at-station-direction. - `GET /api/v1/rail/on-time`: rail on-time performance. - `GET /api/v1/rail/headways`: inferred rail headways (time between trains). - `GET /api/v1/rail/stations`: rail stations and the lines serving them. - `GET /api/v1/rail/{line}/reliability`: rail line reliability rollups as JSON or SSE. - `GET /api/v1/rail/{line}/trips/today`: a rail line's trips for a service day. ### Bus - `GET /api/v1/bus`: bus route metadata and reliability snapshots. - `GET /api/v1/bus/realtime`: GTFS-RT bus vehicle positions as JSON or SSE. - `GET /api/v1/bus/{route_id}/realtime`: GTFS-RT bus positions for one route as JSON or SSE. - `GET /api/v1/bus/speed`: average bus speed. - `GET /api/v1/bus/service-delivery`: observed versus scheduled buses. - `GET /api/v1/bus/{route_id}/reliability`: bus route reliability rollups as JSON or SSE. - `GET /api/v1/bus/{route_id}/trips/today`: a bus route's trips for a service day. ### Stops - `GET /api/v1/routes/{route_id}/stops`: current-feed stop geometry and current MARTA marker predictions for one route. - `GET /api/v1/stops/{stop_id}/predictions`: current MARTA and ATL Transit Live predictions for a stop in required route context. - `GET /api/v1/stops/{stop_id}/prediction-history`: bounded 7-, 30-, or 90-day aggregate prediction analytics (Max only; no raw observations). ### Streetcar - `GET /api/v1/streetcar`: streetcar route metadata. - `GET /api/v1/streetcar/realtime`: GTFS-RT streetcar vehicle positions as JSON or SSE. - `GET /api/v1/streetcar/{route_id}/realtime`: GTFS-RT streetcar positions for one route as JSON or SSE. - `GET /api/v1/streetcar/{route_id}/reliability`: streetcar reliability rollups as JSON or SSE. - `GET /api/v1/streetcar/{route_id}/trips/today`: a streetcar route's trips for a service day. ### System-wide - `GET /api/v1/system/reliability`: system-wide reliability. - `GET /api/v1/system/today`: today's system-wide cancellation count. ### Rider feedback - `GET /api/v1/lines/{id}/feedback`: rider ratings and approved comments for a line. - `POST /api/v1/lines/{id}/feedback`: submit a rider rating, and optionally a comment. ### Streaming, webhooks, and bulk exports - `GET /api/v1/events/stream`: persistent SSE event stream. - `POST /api/v1/webhooks/endpoints`: create a webhook endpoint. - `GET /api/v1/webhooks/endpoints`: list webhook endpoints. - `PATCH /api/v1/webhooks/endpoints/{id}`: update an endpoint, optionally rotating its secret. - `DELETE /api/v1/webhooks/endpoints/{id}`: delete (disable) a webhook endpoint. - `GET /api/v1/webhooks/deliveries`: webhook delivery attempts. - `GET /api/v1/history/exports`: historical export manifests (Max only). - `POST /api/v1/history/exports`: enqueue generation of a bulk export (Max only). - `GET /api/v1/history/exports/{id}/download`: short-lived signed download URL for an export. ## Notes For LLM Clients - REST endpoints return normalized ATL Transit Live response envelopes with `data_sources`, cursor pagination where applicable, and computed delay/reliability fields. - Source alert structures preserve array-valued `impact_type`, `affected_ids`, and `microblog_message` fields from the LLM JSON schemas. - Refreshed resources, including alerts, realtime positions, and reliability rollups, return JSON by default and SSE when requested with `Accept: text/event-stream` or `format=sse`. - Alert resources read stored PostgreSQL `generated_service_alerts` rows when API persistence is configured and support `status`, `route_or_line`, `station`, `source`, `limit`, and `cursor` filters. - Successful REST calls are metered as `api_request`. - SSE output uses `sse_connection_minute` and `sse_event`. - Webhook events are signed with HMAC-SHA256 using `Marta-Fail-Signature`. - Current plan limits are a snapshot; read `GET /api/v1/billing/plans` for the effective catalogue. - Free: 20 requests/5 minutes, 300/day, max `limit=20`, 1 API key, no SSE, webhooks, or bulk exports. - Regular: 600 requests/5 minutes, 50,000/day, max `limit=100`, 2 SSE connections, 5 webhooks, 5 API keys, no bulk exports. - Max: 6,000 requests/5 minutes, 1,000,000/day, max `limit=1,000`, 25 SSE connections, 25 webhooks, 25 API keys, bulk exports enabled. - Rail realtime responses include `rail_status.lines[].stations[].trains[]`, `line_delay_summary`, `station_delay_summary`, and cursor pagination.