I've been working on a side project that needs to geocode a large amount of addresses, so as a tangent I built this geocoding API over the past month. The state of open source geocoding tools is pretty amazing, especially if you only need to geocode addresses in the US.<p>I explored Nominatim, which uses Open Street Map data, and PostGIS before settling on PostGIS. Nominatim has the ability to geocode international addresses, which is a huge plus, but it runs as a standalone web service and its address parser seemed to have trouble with many addresses that PostGIS handled well. PostGIS can be setup with the US census Tiger/Line data to cover the entire country and runs directly in the database which gives quite a performance boost.