Referencia de la API

La mayoría de las extensiones necesitan acceso a una o más APIs de extensiones de Chrome para funcionar. En esta referencia de la API, se describen las APIs disponibles para usar en extensiones y se presentan ejemplos de casos de uso.

Funciones comunes de la API de Extensions

Una API de Extensions consta de un espacio de nombres que contiene métodos y propiedades para realizar el trabajo de las 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 de 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 finalice la operación que los llama. Usa promesas para obtener los resultados de estos métodos asíncronos.

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 ChromeSetting de la API de tipo para obtener y configurar funciones de accesibilidad individuales. Para obtener los estados de las funciones, la extensión debe solicitar el permiso accessibilityFeatures.read. Para modificar el estado de las funciones, la extensión necesita el permiso accessibilityFeatures.modify. Ten en cuenta que accessibilityFeatures.modify no implica permiso de accessibilityFeatures.read.

action
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.

alarms

Usa la API de chrome.alarms para programar la ejecución de código de forma periódica o en un momento específico en el futuro.

audio
Chrome 59 y versiones posteriores Solo en 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 el modo kiosco para ChromeOS.

favoritos

Usa la API de chrome.bookmarks para crear, organizar y manipular marcadores de otras formas. Consulta también Override Pages, que puedes usar para crear una página personalizada del Administrador de marcadores.

browsingData

Usa la API de chrome.browsingData para quitar los 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 a la plataforma, que puede usarlos para autenticaciones de TLS.

comandos

Usa la API de commands 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 la configuración que controla 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 por sitio en lugar de hacerlo 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 tus adiciones al menú contextual, como imágenes, hipervínculos y páginas.

cookies

Usa la API de chrome.cookies para consultar y modificar cookies, y para recibir notificaciones cuando cambien.

depurador

La API de chrome.debugger funciona como un transporte alternativo para el protocolo de depuración remota de Chrome. Usa chrome.debugger para adjuntar una o más pestañas para instrumentar la interacción de red, depurar JavaScript, mutar el DOM y CSS, y mucho más. Usa la propiedad Debuggee tabId para segmentar pestañas con sendCommand y enrutar eventos por tabId desde devoluciones de llamada de onEvent.

declarativeContent

Usa la API de chrome.declarativeContent para realizar acciones según el contenido de una página, sin necesidad de permiso para leerlo.

declarativeNetRequest
Chrome 84 y versiones posteriores

La API de chrome.declarativeNetRequest se usa para bloquear o modificar solicitudes de red especificando 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 individuales 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 la 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 la página.

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 de 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 paneles existentes y agrega barras laterales.

devtools.performance
Chrome 129 y versiones posteriores

Usa la API de chrome.devtools.performance para escuchar las actualizaciones de estado de la grabación en el panel Rendimiento de Herramientas para desarrolladores.

devtools.recorder
Chrome 105 y versiones posteriores

Usa la API de chrome.devtools.recorder para personalizar el panel de Recorder en DevTools.

dns
Canal de desarrollo

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 de los escáneres de documentos adjuntos.

dom
Chrome 88 y versiones posteriores

Usa la API de chrome.dom para acceder a APIs del DOM especiales para extensiones

descargas

Usa la API de chrome.downloads para iniciar, supervisar, manipular y buscar descargas de manera programática.

enterprise.deviceAttributes
Chrome 46 y versiones posteriores Solo para ChromeOS Requiere política

Usa la API de chrome.enterprise.deviceAttributes para leer los atributos del dispositivo. Nota: Esta API solo está disponible para las extensiones que la política empresarial instala de manera automática.

enterprise.hardwarePlatform
Chrome 71 y versiones posteriores Requiere 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 las extensiones instaladas por la política empresarial.

enterprise.login
Pendiente Solo en ChromeOS Requiere política

Usa la API de chrome.enterprise.login para salir de las sesiones de usuario. Nota: Esta API solo está disponible para las extensiones instaladas por la política empresarial en sesiones administradas de ChromeOS.

enterprise.networkingAttributes
Chrome 85 y versiones posteriores Solo en ChromeOS Requiere política

Usa la API de chrome.enterprise.networkingAttributes para leer información sobre tu red actual. Nota: Esta API solo está disponible para las extensiones que la política empresarial instala de manera automática.

enterprise.platformKeys
Solo en ChromeOS Requiere política

Usa la API de chrome.enterprise.platformKeys para generar claves y, luego, instalar certificados para esas claves. La plataforma administrará los certificados, que se podrán usar para la autenticación de TLS, el acceso a la red o por 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 pueden usar todas las páginas 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 Paso de mensajes.

extensionTypes

La API de chrome.extensionTypes contiene declaraciones de tipos para las extensiones de Chrome.

