Most extensions need access to one or more Chrome Extensions APIs to function. This API reference describes the APIs available for use in extensions and presents example use cases.
- accessibilityFeatures
-
Use the
chrome.accessibilityFeaturesAPI to manage Chrome's accessibility features. This API relies on the ChromeSetting prototype of the type API for getting and setting individual accessibility features. In order to get feature states the extension must requestaccessibilityFeatures.readpermission. For modifying feature state, the extension needsaccessibilityFeatures.modifypermission. Note thataccessibilityFeatures.modifydoes not implyaccessibilityFeatures.readpermission. - alarms
-
Use the
chrome.alarmsAPI to schedule code to run periodically or at a specified time in the future. - audio
-
Chrome 59+ ChromeOS only
The
chrome.audioAPI is provided to allow users to get information about and control the audio devices attached to the system. This API is currently only available in kiosk mode for ChromeOS. - bookmarks
-
Use the
chrome.bookmarksAPI to create, organize, and otherwise manipulate bookmarks. Also see Override Pages, which you can use to create a custom Bookmark Manager page. - browserAction
-
≤ MV2
Use browser actions to put icons in the main Google Chrome toolbar, to the right of the address bar. In addition to its icon, a browser action can have a tooltip, a badge, and a popup.
- browsingData
-
Use the
chrome.browsingDataAPI to remove browsing data from a user's local profile. - certificateProvider
-
Chrome 46+ ChromeOS only
Use this API to expose certificates to the platform which can use these certificates for TLS authentications.
- commands
-
Use the commands API to add keyboard shortcuts that trigger actions in your extension, for example, an action to open the browser action or send a command to the extension.
- contentSettings
-
Use the
chrome.contentSettingsAPI to change settings that control whether websites can use features such as cookies, JavaScript, and plugins. More generally speaking, content settings allow you to customize Chrome's behavior on a per-site basis instead of globally. - contextMenus
-
Use the
chrome.contextMenusAPI to add items to Google Chrome's context menu. You can choose what types of objects your context menu additions apply to, such as images, hyperlinks, and pages. - cookies
-
Use the
chrome.cookiesAPI to query and modify cookies, and to be notified when they change. - debugger
-
The
chrome.debuggerAPI serves as an alternate transport for Chrome's remote debugging protocol. Usechrome.debuggerto attach to one or more tabs to instrument network interaction, debug JavaScript, mutate the DOM and CSS, and more. Use theDebuggeepropertytabIdto target tabs withsendCommandand route events bytabIdfromonEventcallbacks. - declarativeContent
-
Use the
chrome.declarativeContentAPI to take actions depending on the content of a page, without requiring permission to read the page's content. - declarativeNetRequest
-
Chrome 84+
The
chrome.declarativeNetRequestAPI is used to block or modify network requests by specifying declarative rules. This lets extensions modify network requests without intercepting them and viewing their content, thus providing more privacy. - declarativeWebRequest
-
Beta channel ≤ MV2
Note: this API is deprecated. Check out the
declarativeNetRequestAPI instead. Use thechrome.declarativeWebRequestAPI to intercept, block, or modify requests in-flight. It is significantly faster than thechrome.webRequestAPI because you can register rules that are evaluated in the browser rather than the JavaScript engine, which reduces roundtrip latencies and allows higher efficiency. - desktopCapture
-
The Desktop Capture API captures the content of the screen, individual windows, or individual tabs.