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.


var request = navigator.push.registrations();


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.


var req = navigator.push.registrations();

req.onsuccess = function(e) {
  if (req.result.length > 0) {
    for (var i = 0, l = req.result.length; i < l; i++) {
      console.log("Existing registration", req.result[i].pushEndpoint, req.result[i].version);
    // Reuse existing endpoints.
  } else {
    // Register for a new endpoint.
    var register = navigator.push.register();
    register.onsuccess = function(e) {
      console.log("Registered new endpoint", register.result);


Specification Status Comment
Push API Working Draft Defines the PushManager interface.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome Full support 42Edge Full support 16
Full support 16
Disabled From version 16: this feature is behind the Enable service workers preference.
Full support 17
Firefox Full support 44
Full support 44
Notes Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE No support NoOpera Full support 29Safari No support NoWebView Android No support NoChrome Android Full support 42Edge Mobile Full support YesFirefox Android Full support 48
Full support 48
Notes Push enabled by default.
Opera Android Full support 29Safari iOS No support NoSamsung Internet Android Full support 4.0


Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

See also

Document Tags and Contributors

Last updated by: ExE-Boss,