geocoder
Geocoder is a simple and consistent geocoding library.
Decision gist · record as of 2026-08-14
Yes, if you need a simple unified geocoding interface and accept the maintenance risk. The package is stable and has no security vulnerabilities, but it is dormant—last release was 2018. Before using in production, verify that your chosen providers' APIs still match the library's expectations, as provider changes after 2018 may break functionality. For new projects requiring active maintenance and up-to-date provider support, consider alternatives.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Most providers require an API key (Google, Bing, MapQuest, etc.).
- Some have rate limits or usage policies.
- Verify your chosen provider's current authentication requirements before deploying.
License · maintenance · safety
The MIT License (permissive) — Licensed under the MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.
last release 2018-04-04 (3054 days) · last repo commit 2024-04-20 · 1,655 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,173,708 downloads/mo, #2,712 on PyPI
Alternatives
Verify before relying
pip install geocoder
import geocoder
g = geocoder.google('Mountain View, CA')
print(g.latlng)
# (37.3860517, -122.0838511)- Whether all listed providers remain functional or have changed their APIs since the last release
- Current API key requirements and rate limits for each provider
- Whether the package works reliably with modern Python versions beyond those listed in classifiers
What it is and what it does
Geocoder is a Python library that abstracts away the complexity of calling multiple online geocoding services. Instead of writing separate code for Google, Bing, OpenStreetMap, and dozens of other providers—each with its own JSON schema and authentication—you call a single consistent API. It handles forward geocoding (address to lat/lng), reverse geocoding (coordinates to address), batch queries, and IP-based geolocation across providers optimized for different regions.
The library has no runtime dependencies and installs cleanly as a pure Python wheel. It exposes results through a unified object model with properties like `latlng`, `address`, `city`, `country`, and geospatial formats (GeoJSON, WKT). It also includes a command-line interface for one-off geocoding tasks. However, most providers require API keys, and the package has been dormant since 2018—provider APIs may have changed, and you should verify that your target providers still work before relying on it in production.
Use it for
- Convert a user-supplied address to latitude and longitude for mapping or location-based services without writing provider-specific code.
- Reverse-geocode GPS coordinates to retrieve the nearest city, state, country, or street address.
- Batch-geocode a list of addresses using a single provider's batch API to reduce API calls.
- Geolocate an IP address to approximate geographic location for analytics or content delivery.
- Extract structured address components (house number, street, postal code) from a full address string.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a simple unified geocoding interface and accept the maintenance risk.
The package is stable and has no security vulnerabilities, but it is dormant—last release was 2018. Before using in production, verify that your chosen providers' APIs still match the library's expectations, as provider changes after 2018 may break functionality. For new projects requiring active maintenance and up-to-date provider support, consider alternatives.
Install
geocoder on PyPI
Before you install
Installation is straightforward with no runtime dependencies. However, the package is dormant—last release was in 2018 and last commit in 2024, with no active maintenance. Use only if you accept that bug fixes and provider updates will not arrive.
Most providers require an API key (Google, Bing, MapQuest, etc.). Some have rate limits or usage policies. Verify your chosen provider's current authentication requirements before deploying.
License in practice
Licensed under the MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install geocoder
import geocoder
g = geocoder.google('Mountain View, CA')
print(g.latlng)
# (37.3860517, -122.0838511)
Verify before relying
- Whether all listed providers remain functional or have changed their APIs since the last release
- Current API key requirements and rate limits for each provider
- Whether the package works reliably with modern Python versions beyond those listed in classifiers
Package facts
| License | The MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 3,054 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,173,708 / month, #2,712 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: InternetTopic :: Internet :: WWW/HTTPTopic :: Scientific/Engineering :: GISTopic :: Software Development :: Libraries :: Python Modules |
Evidence: geocoder-1.38.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “geocoding library python”
- geocoderGeocoder provides a unified Python interface to multiple online…
- pygeocodioPython client library for the Geocodio API, enabling geocoding,…
- opencageA Python wrapper for the OpenCage Geocoding API that converts…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also geopy · opencage · censusgeocode · googlemaps · reverse_geocoder · pygeocodio · azure-maps-search · reverse-geocode · pgeocode · ipinfo