Skip to content


Geopy is a Python library that provides easy access to geographical data and geocoding services. Geocoding is the process of converting human-readable addresses (like “1600 Amphitheatre Parkway, Mountain View, CA”) into geographic coordinates (latitude and longitude) that can be used for various geographic applications. Geopy supports various geocoding services, such as:

  1. Nominatim (OpenStreetMap): This is a free and open-source geocoding service that uses data from the OpenStreetMap project.
  2. Google Maps Geocoding API: This service allows you to access Google’s geocoding capabilities, but you typically need an API key to use it.
  3. Bing Maps API: Microsoft’s Bing Maps also provides geocoding services that can be accessed using Geopy.
  4. Here Location Services: Geopy supports Here Location Services for geocoding purposes.

To use Geopy for geocoding, you typically create a Geocoder object associated with your chosen service, and then you can use it to convert addresses to coordinates or vice versa. Here’s a basic example of using Geopy to geocode an address using Nominatim:

from geopy.geocoders import Nominatim

# Create a Nominatim geocoder
geolocator = Nominatim(user_agent="my_geocoder")

# Perform geocoding
location = geolocator.geocode("1600 Amphitheatre Parkway, Mountain View, CA")

# Extract latitude and longitude
print((location.latitude, location.longitude))

It’s important to check the terms of use and usage limits for the specific geocoding service you choose, especially if you plan to use it in a production application. Geopy is a helpful tool for incorporating geocoding functionality into your Python applications when you need to work with location data.

Leave a Reply

Your email address will not be published. Required fields are marked *


Enjoy this blog? Please spread the word :)