I've never used the API's -- only official MTA apps which presumably draw on the same data source -- but it covers all trains, and the train times have always seemed entirely accurate to me, if interpreted as "this is the minimum time the next train could take to get to you, from its current distance".
The apps certainly do take account of altered service (same as Google Maps does). Elevator closings are reported too, no crowdsourcing needed [1]. These are all official, non-crowdsourced sources.
Crowding is really the only interesting thing in my opinion -- but although I don't know of any apps that do it, it seems relatively easy to deduce from train history and known average hourly station usage per day, which is predictable enough to give decent results. But I'm not sure how often this provides value though -- how often is a station/train so crowded that you'll choose a viable alternate means of transportation in advance? Not often, in my experience, which is probably why apps don't offer it.
[1] https://advisory.mtanyct.info/EEoutage/EEOutageReport.aspx?S...