Try using one of google or rpc geocoder. For Google maps, you need to get a key from Google.
for a geocoder, they respond only to one request for every 15 seconds from the same ip.
string geocoderUri = String.Format("http://maps.google.com/maps/geo?q={0},{1},{2}&output=csv" + "&key= < Your Key > ", street, city, state);
or
string geocoderUri = string.Format("http://rpc.geocoder.us/service/rest?address={0},{1},{2}", street, city, state);
source share