Supported APIs for Microsoft Edge extensions

When building extensions for the Microsoft Edge browser, you can use the following APIs.

API Description
alarms Schedule code to run periodically or at a specified time in the future.
bookmarks Create, organize, and manipulate bookmarks.
browserAction Use browser actions to place icons on the toolbar in Microsoft Edge. You can also use browser actions to add a tooltip, badge, or popup.
browsingData Remove browsing data from a user's local profile.
commands Add keyboard shortcuts that trigger actions in your extension. For example, an action to open the browser or send a command to the extension.
contentSettings In general, content settings allow you to customize the behavior of Microsoft Edge on each site, instead of globally. Change settings that control whether websites can use features such as cookies, JavaScript, and plugins.
contextMenus Add items to the context menu in Microsoft Edge. Menu items may apply to different objects, such as images, hyperlinks, and pages.
cookies Query and modify cookies, and receive notifications when they change.
debugger Attach to one or more tabs to instrument network interaction, debug JavaScript, change the DOM, change CSS, and so on. Use the debugger tabId to target tabs with sendCommand, and route events by tabId from onEvent callbacks.
declarativeContent Take actions depending on the content of a page, without requiring permission to read the page content.
declarativeNetRequest Provides more privacy by blocking or modifying network requests by specifying declarative rules. Allow extensions to modify network requests without intercepting the request and viewing the content.
desktopCapture Capture the content of a screen, individual windows, or tabs.
devtools.inspectedWindow Interact with the inspected window. For example, obtain the tab ID of pages, evaluate code, refresh pages, or obtain resources on a page.
devtools.network Retrieve information about network requests displayed by the Developer Tools in the Network panel.
devtools.panels Integrate your extension into the Developer Tools window UI by creating your own panels, accessing existing panels, or adding sidebars.
downloads Programmatically start, monitor, manipulate, and search for downloads.
enterprise.hardwarePlatform Get the manufacturer and model of the hardware platform where the browser runs. This API is only available to extensions installed by enterprise policy.
events Common types used by APIs that raise events to notify you when an interesting event occurs.
extension Any extension page can use the utilities of this API. It includes support for exchanging messages between extensions and content scripts, which is described in Message Passing.
extensionTypes Contains type declarations for Microsoft Edge extensions.
fontSettings Manage font settings in Microsoft Edge.
history Interact 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.
i18n Implement internationalization across your whole app or extension.
idle Detect when the machine's idle state changes.
management Manage the list of installed or running extensions. It's useful for extensions that override the built-in New Tab page.
notifications Create rich notifications using templates and display them in the system tray.
omnibox Register keywords in the Microsoft Edge address bar, also known as the omnibox.
pageAction Add 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.
pageCapture Save tabs as MHTML files.
permissions Retrieve declared, optional permissions at runtime, instead of at install time. You can use this API to display needed and approved permissions to your users.
power Override the system's power management features.
printerProvider Use events to query printers, their capabilities, and to submit print jobs.
privacy Control 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.
proxy Manage 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.
runtime Retrieve 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.
sessions Query and restore tabs and windows from a browsing session.
storage Store, retrieve, and track changes to user data.
system.memory The system.memory API.
system.storage Query information about storage devices. You can also receive notifications when storage devices are attached or detached.
tabCapture Interact with tab media streams.
tabs Interact with the browser's tab system to create, modify, and rearrange tabs.
topSites Access the top sites, also called most visited sites, that are displayed on the new tab page. These sites don't include shortcuts customized by the user.
tts Play synthesized text-to-speech (TTS).
ttsEngine Implement 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.
types Type declarations for Microsoft Edge.
webNavigation Receive notifications about the status of navigation requests.
webRequest Observe and analyze traffic. Intercept, block, or modify requests.
windows Interact with browser windows to create, modify, and rearrange windows in the browser.

Unsupported extension APIs

Microsoft Edge doesn't support the following Extension APIs:

  • chrome.gcm.
  • chrome.identity.getAccounts.
  • chrome.identity.getAuthToken - As an alternate, you can use launchWebAuthFlow to fetch an OAuth2 token to authenticate users.
  • chrome.instanceID.

Additional considerations for supported APIs

  • The user must be signed into Microsoft Edge using a Microsoft account (MSA) or Azure Active Directory account to use chrome.identity.getProfileUserInfo. If the user is signed into Microsoft Edge using an on-premises Active Directory 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.