MBTA Boston Live Transit Scraper
Pricing
from $28.87 / 1,000 results
MBTA Boston Live Transit Scraper
Scrape live data from the MBTA (Massachusetts Bay Transportation Authority): routes, stops, vehicle positions, predictions, and service alerts across subway, commuter rail, bus, and ferry. Filter by mode, route, or stop.
Pricing
from $28.87 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share

🚇 MBTA Live Transit Scraper
🚀 Export Boston's live transit feed in seconds. Routes, stops, real-time vehicle positions, next-arrival predictions, and service alerts across the entire MBTA network. No sign-up, no manual GTFS wrangling.
🕒 Last updated: 2026-05-15 · 📊 Up to 60 fields per record · 🚇 5 transit modes · 🚉 200+ routes · 8,000+ stops · 🟢 Live every minute
The MBTA Live Transit Scraper exports the official Massachusetts Bay Transportation Authority live feed and returns up to 60 transit fields per record, depending on whether you fetch routes, stops, vehicles, predictions, or alerts. The MBTA feed is the canonical reference for Boston public transit and powers Google Maps, Transit App, the official MBTA app, and dozens of academic mobility studies.
The catalogue covers the Red, Orange, Blue, Green, and Mattapan rapid-transit lines, the Silver Line BRT, every commuter-rail line, hundreds of bus routes, and harbor ferry service across more than 8,000 stops. This Actor makes the live feed downloadable as CSV, Excel, JSON, or XML in under a minute. Filtering by route, stop, transit mode, and direction runs server-side.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Boston transit-app developers, mobility researchers, urban-planning teams, real-estate platforms, journalism teams, GTFS data engineers | Real-time vehicle dashboards, arrival-prediction widgets, accessibility audits, alerts pipelines, transit-equity research, GTFS validation |
📋 What the MBTA Live Transit Scraper does
Five data modes in a single Actor:
- 🛤️ Routes. All 200+ routes across heavy rail, light rail, commuter rail, bus, and ferry, with colors, headsigns, and route types.
- 🚉 Stops. 8,000+ stops including platform names, lat/lon, wheelchair-boarding flags, and physical address.
- 🚍 Vehicles. Live positions for every vehicle in revenue service, with bearing, speed, occupancy, and current stop.
- 🕒 Predictions. Next-arrival predictions per stop with arrival/departure times, headsign, schedule relationship, and uncertainty.
- ⚠️ Alerts. Active disruptions, planned closures, severity, cause, effect, and the affected route/stop entities.
Filter every mode by route IDs, stop IDs, transit mode (heavy rail, light rail, commuter rail, bus, ferry), and direction.
💡 Why it matters: MBTA serves more than 1 million weekday riders. Real-time transit data powers commuter apps, accessibility studies, and journalism on service equity. Building your own pipeline means parsing GTFS-Realtime protobufs, joining static GTFS, and handling alerts. This Actor skips all of that.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing live Red Line vehicle positions exported to Sheets.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
mode | string | "routes" | One of routes, stops, vehicles, predictions, alerts. |
routeFilter | string | "" | Comma-separated route IDs (e.g. "Red,Orange,Green-B,1,77"). |
stopFilter | string | "" | Comma-separated stop IDs (e.g. "place-pktrm,70061") for predictions and alerts. |
transitMode | string | "all" | Restrict to light-rail, heavy-rail, commuter-rail, bus, or ferry. |
directionId | string | "any" | Travel direction filter for predictions and vehicles. |
Example: live Red Line vehicle positions.
{"maxItems": 50,"mode": "vehicles","routeFilter": "Red"}
Example: next arrivals at Park Street station.
{"maxItems": 20,"mode": "predictions","stopFilter": "place-pktrm"}
⚠️ Good to Know: vehicle positions update roughly every 15 seconds; alerts can change at any time. The live MBTA feed treats heavy rail (1) as subway lines like Red/Orange/Blue and light rail (0) as Green Line and the Mattapan trolley.
📊 Output
Each record contains up to 60 fields depending on the mode you choose. Download as CSV, Excel, JSON, or XML.
🧾 Schema (representative subset by mode)
| Field | Type | Where it appears | Example |
|---|---|---|---|
🆔 id | string | all | "Red", "place-pktrm", "y1741" |
📂 type | string | all | "route", "stop", "vehicle", "prediction", "alert" |
🏷️ shortName | string | routes | "Red Line" |
📌 longName | string | routes | "Red Line" |
🎨 color | string | routes | "DA291C" |
🔢 routeType | number | routes, stops | 1 |
🏷️ routeTypeLabel | string | routes | "Heavy Rail" |
📌 name | string | stops | "Park Street" |
📍 latitude | number | stops, vehicles | 42.356395 |
📍 longitude | number | stops, vehicles | -71.062424 |
♿ wheelchairBoarding | number | stops | 1 |
🆔 vehicleId | string | vehicles | "y1741" |
🧭 bearing | number | vehicles | 120 |
📈 speed | number | vehicles | 12.4 |
🚦 currentStatus | string | vehicles | "IN_TRANSIT_TO" |
👥 occupancyStatus | string | vehicles | "FEW_SEATS_AVAILABLE" |
🕒 arrivalTime | string | predictions | "2026-05-15T14:32:00-04:00" |
📌 tripHeadsign | string | predictions | "Alewife" |
📌 header | string | alerts | "Red Line shuttle service" |
🔴 severity | number | alerts | 7 |
📝 effect | string | alerts | "SHUTTLE" |
📅 activePeriod | array | alerts | [{ "start": "...", "end": "..." }] |
🕒 snapshotTime | ISO 8601 | all | "2026-05-15T18:32:11.000Z" |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 🚇 | Five transit modes. Heavy rail, light rail, commuter rail, bus, and ferry across Greater Boston. |
| 📡 | Live every run. Vehicle positions, predictions, and alerts reflect the latest MBTA snapshot. |
| 🎯 | Five data modes. Routes, stops, vehicles, predictions, alerts, all from the same Actor. |
| 🔍 | Server-side filters. Route IDs, stop IDs, transit mode, and direction combine freely. |
| ⚡ | Fast. 200 vehicles or 200 predictions in under 10 seconds. |
| ♿ | Accessibility-ready. Wheelchair-boarding flags on every stop. |
| 🚫 | No sign-up. Works against the public MBTA live transit feed. |
📊 The MBTA feed is the data layer behind every commuter app, accessibility audit, and journalistic investigation into Boston transit equity.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| ⭐ MBTA Live Transit Scraper (this Actor) | $5 free credit, then pay-per-use | All MBTA modes | Live per run | route, stop, mode, direction | ⚡ 2 min |
| Static GTFS downloads | Free | Schedules only | Weekly | None | 🐢 Manual |
| GTFS-Realtime protobuf parsers | Free | Vehicles + predictions | Live | None | ⏳ Hours |
| Commercial transit APIs | $99+/month | Multi-city | Live | Many | ⏳ Integration |
Pick this Actor when you want filtered, structured MBTA data without parsing protobufs or maintaining a GTFS pipeline.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the MBTA Live Transit Scraper page on the Apify Store.
- 🎯 Set input. Pick a mode (routes, stops, vehicles, predictions, alerts), add filters as needed.
- 🚀 Run it. Click Start and let the Actor pull the live feed.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded transit feed: 3-5 minutes. No coding required.
💼 Business use cases
🔌 Automating MBTA Live Transit Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI package. - 📚 See the Apify documentation for full details.
The Apify Schedules feature lets you trigger this Actor every minute, every hour, or daily. Real-time vehicle tracking pairs well with sub-minute refresh.
🌟 Beyond business use cases
Live transit data powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
🧩 How does it work?
Pick one of five data modes, optionally narrow by route, stop, transit mode, or direction, and run. The Actor pulls the official MBTA live feed and writes one clean record per route, stop, vehicle, prediction, or alert.
📏 How accurate is the data?
Data mirrors the official MBTA feed exactly. Vehicle positions update roughly every 15 seconds. Alerts can change at any time. Schedule relationships and cancellations are preserved.
🔁 How fresh are the predictions and vehicles?
Live. Each Actor run snapshots the current state, so back-to-back runs return updated vehicle positions, predictions, and alerts.
🚉 Which transit modes are covered?
All MBTA modes: heavy rail (Red, Orange, Blue), light rail (Green Line, Mattapan), commuter rail, bus, and harbor ferry.
🆔 What route IDs do I use for the filter?
Use MBTA route IDs such as Red, Orange, Blue, Green-B, Green-C, Green-D, Green-E, Mattapan, CR-Worcester, or any bus route number like 1, 57, 77.
⏰ Can I schedule regular runs?
Yes. Use Apify Schedules to refresh vehicles and predictions every minute, or alerts every 15 minutes.
⚖️ Is this data legal to use?
Yes. The MBTA publishes its live transit feed under permissive open-data terms. Attribution is encouraged.
💼 Can I use this data commercially?
Yes. The MBTA welcomes commercial use of its live data for transit apps, journalism, and analytics. Verify the latest terms in their data usage policy.
💳 Do I need a paid Apify plan to use this Actor?
No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and unlocks scheduling.
♿ Are accessibility flags included?
Yes. Stop records include wheelchairBoarding values (0 = no info, 1 = accessible, 2 = not accessible). Alerts include accessibility-related effects when applicable.
🆘 What if I need help?
Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.
🔌 Integrate with any app
MBTA Live Transit Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Push alerts and predictions to channels
- Airbyte - Pipe transit data into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push live alerts into your customer-support stack, or stream vehicle snapshots into a real-time dashboard.
🔗 Recommended Actors
- 🚦 TfL London Live Status Scraper - Live London transport status and disruptions
- 🗺️ OSRM Routing Scraper - Driving, cycling, and walking routes anywhere
- 🗺️ Nominatim OSM Scraper - Geocode addresses via OpenStreetMap
- ✈️ OurAirports Scraper - Global airport master data
- 🌍 Overpass OSM Scraper - Query arbitrary OpenStreetMap features
💡 Pro Tip: browse the complete ParseForge collection for more transit and geospatial scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Massachusetts Bay Transportation Authority or any of its affiliates. All trademarks mentioned are the property of their respective owners. Only publicly available open transit data is collected.