Is there any such API where given a location (in terms of latlong), I could find whether the given point is on road/street or not. And if possible also gives me nearest stre
Google maps api provides reverse Geocoding api, you need to pass lat and long values to get address
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true_or_false
Check this http://code.google.com/apis/maps/documentation/geocoding/#JSON
Much simpler with OSRM (nearest) webservice. Look at my answer here:
https://stackoverflow.com/a/30403046/4640499
You can use the Google Maps Geocoding API which does exactly that: https://developers.google.com/maps/documentation/geocoding/intro
Take a look at the "Reverse Geocoding" section.