Good luck finding a free local provider - all the ones I know of charge arms and legs for traffic data - you might be able to get it out of Google Maps somehow, just don't know if traffic data is accessible via the normal maps API.
There are quite a few services online - checkout Garmin, TomTom, i-Traffic, Trafficconnect, etc. As for API's I am not sure, I know TomTom offers a paid service.