Para funcionar, la mayoría de las extensiones necesitan acceso a una o más APIs de extensiones de Chrome. En esta referencia de la API, se describen las APIs disponibles para usar en extensiones y se presentan casos de uso de ejemplo.
Funciones comunes de la API de Extensions
Una API de Extensions consiste en un espacio de nombres que contiene métodos y propiedades para realizar el trabajo de extensiones y, por lo general, pero no siempre, campos de manifiesto para el archivo manifest.json
. Por ejemplo, el espacio de nombres chrome.action
requiere un objeto "action"
en el manifiesto. Muchas APIs también requieren permisos en el manifiesto.
Los métodos en las APIs de extensión son asíncronos, a menos que se indique lo contrario. Los métodos asíncronos se muestran de inmediato, sin esperar a que termine la operación que los llama. Usa Promises para obtener los resultados de estos métodos. Para obtener más información, consulta Métodos asíncronos.
Las APIs de extensiones de Chrome
- accessibilityFeatures
-
Usa la API de
chrome.accessibilityFeatures
para administrar las funciones de accesibilidad de Chrome. Esta API se basa en el prototipo de configuración de Chrome de la API de tipo para obtener y configurar funciones de accesibilidad individuales. Para obtener estados de las funciones, la extensión debe solicitar el permisoaccessibilityFeatures.read
. Para modificar el estado de la función, la extensión necesita el permisoaccessibilityFeatures.modify
. Ten en cuenta queaccessibilityFeatures.modify
no implica el permisoaccessibilityFeatures.read
. - acción
-
Chrome 88 y versiones posteriores MV3 y versiones posteriores
Usa la API de
chrome.action
para controlar el ícono de la extensión en la barra de herramientas de Google Chrome. - alarmas
-
Usa la API de
chrome.alarms
para programar que el código se ejecute de forma periódica o en un momento específico en el futuro. - audio
-
Chrome 59 y versiones posteriores Solo para ChromeOS
La API de
chrome.audio
se proporciona para permitir que los usuarios obtengan información sobre los dispositivos de audio conectados al sistema y los controlen. Actualmente, esta API solo está disponible en modo kiosco para ChromeOS. - favoritos
-
Usa la API de
chrome.bookmarks
para crear, organizar y manipular favoritos. También puedes consultar Anular páginas, que puedes usar para crear una página personalizada del Administrador de favoritos. - browsingData
-
Usa la API de
chrome.browsingData
para quitar datos de navegación del perfil local de un usuario. - certificateProvider
-
Chrome 46 y versiones posteriores Solo para ChromeOS
Usa esta API para exponer certificados en la plataforma que puede usarlos para autenticaciones TLS.
- comandos
-
Usa la API de comandos para agregar combinaciones de teclas que activen acciones en tu extensión, por ejemplo, una acción para abrir la acción del navegador o enviar un comando a la extensión.
- contentSettings
-
Usa la API de
chrome.contentSettings
para cambiar parámetros de configuración que controlen si los sitios web pueden usar funciones como cookies, JavaScript y complementos. En términos más generales, la configuración de contenido te permite personalizar el comportamiento de Chrome para cada sitio y no de forma global. - contextMenus
-
Usa la API de
chrome.contextMenus
para agregar elementos al menú contextual de Google Chrome. Puedes elegir a qué tipos de objetos se aplican las incorporaciones de tu menú contextual, como imágenes, hipervínculos y páginas. - cookies
-
Usa la API de
chrome.cookies
para consultar y modificar cookies, y recibir notificaciones cuando cambien. - debugger
-
La API de
chrome.debugger
sirve como transporte alternativo para el protocolo de depuración remota de Chrome. Usachrome.debugger
para adjuntar a una o más pestañas a fin de instrumentar la interacción de red, depurar JavaScript, mutar el DOM y el CSS, y mucho más. Usa la propiedadtabId
deDebuggee
para segmentar pestañas consendCommand
y enrutar eventos mediantetabId
a partir de devoluciones de llamada deonEvent
. - declarativeContent
-
Usa la API de
chrome.declarativeContent
para realizar acciones según el contenido de una página, sin solicitar permiso para leer su contenido. - declarativeNetRequest
-
Chrome 84 y versiones posteriores
La API de
chrome.declarativeNetRequest
se usa para bloquear o modificar solicitudes de red mediante la especificación de reglas declarativas. Esto permite que las extensiones modifiquen las solicitudes de red sin interceptarlas ni ver su contenido, lo que proporciona más privacidad. - desktopCapture
-
La API de Desktop Capture captura el contenido de la pantalla, las ventanas o las pestañas individuales.
- devtools.inspectedWindow
-
Usa la API de
chrome.devtools.inspectedWindow
para interactuar con la ventana inspeccionada: obtén el ID de pestaña de la página inspeccionada, evalúa el código en el contexto de la ventana inspeccionada, vuelve a cargar la página u obtén la lista de recursos dentro de ella. - devtools.network
-
Usa la API de
chrome.devtools.network
para recuperar la información sobre las solicitudes de red que muestran las herramientas para desarrolladores en el panel Red. - devtools.panels
-
Usa la API de
chrome.devtools.panels
para integrar tu extensión en la IU de la ventana de Herramientas para desarrolladores: crea tus propios paneles, accede a los existentes y agrega barras laterales. - devtools.recorder
-
Chrome 105 y versiones posteriores
Usa la API de
chrome.devtools.recorder
para personalizar el panel Grabadora en Herramientas para desarrolladores. - dns
-
Canal para desarrolladores
Usa la API de
chrome.dns
para la resolución de DNS. - documentScan
-
Chrome 44 y versiones posteriores Solo para ChromeOS
Usa la API de
chrome.documentScan
para descubrir y recuperar imágenes desde los escáneres de documentos adjuntos. - dom
-
Chrome 88 y versiones posteriores
Usa la API de
chrome.dom
para acceder a las APIs de DOM especiales para extensiones - descargas
-
Usa la API de
chrome.downloads
para iniciar, supervisar, manipular y buscar descargas de forma programática. - enterprise.deviceAttributes
-
Usa la API de
chrome.enterprise.deviceAttributes
para leer los atributos del dispositivo. Nota: Esta API solo está disponible para extensiones instaladas de manera automática por la política empresarial. - enterprise.hardwarePlatform
-
Chrome 71 y versiones posteriores Requiere la política
Usa la API de
chrome.enterprise.hardwarePlatform
para obtener el fabricante y el modelo de la plataforma de hardware en la que se ejecuta el navegador. Nota: Esta API solo está disponible para extensiones instaladas por una política empresarial. - enterprise.networkingAttributes
-
Usa la API de
chrome.enterprise.networkingAttributes
para leer información sobre tu red actual. Nota: Esta API solo está disponible para extensiones instaladas de manera automática por la política empresarial. - enterprise.platformKeys
-
Solo ChromeOS Requiere la política
Usa la API de
chrome.enterprise.platformKeys
para generar claves y también instalar certificados para estas claves. La plataforma administrará los certificados y se podrán usar para la autenticación TLS, el acceso a la red o a través de otra extensión a través de chrome.platformKeys. - eventos
-
El espacio de nombres
chrome.events
contiene tipos comunes que usan las APIs que envían eventos para notificarte cuando sucede algo interesante. - extensión
-
La API de
chrome.extension
tiene utilidades que puede usar cualquier página de extensión. Incluye compatibilidad para intercambiar mensajes entre una extensión y sus secuencias de comandos de contenido o entre extensiones, como se describe en detalle en Envío de mensajes. - extensionTypes
-
La API de
chrome.extensionTypes
contiene declaraciones de tipo para extensiones de Chrome. - fileBrowserHandler
-
Solo para ChromeOS Solo en primer plano
Usa la API de
chrome.fileBrowserHandler
para extender el navegador de archivos de ChromeOS. Por ejemplo, puedes usar esta API para permitir que los usuarios suban archivos a tu sitio web. - fileSystemProvider
-
Solo para ChromeOS
Usa la API de
chrome.fileSystemProvider
para crear sistemas de archivos, a los que se puede acceder desde el administrador de archivos en ChromeOS. - fontSettings
-
Usa la API de
chrome.fontSettings
para administrar la configuración de fuentes de Chrome. - gcm
-
Usa
chrome.gcm
a fin de habilitar apps y extensiones para enviar y recibir mensajes a través de Firebase Cloud Messaging (FCM). - historia
-
Usa la API de
chrome.history
para interactuar con el registro de las páginas visitadas del navegador. Puedes agregar, quitar y consultar las URLs en el historial del navegador. Para anular la página del historial con tu propia versión, consulta Anular páginas. - i18n
-
Usa la infraestructura de
chrome.i18n
para implementar la internacionalización en toda tu app o extensión. - identidad
-
Usa la API de
chrome.identity
para obtener tokens de acceso de OAuth2. - inactivo
-
Usa la API de
chrome.idle
para detectar cuándo cambia el estado inactivo de la máquina. - input.ime
-
Usa la API de
chrome.input.ime
para implementar un IME personalizado para ChromeOS. Esto permite que tu extensión controle las pulsaciones de teclas, establezca la composición y administre la ventana candidata. - instanceID
-
Chrome 44 y versiones posteriores
Usa
chrome.instanceID
para acceder al servicio de ID de instancia. - loginState
-
Chrome 78 y versiones posteriores Solo para ChromeOS
Usa la API de
chrome.loginState
para leer y supervisar el estado de acceso. - de videos
-
La API de
chrome.management
proporciona formas de administrar la lista de extensiones o apps instaladas y en ejecución. Es particularmente útil para extensiones que anulan la página Nueva pestaña integrada. - notificaciones
-
Usa la API de
chrome.notifications
para crear notificaciones enriquecidas mediante plantillas y mostrarlas a los usuarios en la bandeja del sistema. - fuera de pantalla
-
Chrome 109 y versiones posteriores MV3 y versiones posteriores
Usa la API de
offscreen
para crear y administrar documentos fuera de pantalla. - cuadro multifunción
-
La API del cuadro multifunción te permite registrar una palabra clave con la barra de direcciones de Google Chrome, que también se conoce como cuadro multifunción.
- pageCapture
-
Usa la API de
chrome.pageCapture
para guardar una pestaña como MHTML. - permisos
-
Usa la API de
chrome.permissions
para solicitar permisos opcionales declarados durante el tiempo de ejecución en lugar de la instalación, de modo que los usuarios comprendan por qué se necesitan los permisos y otorguen solo los que sean necesarios. - platformKeys
-
Chrome 45 y versiones posteriores Solo para ChromeOS
Usa la API de
chrome.platformKeys
para acceder a los certificados de cliente administrados por la plataforma. Si el usuario o la política otorgan el permiso, una extensión puede usar ese certificado en su protocolo de autenticación personalizado. Por ejemplo, esto permite el uso de certificados administrados por la plataforma en VPN de terceros (consulta chrome.vpnProvider). - alimentación
-
Usa la API de
chrome.power
para anular las funciones de administración de batería del sistema. - printerProvider
-
Chrome 44 y versiones posteriores
La API de
chrome.printerProvider
expone los eventos que usa el administrador de impresiones para consultar las impresoras controladas por extensiones, consultar sus capacidades y enviar trabajos de impresión a estas impresoras. - imprimir
-
Chrome 81 y versiones posteriores Solo para ChromeOS
Usa la API de
chrome.printing
para enviar trabajos de impresión a las impresoras instaladas en la Chromebook. - printingMetrics
-
Usa la API de
chrome.printingMetrics
para recuperar datos sobre el uso de impresiones. - privacidad
-
Usa la API de
chrome.privacy
para controlar el uso de las funciones de Chrome que pueden afectar la privacidad del usuario. Esta API se basa en el prototipo de configuración de Chrome de la API de tipo para obtener y establecer la configuración de Chrome. - procesos
-
Canal para desarrolladores
Usa la API de
chrome.processes
para interactuar con los procesos del navegador. - proxy
-
Usa la API de
chrome.proxy
para administrar la configuración de proxy de Chrome. Esta API se basa en el prototipo de configuración de Chrome de la API de tipo para obtener y establecer la configuración del proxy. - readingList
-
Chrome 120 y versiones posteriores MV3 y versiones posteriores
Usa la API de
chrome.readingList
para leer y modificar los elementos de la Lista de lectura. - runtime
-
Usa la API de
chrome.runtime
para recuperar el service worker, mostrar detalles sobre el manifiesto, y detectar eventos en el ciclo de vida de la extensión y responder a ellos. También puedes usar esta API para convertir la ruta de acceso relativa de las URLs en URLs completamente calificadas. - secuencias de comandos
-
Chrome 88 y versiones posteriores MV3 y versiones posteriores
Usa la API de
chrome.scripting
para ejecutar la secuencia de comandos en diferentes contextos. - search
-
Chrome 87 y versiones posteriores
Usa la API de
chrome.search
para buscar a través del proveedor predeterminado. - sesiones
-
Usa la API de
chrome.sessions
para consultar y restablecer pestañas y ventanas de una sesión de navegación. - sidePanel
-
Chrome 114 y versiones posteriores MV3 y versiones posteriores
Usa la API de
chrome.sidePanel
para alojar contenido en el panel lateral del navegador junto al contenido principal de una página web. - almacenamiento
-
Usa la API de
chrome.storage
para almacenar datos del usuario, recuperarlos y hacerles un seguimiento. - system.cpu
-
Usa la API de
system.cpu
para consultar los metadatos de la CPU. - system.display
-
Usa la API de
system.display
para consultar los metadatos de la pantalla. - system.memory
-
La API de
chrome.system.memory
- system.storage
-
Usa la API de
chrome.system.storage
para consultar la información del dispositivo de almacenamiento y recibir notificaciones cuando se conecte y desconecte un dispositivo de almacenamiento extraíble. - systemLog
-
Usa la API de
chrome.systemLog
para registrar los registros del sistema de Chrome desde las extensiones. - tabCapture
-
Usa la API de
chrome.tabCapture
para interactuar con las transmisiones multimedia de pestañas. - tabGroups
-
Chrome 89 y versiones posteriores MV3 y versiones posteriores
Usa la API de
chrome.tabGroups
para interactuar con el sistema de agrupación de pestañas del navegador. Puedes usar esta API para modificar y reorganizar los grupos de pestañas en el navegador. Para agrupar y desagrupar pestañas, o consultar qué pestañas están en grupos, usa la API dechrome.tabs
. - pestañas
-
Usa la API de
chrome.tabs
para interactuar con el sistema de pestañas del navegador. Puedes usar esta API para crear, modificar y reorganizar pestañas en el navegador. - topSites
-
Usa la API de
chrome.topSites
para acceder a los sitios principales (es decir, los más visitados) que se muestran en la página Nueva pestaña. Estas no incluyen las combinaciones de teclas personalizadas por el usuario. - tts
-
Usa la API de
chrome.tts
para reproducir texto a voz (TTS) sintetizado. Consulta también la API dettsEngine
relacionada, que permite que una extensión implemente un motor de voz. - ttsEngine
-
Usa la API de
chrome.ttsEngine
para implementar un motor de texto a voz(TTS) con una extensión. Si tu extensión se registra con esta API, recibirá eventos que contengan una declaración que se pronunciará y otros parámetros cuando cualquier extensión o app de Chrome use la API detts
para generar voz. Luego, la extensión podrá usar cualquier tecnología web disponible para sintetizar y emitir la voz, y enviar eventos a la función que realiza la llamada para informar el estado. - tipos
-
La API de
chrome.types
contiene declaraciones de tipo para Chrome. - userScripts
-
Chrome 120 y versiones posteriores MV3 y versiones posteriores
Usa la API de
userScripts
para ejecutar secuencias de comandos de usuario en el contexto de secuencias de comandos de usuario. - vpnProvider
-
Chrome 43 y versiones posteriores Solo para ChromeOS
Usa la API de
chrome.vpnProvider
para implementar un cliente de VPN. - 3D
-
Chrome 43 y versiones posteriores Solo para ChromeOS
Usa la API de
chrome.wallpaper
para cambiar el fondo de pantalla de ChromeOS. - webAuthenticationProxy
-
Chrome 115 y versiones posteriores MV3 y versiones posteriores
La API de
chrome.webAuthenticationProxy
permite que el software de escritorio remoto que se ejecuta en un host remoto intercepte las solicitudes de la API de Web Authentication (WebAuthn) para controlarlas en un cliente local. - webNavigation
-
Usa la API de
chrome.webNavigation
para recibir notificaciones sobre el estado de las solicitudes de navegación en tránsito. - webRequest
-
Usa la API de
chrome.webRequest
para observar y analizar el tráfico, además de interceptar, bloquear o modificar las solicitudes en tránsito. - ventanas
-
Usa la API de
chrome.windows
para interactuar con las ventanas del navegador. Puedes usar esta API para crear, modificar y reorganizar ventanas en el navegador.