I'm looking for an API that provides recent, 3-hourly temperatures... either observed or forecasted. To be clear, I'm looking for data from the past... like 'yesterday'.
I don't know of an API for historic weather data. "3-hourly" observations are often referred as Syno hours. For historic data, other than for model validation, 99% of the time only observed data is used. Unless otherwise needed, in general you want surface observation data.
In the US, the NCDC (National Climate Data Center)'s Climate Data Online is likely your best source. The data is gratis, but with some (potential) usage restrictions.