We recommend using GeoIP to determin the country code of your visitor as a suggestion when they are filling out your form. (http://www.pointlessrants.com/2010/05/python-geoip-python-geoip-cities-tutorial/)
We are now using the geonames.org database for postal codes. There are many more countries we support.
Available country codes: AD, AR, AS, AT, AU, BD, BE, BG, BR, CA, CH, CZ, DE, DK, DO, ES, FI, FO, FR, GB, GF, GG, GL, GP, GT, GU, GY, HR, HU, IM, IN, IS, IT, JE, JP, LI, LK, LT, LU, MC, MD, MH, MK, MP, MQ, MX, MY, NL, NO, NZ, PH, PK, PL, PM, PR, PT, RE, RU, SE, SI, SJ, SK, SM, TH, TR, US, VA, VI, YT, ZA
This is the new updated version and requires that you pass in the country code as well.
Example: http://zip.elevenbasetwo.com/v2/US/48867
This version only supports US postal codes and can be accessed like this...
Example: http://zip.elevenbasetwo.com/48867 and http://zip.elevenbasetwo.com/?zip=48867