fileBrowserHandler
Solo en ChromeOS Solo en primer plano

Usa la API de chrome.fileBrowserHandler para extender el explorador de archivos de ChromeOS. Por ejemplo, puedes usar esta API para permitir que los usuarios suban archivos a tu sitio web.

fileSystemProvider
Solo en ChromeOS

Usa la API de chrome.fileSystemProvider para crear sistemas de archivos a los que se pueda 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 para permitir que las apps y extensiones envíen y reciban mensajes a través de Firebase Cloud Messaging (FCM).

historial

Usa la API de chrome.history para interactuar con el registro del navegador de las páginas visitadas. Puedes agregar, quitar y consultar URLs en el historial del navegador. Para reemplazar la página del historial con tu propia versión, consulta Override Pages.

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.

idle

Usa la API de chrome.idle para detectar cuándo cambia el estado inactivo de la máquina.

input.ime
Solo en ChromeOS

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 de candidatos.

instanceID
Chrome 44 y versiones posteriores

Usa chrome.instanceID para acceder al servicio de ID de instancia.

loginState
Chrome 78 y versiones posteriores Solo en 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 las apps y extensiones instaladas.

notificaciones

Usa la API de chrome.notifications para crear notificaciones enriquecidas con plantillas y mostrarlas a los usuarios en la bandeja del sistema.

offscreen
Chrome 109 y versiones posteriores MV3 y versiones posteriores

Usa la API de offscreen para crear y administrar documentos fuera de la pantalla.

omnibox

La API de Omnibox te permite registrar una palabra clave en la barra de direcciones de Google Chrome, también conocida como Omnibox.

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 en el tiempo de ejecución en lugar de en el tiempo de 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 en ChromeOS

Usa la API de chrome.platformKeys para acceder a los certificados de cliente que administra 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 VPNs de terceros (consulta chrome.vpnProvider).

encendido

Usa la API de chrome.power para anular las funciones de administración de energía del sistema.

printerProvider
Chrome 44 y versiones posteriores

La API de chrome.printerProvider expone eventos que usa el administrador de impresión para consultar las impresoras controladas por extensiones, consultar sus capacidades y enviar trabajos de impresión a estas impresoras.

impresión
Chrome 81 y versiones posteriores Solo en ChromeOS

Usa la API de chrome.printing para enviar trabajos de impresión a las impresoras instaladas en la Chromebook.

printingMetrics
Chrome 79 y versiones posteriores Solo en ChromeOS Requiere política

Usa la API de chrome.printingMetrics para recuperar datos sobre el uso de la impresión.

privacidad

Usa la API de chrome.privacy para controlar el uso de las funciones de Chrome que pueden afectar la privacidad de un usuario. Esta API se basa en el prototipo ChromeSetting de la API de tipo para obtener y establecer la configuración de Chrome.

procesos
Canal de desarrollo

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 ChromeSetting 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, devolver detalles sobre el manifiesto y escuchar y responder a eventos en el ciclo de vida de la extensión. También puedes usar esta API para convertir la ruta relativa de las URLs en URLs completas.

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 realizar búsquedas 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 con el contenido principal de una página web.

almacenamiento

Usa la API de chrome.storage para almacenar, recuperar y hacer un seguimiento de los cambios en los datos del usuario.

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 información sobre dispositivos de almacenamiento y recibir notificaciones cuando se conecte y desconecte un dispositivo de almacenamiento extraíble.

systemLog
Chrome 125 y versiones posteriores Solo para ChromeOS Requiere política

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 de medios 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 agrupamiento 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 para consultar qué pestañas hay en los grupos, usa la API de chrome.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 sitios más visitados) que se muestran en la página de nueva pestaña. No se incluyen los atajos personalizados por el usuario.

tts

Usa la API de chrome.tts para reproducir texto a voz (TTS) sintetizado. Consulta también la API de ttsEngine 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 contienen una expresión para hablar y otros parámetros cuando cualquier extensión o app de Chrome use la API de tts para generar voz. Luego, tu extensión puede usar cualquier tecnología web disponible para sintetizar y generar la voz, y enviar eventos a la función de llamada para informar el estado.

tipos

La API de chrome.types contiene declaraciones de tipos para Chrome.

userScripts
Chrome 120 y versiones posteriores MV3 y versiones posteriores

Usa la API de userScripts para ejecutar secuencias de comandos del usuario en el contexto de User Scripts.

vpnProvider
Chrome 43 y versiones posteriores Solo en ChromeOS

Usa la API de chrome.vpnProvider para implementar un cliente de VPN.

3D
Chrome 43 y versiones posteriores Solo en 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 curso.

webRequest

Usa la API de chrome.webRequest para observar y analizar el tráfico, y para interceptar, bloquear o modificar las solicitudes en tránsito.

windows

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.