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 |
---|---|---|
accessibilityFeatures | Manages the browser's accessibility features. | MV2, MV3 |
action | Controls the extension's icon in the browser's toolbar. | MV3 |
alarms | Schedules code to run periodically or at a specified time in the future. | MV2, MV3 |
bookmarks | Creates, organizes, and manipulates bookmarks. | MV2, MV3 |
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 |
browsingData | Removes browsing data from a user's local profile. | MV2, MV3 |
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 |
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 |
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 |
cookies | Queries and modifies cookies, and receives notifications when they change. | MV2, MV3 |
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 |
declarativeContent | Performs actions depending on the content of a page, without requiring permission to read the page content. | MV2, MV3 |
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 |
desktopCapture | Captures the content of a screen, individual windows, or tabs. | MV2, MV3 |
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 |
devtools.network | Retrieves information about network requests that are displayed by the DevTools Network tool. | MV2, MV3 |
devtools.panels | Integrates your extension into the Developer Tools window UI by creating your own panels, accessing existing panels, or adding sidebars. | MV2, MV3 |
dns | Resolves DNS addresses. | MV2, MV3. Dev channel. |
dom | Accesses special DOM APIs for Extensions. | MV2, MV3 |
downloads | Programmatically starts, monitors, manipulates, and searches for downloads. | MV2, MV3 |
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 |
events | Common types used by APIs that raise events to notify you when an interesting event occurs. | MV2, MV3 |
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 |
extensionTypes | Type declarations for Microsoft Edge extensions. | MV2, MV3 |
fontSettings | Manages font settings in Microsoft Edge. | MV2, MV3 |
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 |
i18n | Implements internationalization across your whole app or extension. | MV2, MV3 |
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 |
idle | Detects when the machine's idle state changes. | MV2, MV3 |
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 |
management | Manages the list of installed or running extensions. Can override the built-in New Tab page. | MV2, MV3 |
notifications | Creates rich notifications using templates and displays them in the system tray. | MV2, MV3 |
offscreen | Creates and manages offscreen documents. | MV3 |
omnibox | Registers keywords in the Microsoft Edge address bar, also known as the omnibox. | MV2, MV3 |
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 |
pageCapture | Saves tabs as MHTML files. | MV2, MV3 |
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 |
power | Overrides the system's power management features. | MV2, MV3 |
printerProvider | Uses events to query printers, their capabilities, and to submit print jobs. | MV2, MV3 |
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 |
processes | Interacts with the browser's processes. | MV2, MV3. Dev channel. |
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 |
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 |
scripting | Executes scripts in different contexts. | MV3 |
search | Searches by using the default provider. | MV2, MV3 |
sessions | Queries and restores tabs and windows from a browsing session. | MV2, MV3 |
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 |
storage | Stores, retrieves, and tracks changes to user data. | MV2, MV3 |
system.cpu | Queries CPU metadata. | MV2, MV3 |
system.display | Queries display metadata. | MV2, MV3 |
system.memory | Reports the available memory capacity and total physical memory capacity. | MV2, MV3 |
system.storage | Queries information about storage devices. You can also receive notifications when storage devices are attached or detached. | MV2, MV3 |
tabCapture | Interacts with tab media streams. | MV2, MV3 |
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 |
tabs | Interacts with the browser's tab system to create, modify, and rearrange tabs. | MV2, MV3 |
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 |
tts | Plays synthesized text-to-speech (TTS). | MV2, MV3 |
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 |
types | Type declarations for Microsoft Edge. | MV2, MV3 |
userScripts | Executes user scripts in the User Scripts context. | MV3 |
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 |
webNavigation | Receives notifications about the status of navigation requests. | MV2, MV3 |
webRequest | Observes and analyzes traffic. Intercepts, blocks, or modifies requests. | MV2, MV3 |
windows | Interacts with browser windows to create, modify, and rearrange windows in the browser. | MV2, MV3 |
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 returnsnull
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.
This work is licensed under a Creative Commons Attribution 4.0 International License.
See also
- Chrome Extensions API reference for Manifest V2
- Chrome Extensions API reference for Manifest V3
- Using the REST API for updating Microsoft Edge Add-ons - to update an extension at the Microsoft Edge Add-ons website.