Edit

Share via


Supported APIs for Microsoft Edge extensions

Microsoft Edge extensions use a subset of the JavaScript methods for the Chromium browser engine platform. When building an extension for the Microsoft Edge browser, you can use the following APIs.

API Description Manifest versions Platforms
accessibilityFeatures Manages the browser's accessibility features. MV2, MV3 Windows, Linux, Mac
action Controls the extension's icon in the browser's toolbar. MV3 Windows, Linux, Mac, Android
alarms Schedules code to run periodically or at a specified time in the future. MV2, MV3 Windows, Linux, Mac, Android
bookmarks Creates, organizes, and manipulates bookmarks. MV2, MV3 Windows, Linux, Mac
browserAction Uses browser actions to place icons on the toolbar in Microsoft Edge. You can also use browser actions to add a tooltip, badge, or popup. MV2 Windows, Linux, Mac, Android
browsingData Removes browsing data from a user's local profile. MV2, MV3 Windows, Linux, Mac, Android
commands Adds keyboard shortcuts that trigger actions in your extension, such as an action to open the browser or send a command to the extension. MV2, MV3 Windows, Linux, Mac
contentSettings Customizes the behavior of Microsoft Edge on each site, instead of globally. Changes settings that control whether websites can use features such as cookies, JavaScript, and plugins. MV2, MV3 Windows, Linux, Mac, Android
contextMenus Adds items to the context menu (right-click menu) in Microsoft Edge. Menu items can apply to different objects, such as images, hyperlinks, and pages. MV2, MV3 Windows, Linux, Mac
cookies Queries and modifies cookies, and receives notifications when they change. MV2, MV3 Windows, Linux, Mac, Android
debugger Attaches to one or more tabs to instrument network interaction, debug JavaScript, change the DOM, change CSS, and so on. Use the Debuggee's tabId to target tabs with sendCommand, and route events by tabId from onEvent callbacks. MV2, MV3 Windows, Linux, Mac
declarativeContent Performs actions depending on the content of a page, without requiring permission to read the page content. MV2, MV3 Windows, Linux, Mac, Android
declarativeNetRequest Provides more privacy by blocking or modifying network requests by specifying declarative rules. Allows extensions to modify network requests without intercepting the request and viewing the content. MV2, MV3 Windows, Linux, Mac, Android
desktopCapture Captures the content of a screen, individual windows, or tabs. MV2, MV3 Windows, Linux, Mac
devtools.inspectedWindow Interacts with the inspected window. For example, obtains the tab ID of pages, evaluate code, refresh pages, or obtain resources on a page. MV2, MV3 Windows, Linux, Mac
devtools.network Retrieves information about network requests that are displayed by the DevTools Network tool. MV2, MV3 Windows, Linux, Mac
devtools.panels Integrates your extension into the Developer Tools window UI by creating your own panels, accessing existing panels, or adding sidebars. MV2, MV3 Windows, Linux, Mac
dns Resolves DNS addresses. MV2, MV3. Dev channel. Windows, Linux, Mac
dom Accesses special DOM APIs for Extensions. MV2, MV3 Windows, Linux, Mac, Android
downloads Programmatically starts, monitors, manipulates, and searches for downloads. MV2, MV3 Windows, Linux, Mac, Android
enterprise.hardwarePlatform Gets the manufacturer and model of the hardware platform where the browser runs. For extensions that are installed by enterprise policy. MV2, MV3 Windows, Linux, Mac
events Common types used by APIs that raise events to notify you when an interesting event occurs. MV2, MV3 Windows, Linux, Mac
extension Utilities that can be used by any extension page. Includes support for exchanging messages between an extension and its content scripts, or between extensions. MV2, MV3 Windows, Linux, Mac, Android
extensionTypes Type declarations for Microsoft Edge extensions. MV2, MV3 Windows, Linux, Mac
fontSettings Manages font settings in Microsoft Edge. MV2, MV3 Windows, Linux, Mac
history Interacts with the browser's record of visited pages. You can add, remove, or query for URLs in the browser's history. To override the history page with your own version, navigate to Override Pages. MV2, MV3 Windows, Linux, Mac, Android
i18n Implements internationalization across your whole app or extension. MV2, MV3 Windows, Linux, Mac, Android
identity Gets OAuth2 access tokens. Not supported: identity.getAccounts, identity.getAuthToken - As an alternate, you can use identity.launchWebAuthFlow to fetch an OAuth2 token to authenticate users. MV2, MV3 Windows, Linux, Mac, Android
idle Detects when the machine's idle state changes. MV2, MV3 Windows, Linux, Mac, Android
input.ime Implements a custom IME for the OS, allowing an extension to handle keystrokes, set the composition, and manage the candidate window. MV2, MV3 Windows, Linux, Mac
management Manages the list of installed or running extensions. Can override the built-in New Tab page. MV2, MV3 Windows, Linux, Mac, Android
notifications Creates rich notifications using templates and displays them in the system tray. MV2, MV3 Windows, Linux, Mac, Android
offscreen Creates and manages offscreen documents. MV3 Windows, Linux, Mac, Android
omnibox Registers keywords in the Microsoft Edge address bar, also known as the omnibox. MV2, MV3 Windows, Linux, Mac
pageAction Adds icons to the Microsoft Edge toolbar, to the right of the address bar. Page actions are actions that can be taken on the current page, and aren't applicable to all pages. Page actions appear grayed out when inactive. MV2 Windows, Linux, Mac, Android
pageCapture Saves tabs as MHTML files. MV2, MV3 Windows, Linux, Mac
permissions Retrieves declared, optional permissions at runtime, instead of at install time. You can use this API to display needed and approved permissions to your users. MV2, MV3 Windows, Linux, Mac, Android
power Overrides the system's power management features. MV2, MV3 Windows, Linux, Mac
printerProvider Uses events to query printers, their capabilities, and to submit print jobs. MV2, MV3 Windows, Linux, Mac
privacy Controls features in Microsoft Edge that affects a user's privacy. This API depends on the EdgeSetting prototype of types to get and set the configuration of Microsoft Edge. MV2, MV3 Windows, Linux, Mac
processes Interacts with the browser's processes. MV2, MV3. Dev channel. Windows, Linux, Mac
proxy Manages proxy settings for Microsoft Edge. This API depends on the EdgeSetting prototype of the types API to get and set the proxy configuration of Microsoft Edge. MV2, MV3 Windows, Linux, Mac
runtime Retrieves the background page, return details about the manifest, and listen for and respond to events in the app or extension lifecycle. You can also convert the relative path of URLs to fully qualified URLs. MV2, MV3 Windows, Linux, Mac, Android
scripting Executes scripts in different contexts. MV3 Windows, Linux, Mac, Android
search Searches by using the default provider. MV2, MV3 Windows, Linux, Mac, Android
sessions Queries and restores tabs and windows from a browsing session. MV2, MV3 Windows, Linux, Mac, Android
sidePanel Hosts custom content in the browser's sidebar alongside the main content of a webpage. See Develop an extension for the Microsoft Edge sidebar. MV3 Windows, Linux, Mac
storage Stores, retrieves, and tracks changes to user data. MV2, MV3 Windows, Linux, Mac, Android
system.cpu Queries CPU metadata. MV2, MV3 Windows, Linux, Mac, Android
system.display Queries display metadata. MV2, MV3 Windows, Linux, Mac
system.memory Reports the available memory capacity and total physical memory capacity. MV2, MV3 Windows, Linux, Mac, Android
system.storage Queries information about storage devices. You can also receive notifications when storage devices are attached or detached. MV2, MV3 Windows, Linux, Mac
tabCapture Interacts with tab media streams. MV2, MV3 Windows, Linux, Mac
tabGroups Interacts with the browser's tab grouping system. Modifies and rearranges tab groups in the browser. To group and ungroup tabs, or to query what tabs are in groups, use the tabs API instead. MV3 Windows, Linux, Mac
tabs Interacts with the browser's tab system to create, modify, and rearrange tabs. MV2, MV3 Windows, Linux, Mac, Android
topSites Accesses the top sites, also called the most visited sites, that are displayed on the new tab page. These sites don't include shortcuts that are customized by the user. MV2, MV3 Windows, Linux, Mac
tts Plays synthesized text-to-speech (TTS). MV2, MV3 Windows, Linux, Mac
ttsEngine Implements a text-to-speech (TTS) engine using an extension. Extensions that register to use this API receive events that contain utterances to be spoken and other parameters. Extensions can then use any available web technology to synthesize and output speech, and send events back to the calling function to report the status. MV2, MV3 Windows, Linux, Mac
types Type declarations for Microsoft Edge. MV2, MV3 Windows, Linux, Mac
userScripts Executes user scripts in the User Scripts context. MV3 Windows, Linux, Mac, Android
webAuthenticationProxy Lets remote desktop software that's running on a remote host intercept Web Authentication API (WebAuthn) requests in order to handle them on a local client. MV3 Windows, Linux, Mac
webNavigation Receives notifications about the status of navigation requests. MV2, MV3 Windows, Linux, Mac, Android
webRequest Observes and analyzes traffic. Intercepts, blocks, or modifies requests. MV2, MV3 Windows, Linux, Mac, Android
windows Interacts with browser windows to create, modify, and rearrange windows in the browser. MV2, MV3 Windows, Linux, Mac

