I want to use geo coding services in my site which are the APIs available for this, Java based solutions will be preferred and I want to use this in a commercial project so please suggest appropriate options i.e. APIs which can be used in such projects freely..
Before asking this question I have tried searching on net and found that few popular geoCoding APIs are the ones from Google and yahoo. And few answers in SO suggest using Google API (Which seems very popular one), before deciding I want to know is their any other option and what are the available solutions for this ?
Even A Link to some blog/ site which contains detailed analysis of all these sites will be of great help.
The free usage is for transactions which could be geocoding, routing or one of the other service functions. There are two types of geocoding available, on-demand via a REST service (ms) and batch geocoding where you can upload a large set of addresses in a single request and have it return when completed (measure in minutes). Hassle-free geocoding Upload Spreadsheet Get an API key Straightforward and easy-to-use geocoding, reverse geocoding. Geocodio will give you what you need — whether that's latitude/longitude, addresses, or additional such as timezones and Congressional information.
The first and most obvious metric by which a geocode service can be judged is the accuracy of the geocodes themselves. Not all geocodes are the same, and some will take you right to an address's doorstep. It is important, however, to note that less exact geocodes aren't exactly useless. You have reached the home for the ArcGIS Online Geocoding Service. Use it to turn addresses into coordinates, coordinates into addresses, or to locate a point-of-interest. If you are a developer, detailed documentation for using this service in your application is available in the ArcGIS Online Geocoding Service.
Amitclosed as off-topic by FrankerZ, Michael Dodd, Madhur Bhaiya, Sotirios Delimanolis, Pearly SpencerNov 5 '18 at 17:11
This question appears to be off-topic. The users who voted to close gave this specific reason:
- 'Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – FrankerZ, Michael Dodd, Madhur Bhaiya, Sotirios Delimanolis, Pearly Spencer
5 Answers
Available Solutions for the Address / ZipCode to (latitude, longitude) mapping are ...
Google API, http://code.google.com/apis/maps/documentation/geocoding/ )The most popular due to Google’s name. Extensive support available on the internet (less development time).Alas! not available freely for commercial usage. The free version has 2500 queries/day limitations. (http://code.google.com/apis/maps/documentation/geocoding/)There is one clause in “Usage Terms” which says the result must be displayed in google maps, reference http://code.google.com/apis/maps/documentation/geocoding/#GeocodingRequests terms and conditions are mentioned here. http://code.google.com/apis/maps/terms.html#section_10_12
Nominatium, (http://wiki.openstreetmap.org/wiki/Nominatim )A less common organization which provides an open source, free ware solution for the address to (latitude, longitude) mapping.Can be also used in commercial projects.Their are no restrictions for number of queries per day and no hidden clauses in “usage terms”.Since the organization itself is not much popular, less support is available.
Yahoo API, http://developer.yahoo.com/geo/placefinder/ Another popular API like google’s but some what more available.supports upto 50000 requests per day.Like google extensive support is available. Yahoo encourages us to use the “powered by yahoo logo” but doesn’t force us for that. ( http://info.yahoo.com/legal/us/yahoo/api/api-2140.html )Can be used for commercial purposes (I have read Yahoo Terms and doesn't find any clause which restricts us in doing that, reference http://info.yahoo.com/legal/us/yahoo/maps/mapsapi/mapsapi-2141.html ).
YQL (Yahoo Query language see:- http://developer.yahoo.com/yql/ )A SQl based query language which queries yahoo web service. for example if we have a zip code
we can write a YQL as [ select centroid from geo.places where text='Enter some pin code here'].Yahoo encourages us to use YQL in commercial applications. (http://developer.yahoo.com/yql/faq/ )Most number of allowed queries as compared to all other options i.e. 20,000 calls/hour/IP and 100,000 calls/day/key. (see http://developer.yahoo.com/yql/faq/ ), Support available for YQL is quite good, see the links.

Gisgraphy is a alternative to Nominatim, a geocoding service on top of OpenStreetMaps data.They provide a hosted solution - and you can install their software for free.
More information at http://www.gisgraphy.com/
Free Geocode Lookup
Mapquest Open Api has a geocoding service that uses OSM data.
PatrickPatrickGoogles services are free up untill a certain limit (which actually is quite hard to hit) and the API is very friendly to work with. I am using it in a couple of applications myself and it works flawlessly and is extremely fast
Jan DragsbaekFree Geocode Lookup
Jan DragsbaekThis alternative API for french adresses : https://adresse.data.gouv.fr/api