This API is not yet generally available for production use. To join the waiting list, complete the request form. While your request is being reviewed, you can try the API by running your app on localhost. Don't forget to add localhost to the list of Authorized JavaScript origins in the Google APIs console.


Supported browsers

One tap sign-up and auto sign-in works in the following browser and platform combinations:

Browser Android iOS macOS Linux Windows 10
Chrome Yes Yes Yes Yes Yes
Firefox Yes Yes Yes Yes Yes
Edge Yes

As the library is security sensitive, only the latest 2 versions of each browser is officially supported.

The client library is not guaranteed to work on any other browser or platform; we will only respond to issues outside these supported combinations if loading the library prevents a client page from operating normally. Non-supported environments will always reject with a noCredentialsAvailable error.

Common issues

Calls to hint() and retrieve() always reject with noCredentialsAvailable error

  1. Has your service been reviewed for API access? If you see a warning The client origin is not permitted to use this API. in the console, ensure you have submitted your project info via the review request form.
  2. Have you whitelisted your app's domain in the client? Go to the Credentials page of Google APIs console, and select the OAuth Client ID used. It should contain your app's origin (window.location.origin) in the Authorized JavaScript origins field. This applies to localhost too.
  3. Do you have a Google Account signed in? Go to if not and sign in with one of your accounts.
  4. Have you enabled Smart Lock for passwords for the account? Visit to verify this.
  5. Are you using an old browser or platform? If you're using a browser's emulation mode, make sure you're emulating a recent browser, and not the browser that shipped with e.g. an iPhone 6. Only recent browsers and platforms are supported, see above.

Calls to hint() and retrieve() never resolve nor fail

The UI is rendered within an iframe element positioned using CSS. Make sure that your own CSS does not render iframe elements outside of the page (for instance using absolute positioning).