Client Libraries for Google Maps Web Services

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:

Why use the client libraries?

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 QPS limits with new GeoApiContext().setQueryRateLimit(qps).
  • 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.
  • Easy Authentication The client libraries make it easy to authenticate with your freely available API Key. Google Maps Platform Premium Plan customers can use their client ID and secret.
  • 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: