Stay organized with collections
Save and categorize content based on your preferences.
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. They are
available for download and contributions on GitHub, where you will also find installation
instructions and sample code:
The Java Client, Python Client, Go Client
and Node.js Client for Google Maps Services enable you to work with Google Maps web services on your server.
They wrap the functionality of the following APIs:
In addition to the functionality provided by these APIs, the client libraries
make some common tasks a little easier.
Automatic Rate Limiting By default, requests are sent at the expected
rate limit for each web service. You can provide custom QPM limits with
new GeoApiContext().setQueryRateLimit(qpm).
Retry on Failure The client libraries will automatically retry any
request if the API sends a 5xx error. Retries use exponential back-off,
which helps in the event of intermittent failures.
POJOs The Java libraries return native objects for each of the API
responses. The Python libraries return the structure as it is received from the API.
Asynchronous or synchronous All requests support synchronous or
asynchronous calling style.
Terms and conditions
The client libraries for the Google Maps web services are licensed under the
Apache 2.0 License.
The client libraries are wrappers for the Google Maps web services. The Google Maps
web services are governed by the Google Maps Platform Terms of Service.
Important: These libraries are not covered
by the standard Google deprecation policy or support agreement.
API keys and client IDs
Each Google Maps web service requires an API key or client ID. For a guide on
when to use an API key, when to use a client ID, and how to get hold of your
API key or client ID, see the authentication guide for the API you're using:
[[["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\u003eCommunity-supported client libraries for Google Maps Services are available in Java, Python, Go, and Node.js, offering convenient access to various Google Maps APIs like Directions, Geocoding, and Places.\u003c/p\u003e\n"],["\u003cp\u003eThese open-source libraries, under the Apache 2.0 License, provide features such as automatic rate limiting, retry on failure, easy authentication, and support for both synchronous and asynchronous calls.\u003c/p\u003e\n"],["\u003cp\u003eThey are governed by the Google Maps Platform Terms of Service and are not covered by the standard Google deprecation policy or support agreement.\u003c/p\u003e\n"],["\u003cp\u003eEach Google Maps web service requires an API key or client ID for authentication, with specific guides available for each API.\u003c/p\u003e\n"]]],[],null,["The Java Client, Python Client, Go Client and\nNode.js Client for Google Maps Services are community supported client libraries, open sourced under the\n[Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0). They are\navailable for download and contributions on GitHub, where you will also find installation\ninstructions and sample code: \n\n- [Java Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-java)\n- [Python Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-python)\n- [Go Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-go)\n- [Node.js Client for Google Maps Services](https://github.com/googlemaps/google-maps-services-js)\n\nWhy use the client libraries?\n\nThe Java Client, Python Client, Go Client\nand Node.js Client for Google Maps Services enable you to work with Google Maps web services on your server.\nThey wrap the functionality of the following APIs:\n\n- [Address Validation API](/maps/documentation/address-validation/overview)\n- [Directions API (Legacy)](/maps/documentation/directions/start)\n- [Distance Matrix API (Legacy)](/maps/documentation/distancematrix/start)\n- [Elevation API](/maps/documentation/elevation/start)\n- [Geocoding API](/maps/documentation/geocoding/start)\n- [Places API](/maps/documentation/places/web-service/overview)\n- [Roads API](/maps/documentation/roads/overview)\n- [Time Zone API](/maps/documentation/timezone/start)\n\nIn addition to the functionality provided by these APIs, the client libraries\nmake some common tasks a little easier.\n\n- **Automatic Rate Limiting** By default, requests are sent at the expected rate limit for each web service. You can provide custom QPM limits with `new GeoApiContext().setQueryRateLimit(qpm)`.\n- **Retry on Failure** The client libraries will automatically retry any request if the API sends a `5xx` error. Retries use exponential back-off, which helps in the event of intermittent failures.\n- **Easy Authentication** The client libraries make it easy to authenticate with your freely available API Key. [Google Maps Platform Premium Plan](/maps/premium) customers can use their [client ID and secret](/maps/premium/overview#client-id).\n- **POJOs** The Java libraries return native objects for each of the API responses. The Python libraries return the structure as it is received from the API.\n- **Asynchronous or synchronous** All requests support synchronous or asynchronous calling style.\n\nTerms and conditions\n\nThe client libraries for the Google Maps web services are licensed under the\n[Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).\n\nThe client libraries are wrappers for the Google Maps web services. The Google Maps\nweb services are governed by the [Google Maps Platform Terms of Service](https://cloud.google.com/maps-platform/terms).\n\n**Important** : These libraries are **not covered**\nby the standard Google deprecation policy or support agreement.\n\nAPI keys and client IDs\n\nEach Google Maps web service requires an API key or client ID. For a guide on\nwhen to use an API key, when to use a client ID, and how to get hold of your\nAPI key or client ID, see the authentication guide for the API you're using:\n\n- [Address Validation API](/maps/documentation/address-validation/get-api-key)\n- [Directions API (Legacy)](/maps/documentation/directions/get-api-key)\n- [Distance Matrix API (Legacy)](/maps/documentation/distancematrix/get-api-key)\n- [Elevation API](/maps/documentation/elevation/get-api-key)\n- [Geocoding API](/maps/documentation/geocoding/get-api-key)\n- [Places API](/maps/documentation/places/web-service/get-api-key)\n- [Roads API](/maps/documentation/roads/get-api-key)\n- [Time Zone API](/maps/documentation/timezone/get-api-key)"]]