Client libraries best practices Stay organized with collections Save and categorize content based on your preferences.
The following are best practices to help you get optimum performance and the best experiencepossible when using both theCloud Client Libraries and theGoogle API Client Libraries.
Reuse client objects and sessions
When making requests with the same library, you should reuse the same client object for many requests when possible, instead of creating a new one for every request. Requests from the same instance will share authentication credential instances.
The initial request made by an instance of a session clientperforms authentication, authorization, and access token generation.This processing can take multiple seconds, as it happens over the network.For additional calls on the same client instance, the session client reuses the same access tokenfor as long as it is valid (typically one hour). After it expires, the session client refreshes the access token automatically,For optimal performance, you should reuse the same session client instance for all requests made by your application,and allow the client to refresh the access token as needed for all requests needing to run under the same set of credentials.
In addition, some authentication strategies used by the client libraries have rate limitsassociated with them. Since each instance of the client has its own credential cache, creatingtoo many in a small period of time may incur rate limiting causing library requests to fail authentication.
Pin dependencies for production
When installing the libraries from a package manager such asnpm orpip it is importantto pin the versions using their built-in versioning for production usage. This ensuresbuilds will consistently use the same versions of these libraries. This is especiallyimportant if you opt to use beta clients which can have their API surface change. The documentation for the relevant library notes this on the library package documentation.
Stay up to date
As Google Cloud's capabilities and APIs change, so do the client libraries.Client libraries change often with many of them seeing daily updates and releases.In order to get the best possible support experience possible, you should stay up to datewith the releases. Many of the libraries support semantic versioning to make iteasy to determine how much work an upgrade will be. If you are experiencing a degradedperformance (or an issue) and you are using an older version of a client library,consider upgrading it to take advantage of all improvements in newer versions.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.