A Python module to access the OpenCage Geocoder.
Install the module:
pip install opencageLoad the module:
from opencage.geocoder import OpenCageGeocodeCreate an instance of the geocoder module, passing a valid OpenCage Data Geocoder API key as a parameter to the geocoder modules's constructor:
key = 'your-api-key-here'
geocoder = OpenCageGeocode(key)Pass a string containing the query or address to be geocoded to the modules's geocode method:
query = "82 Clerkenwell Road, London"
result = geocoder.geocode(query)You can add additional parameters:
result = geocoder.geocode('London', no_annotations=1, language='es')You can use the proximity parameter to provide the geocoder with a hint:
result = geocoder.geocode('London', proximity='42.828576, -81.406643')
print(result[0]['formatted'])
# u'London, ON N6A 3M8, Canada'Turn a lat/long into an address with the reverse_geocode method:
results = geocoder.reverse_geocode(51.51024, -0.10303)
If anything goes wrong, then an exception will be raised:
InvalidInputErrorfor non-unicode query stringsUnknownErrorif there's some problem with the API (bad results, 500 status code, etc)RateLimitExceededErrorif you go past your rate limit
This software is copyright OpenCage GmbH.
Please see LICENSE.txt
We run the OpenCage Geocoder. Learn more about us.
We also run Geomob, a series of regular meetups for location based service creators, where we do our best to highlight geoinnovation. If you like geo stuff, you will probably enjoy the Geomob podcast.

