navigator.getInstalledRelatedApps() returns a Promise that resolves to an array of related installed apps (MDN) — Play / Windows / PWA entries you declared — so you can hide “Install our app” UI when the user already has it.
Pass the required arguments shown below. Check return values and browser support before you rely on the result.
Syntax
Call navigator.getInstalledRelatedApps. Start with this line.
JavaScript
navigator.getInstalledRelatedApps()
Call
What it does
navigator.getInstalledRelatedApps()
Primary signature.
navigator.getInstalledRelatedApps(...)
Call with the arguments your case needs.
Built into the browser. Call getInstalledRelatedApps(...) on a Navigator — no import required.
Library declarations
JavaScript
navigator.getInstalledRelatedApps()
Parameters
Parameter
Description
Manifest
Required. related_applications + platform link
Context
Required. Secure + top-level (not iframe)
Return Value
Return Value
Description
*
Promise → array (may be empty)
JavaScript Examples
Example 1 — Feature Detection
Check API support, secure context, and top-level browsing context.
Gate on support. Return early with a clear reason string.
Gate on secure + top-level. Matches MDN requirements before calling.
Try / catch the await. Surfaces InvalidStateError safely.
Always return apps. Callers can branch on ok and apps.length.
Compatibility
Browser Support
navigator.getInstalledRelatedApps() is part of the Get Installed Related Apps API. MDN marks it Experimental and Limited availability (not Baseline). Chromium browsers support it with platform/PWA caveats; Firefox and Safari do not. Requires a secure, top-level context and a verified related_applications association.
✓ Experimental · Limited availability
Navigator.getInstalledRelatedApps()
Promise of related installed platform apps / PWAs for install UX.
45%Limited modern support
Google ChromeRelated apps · ~85+ (platform caveats)
Limited
Microsoft EdgeRelated apps · ~85+ (platform caveats)
Limited
Apple SafariNot supported
Unavailable
OperaFollow Chromium related-apps
Limited
Mozilla FirefoxNot supported
Unavailable
Internet ExplorerNo Get Installed Related Apps API
Unavailable
getInstalledRelatedApps()Limited
Bottom line: Feature-detect, require HTTPS + top-level, and keep a normal install banner when the API or association is missing.
Frequently Asked Questions
It returns a Promise that resolves to an array of objects for related platform apps or PWAs the user already installed — useful to hide “install our app” prompts when the app is already present.
MDN marks it Experimental and Limited availability (not Baseline). It is not Deprecated or Non-standard. Always feature-detect and keep a normal install UX fallback.
List related apps in the web app manifest related_applications member, and define the relationship on the platform side (for example Digital Asset Links on Android, URI handlers on Windows, or PWA self-entries / assetlinks).
Yes. It requires a secure context. It must also run in a top-level browsing context — not inside an iframe (InvalidStateError otherwise).
At least platform; optionally id, url, and version. Platform values include play, windows, webapp, chrome_web_store, and others documented on MDN.
Usually no. Without a matching manifest association and a supporting browser, you get an empty array or a missing method. That is expected for beginners testing outside a configured PWA.