Buses in NYC have a hackable API. http://bustime.mta.info/ that works almost all of the time.