There is a publicly available geocoding dataset of all U.S. ZIP codes. The data file was originally released as a part of the 2000 census on the Gazetteer website. The data fields are:
- ZIP code
- State (abbreviation)
- Latitude
- Longitude
- City
- State (full name)
Data may not be up-to-date, but it’s free… 🙂