As a DC-area resident, I've been one of many local developers saying that the DC Metro needs some sort of API. If anything, just to be able to build or integrate transit routes into existing apps. The wait appears over and the Washington Metropolitan Area Transit Authority now has an API.
Currently, the DC Metro API offers some basic, but useful transit information. You can get a list of Metro lines and stations, as well as pull access station routes and entrances. The API also offers incident information for rails and elevators, so that developers can build tools to help steer Metro riders away from delaying hazards.
The documentation is kind of light right now, but this is a great start to what could be a very powerful API for DC-area developers. It's clear the transit authority is listening, as there's already been a developer conference and a contest is in the works. In terms of features, I'd love to see more time and pricing information. Maybe be able to tell me how much it'll cost me to get from Franconia to Lafayette on a given day, or how long I can expect to be on the train. I'm certain the Metro has the ability to track car congestion. It might be cool to be able to see, programmatically, if it's a busy day for the Metro or not. Such a feature would be great for trip planning. No word on if this API will extend to Metro Bus data, but that would be welcome, as well.
As expected, the API is RESTful and returns a JSON response, which makes this an excellent and simple API to build on. We will most likely see a handful of mapping and day planning apps, as well as possible integration with existing apps like Yelp.