Stay organized with collections
Save and categorize content based on your preferences.
European Economic Area (EEA) developers
The Geocoding API is a service that accepts a place as an
address, latitude and longitude coordinates, or Place ID. It converts the
address into latitude and longitude coordinates and a Place ID, or converts
latitude and longitude coordinates or a Place ID into an address.
Why use the Geocoding API
Use the Geocoding API for website or mobile application when you want to use
geocoding data within maps provided by one of the Google Maps Platform APIs.
With the Geocoding API, you use addresses to place markers on a map, or
convert a marker on a map to an address. This service is designed for geocoding
predefined, static addresses for placement of application
content on a map.
What you can do with the Geocoding API
You can use the Geocoding API to obtain geocoding data for one or more addresses or
places, including the following:
Geographic coordinates for addresses.
Addresses for sets of latitude and longitude coordinates.
Addresses for place IDs.
You can control where the results appear and constrain the results to a particular region,
county, or postal code.
How the Geocoding API works
The Geocoding API does both geocoding and reverse geocoding:
Geocoding: Converts addresses such as
"1600 Amphitheatre Parkway, Mountain View, CA" into latitude and longitude coordinates or Place
IDs. You can use these coordinates to place markers on a map, or to center or reposition the map
within the view frame.
Reverse geocoding: Converts
latitude/longitude coordinates or a Place ID into a human-readable address. You can use
addresses for a variety of scenarios, including deliveries or pickups.
The following demo uses the Geocoding Service through the Maps JavaScript API
to demonstrate how the Geocoding API works. Open the map in a separate tab
to see more options and details.
Resources
The following table summarizes the resources available through the
Geocoding API along with the data each endpoint returns.
Once you have an API key, you can start testing out the Geocoding API directly from
curl or a browser. You'll need to supply the correct lookup parameters
for address or component lookups. See
Geocoding parameters
for details.
3
Try a reverse geocoding request
Supply latitude/longitude coordinates along with your API key to obtain
address components for the closest human-readable address for that location.
See Reverse geocoding requests
for details.
4
Understand response basics
All endpoints in the Geocoding API return the same data in either JSON or XML.
See
Geocoding responses
for an explanation of the data, status codes, and error messages.
5
Incorporate geocoding data into your own app!
You can use geocoding data to obtain addresses from map markers
or to supply markers on a map based on a known address.
Available client libraries
Call this API in the language of
your choice through one of the following client libraries:
The Java Client, Python Client, Go Client and Node.js Client for Google Maps
Services are community-supported client libraries, open sourced under the
Apache 2.0 License.
Download them from GitHub, where you can also find installation instructions and sample code.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eThe Geocoding API converts addresses into geographic coordinates (latitude and longitude) and vice versa.\u003c/p\u003e\n"],["\u003cp\u003eThis API is ideal for placing markers on maps based on addresses and retrieving addresses from map locations for static content, not dynamic user input.\u003c/p\u003e\n"],["\u003cp\u003eYou can use the Geocoding API to find geographic coordinates for addresses, addresses for coordinates, and addresses for Place IDs.\u003c/p\u003e\n"],["\u003cp\u003eThe API supports both geocoding (address to coordinates) and reverse geocoding (coordinates to address).\u003c/p\u003e\n"],["\u003cp\u003eClient libraries are available in Java, Python, Go, and Node.js for easy integration into your applications.\u003c/p\u003e\n"]]],[],null,["**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq). \n\nThe Geocoding API is a service that accepts a place as an\naddress, latitude and longitude coordinates, or Place ID. It converts the\naddress into latitude and longitude coordinates and a Place ID, or converts\nlatitude and longitude coordinates or a Place ID into an address.\n| **Note** : If you only want plus codes and don't want to use an API key, you can use the [Plus codes API](https://github.com/google/open-location-code/tree/main/Documentation).\n\nWhy use the Geocoding API\n\nUse the Geocoding API for website or mobile application when you want to use\ngeocoding data within maps provided by one of the Google Maps Platform APIs.\nWith the Geocoding API, you use addresses to place markers on a map, or\nconvert a marker on a map to an address. This service is designed for geocoding\n**predefined, static addresses** for placement of application\ncontent on a map.\n| This service is **not** designed to respond directly to user\n| input. To do dynamic geocoding, for example, in a user interface, see the\n| [Maps JavaScript API\n| client geocoder](/maps/documentation/javascript/geocoding) and/or the\n| [Google Play services Location APIs](https://developer.android.com/google/play-services/location.html).\n\nWhat you can do with the Geocoding API\n\nYou can use the Geocoding API to obtain geocoding data for one or more addresses or\nplaces, including the following:\n\n- Geographic coordinates for addresses.\n- Addresses for sets of latitude and longitude coordinates.\n- Addresses for place IDs.\n\nYou can control where the results appear and constrain the results to a particular region,\ncounty, or postal code.\n\nHow the Geocoding API works\n\nThe Geocoding API does both geocoding and reverse geocoding:\n\n- [**Geocoding**](/maps/documentation/geocoding/requests-geocoding): Converts addresses such as \"1600 Amphitheatre Parkway, Mountain View, CA\" into latitude and longitude coordinates or Place IDs. You can use these coordinates to place markers on a map, or to center or reposition the map within the view frame.\n- [**Reverse geocoding**](/maps/documentation/geocoding/requests-reverse-geocoding): Converts latitude/longitude coordinates or a Place ID into a human-readable address. You can use addresses for a variety of scenarios, including deliveries or pickups.\n\nThe following demo uses the Geocoding Service through the Maps JavaScript API\nto demonstrate how the Geocoding API works. Open the map in a separate tab\nto see more options and details.\n\nResources\n\nThe following table summarizes the resources available through the\nGeocoding API along with the data each endpoint returns.\n\n| Data resources | Data returned | Return format |\n|-------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|\n| [Geocoding](/maps/documentation/geocoding/requests-geocoding) | Returns address, address components, and address types. See [Results](/maps/documentation/geocoding/requests-geocoding#results) in the *Geocoding request and response* guide. | - JSON - XML |\n| [Reverse geocoding](/maps/documentation/geocoding/requests-reverse-geocoding) | Returns address, address components, and address types. See [Reverse geocoding responses](/maps/documentation/geocoding/requests-reverse-geocoding#reverse-response) in the Reverse geocoding request and response guide. | - JSON - XML |\n| [Place geocoding](/maps/documentation/geocoding/requests-places-geocoding) | Returns address, address components, and address types. See [Reverse geocoding responses](/maps/documentation/geocoding/requests-places-geocoding) in the Place geocoding request and response guide. | - JSON - XML |\n| - JSON - XML |\n\nHow to use the Geocoding API\n\n|---|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1 | **Get set up.** | Start with [Set up your Google Cloud project](/maps/documentation/geocoding/cloud-setup) and complete the setup instructions that follow. |\n| 2 | **Try a geocoding request** | Once you have an API key, you can start testing out the Geocoding API directly from curl or a browser. You'll need to supply the correct lookup parameters for address or component lookups. See [Geocoding parameters](/maps/documentation/geocoding/requests-geocoding#geocoding-lookup) for details. |\n| 3 | **Try a reverse geocoding request** | Supply latitude/longitude coordinates along with your API key to obtain address components for the closest human-readable address for that location. See [Reverse geocoding requests](/maps/documentation/geocoding/requests-reverse-geocoding#reverse-requests) for details. |\n| 4 | **Understand response basics** | All endpoints in the Geocoding API return the same data in either JSON or XML. See [Geocoding responses](/maps/documentation/geocoding/requests-geocoding#GeocodingResponses) for an explanation of the data, status codes, and error messages. |\n| 5 | **Incorporate geocoding data into your own app!** | You can use geocoding data to obtain addresses from map markers or to supply markers on a map based on a known address. |\n\nAvailable client libraries\n\nCall this API in the language of\nyour choice through one of the following client libraries:\n\n- [Java\n Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-java)\n- [Python\n Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-python)\n- [Go Client\n for Google Maps Services](https://github.com/googlemaps/google-maps-services-go)\n- [Node.js\n Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-js)\n\nThe Java Client, Python Client, Go Client and Node.js Client for Google Maps\nServices are community-supported client libraries, open sourced under the\n[Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).\nDownload them from GitHub, where you can also find installation instructions and sample code.\n\nWhat's next\n\n- **Start using the Geocoding API** : Go to [Set up your\n Google Cloud project](/maps/documentation/geocoding/cloud-setup).\n- **Get started with sample requests and responses** : Go to [Geocoding requests and responses](/maps/documentation/geocoding/requests-geocoding)\n- **Follow best practices** : Go to [Geocoding Addresses Best\n Practices](/maps/documentation/geocoding/best-practices)."]]