C# library to get the latest MTA service status
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status Build status NuGet


Simple C# library to get the latest MTA service status.
Available as a nuget package here: https://www.nuget.org/packages/MTAServiceStatus
or running the command: PM> Install-Package MTAServiceStatus


If you need to get the status per subway line, you can use the MTASubwayStatus class.

var status = new MTASubwayStatus();
var lines = await status.GetLinesAsync();
foreach(var line in lines)
	Console.WriteLine("Line {0} current status: {1}", line.Name, line.Status);
// Displays:
// Line 1 current status: GOOD_SERVICE
// Line 2 current status: DELAYS
// Line A current status: PLANNED_WORK

If you are looking for buses or other trains, you have to use the MTARepository class:

var repo = new MTARepository();
var status = await repo.GetServiceAsync();
var goodService = from s in status.Bus
                  where s.Status == ServiceStatus.GOOD_SERVICE
                  select s;

Console.WriteLine("Currently {0} bus line groups with \"GOOD SERVICE\"", goodService.Count());
//Displays "Currently 4 bus line groups with "GOOD SERVICE""

Available groups available through this class are: BT, Bus, LIRR, MetroNorth and Subway.

I am planning on getting the same process used for subway (per line status versus per group) applied to the other groups in a later release.