Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The registrations method is used to ask the system about existing push endpoint registrations.

Note: This method has been superseded by the PushManager.getSubscription() method.





Return value

A DOMRequest object to handle the success or failure of the method call.

If the method call is successful, the request's result will be an array of PushRegistration objects.


Those objects are anonymous JavaScript objects with the following properties:


A string representing the URL of the endpoint.


The current version that the push endpoint is at.


const req = navigator.push.registrations();

req.onsuccess = (e) => {
  if (req.result.length > 0) {
    req.result.forEach((result) => {
        `Existing registration ${result.pushEndpoint} ${result.version}`
    // Reuse existing endpoints.
  } else {
    // Register for a new endpoint.
    const register = navigator.push.register();
    register.onsuccess = (e) => {
      console.log(`Registered new endpoint: ${register.result}`);


This feature is not part of any specification anymore. It is no longer on track to become a standard.

Browser compatibility

BCD tables only load in the browser

See also