Since your question is tagged iPhone, I assume you're doing this on the iPhone. If that's the case, why not just use MapKit?
Use the MKReverseGeocoder class which, given your latitude/longitude pair, will send -reverseGeocoder:didFindPlaceMark:
to its delegate. The placemark has a postalCode
property.
If you really need a web service, I've looked at the following services for geocoding (not reverse-geocoding). You might want to look at them to see if any of them suits your needs:
I've done limited testing of each of these services with the exception of TeleAtlas. For my purposes, Google and Tiny Geocoder returned the best results. YMMV.