Unsupported APIs

These Extensions APIs are not supported for Microsoft Edge.

API Notes
audio ChromeOS only.
certificateProvider ChromeOS only.
devtools.recorder Chrome DevTools only.
documentScan ChromeOS only.
enterprise.deviceAttributes ChromeOS only.
enterprise.networkingAttributes ChromeOS only.
enterprise.platformKeys ChromeOS only.
fileBrowserHandler ChromeOS only.
fileSystemProvider ChromeOS only.
gcm
identity.getAccounts
identity.getAuthToken Gets an OAuth2 access token using the client ID and scopes specified in the oauth2 section of manifest.json. As an alternate, you can use identity.launchWebAuthFlow to fetch an OAuth2 token to authenticate users.
instanceID
loginState ChromeOS only.
platformKeys ChromeOS only.
printing ChromeOS only.
printingMetrics ChromeOS only.
readingList
vpnProvider ChromeOS only.
wallpaper ChromeOS only.

Additional considerations for supported APIs

  • The user must be signed into Microsoft Edge using a Microsoft account (MSA) or Microsoft Entra ID account to use chrome.identity.getProfileUserInfo. If the user is signed into Microsoft Edge using an on-premises Microsoft Entra ID account, the API returns null for the email and ID values.

    A Microsoft account (MSA) is an Outlook.com, Live.com, or Hotmail.com account.

  • Microsoft Edge doesn't support extensions that use Chrome Web Store payments because it uses identity.getAuthtoken to request tokens for signed-in users. These tokens are sent to the REST-based licensing API.

Note

Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons Attribution 4.0 International License. The original page is found here.

Creative Commons License This work is licensed under a Creative Commons Attribution 4.0 International License.

See also