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.accessibilityFeaturespara 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 permisoaccessibilityFeatures.read. Para modificar el estado de las funciones, la extensión necesita el permisoaccessibilityFeatures.modify. Ten en cuenta queaccessibilityFeatures.modifyno implica permiso deaccessibilityFeatures.read.
- action
- 
    Chrome 88 y versiones posteriores MV3 y versiones posterioresUsa la API de chrome.actionpara controlar el ícono de la extensión en la barra de herramientas de Google Chrome.
- alarms
- 
    
    Usa la API de chrome.alarmspara programar el código de modo que se ejecute de forma periódica o en un momento específico en el futuro.
- audio
- 
    Chrome 59 y versiones posteriores Solo en ChromeOSLa API de chrome.audiose 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.bookmarkspara crear, organizar y manipular marcadores de otras formas. Consulta también Páginas de reemplazo, que puedes usar para crear una página personalizada del Administrador de marcadores.
- browsingData
- 
    
    Usa la API de chrome.browsingDatapara quitar los datos de navegación del perfil local de un usuario.
- certificateProvider
- 
    Chrome 46 y versiones posteriores Solo para ChromeOSUsa 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.contentSettingspara 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 del contenido te permite personalizar el comportamiento de Chrome por sitio en lugar de hacerlo de forma global.
- contextMenus
- 
    
    Usa la API de chrome.contextMenuspara 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.cookiespara consultar y modificar cookies, y para recibir notificaciones cuando cambien.
- depurador
- 
    
    La API de chrome.debuggerfunciona como un transporte alternativo para el protocolo de depuración remota de Chrome. Usachrome.debuggerpara adjuntar una o más pestañas para instrumentar la interacción de la red, depurar JavaScript, mutar el DOM y CSS, y mucho más. Usa la propiedadDebuggeetabIdpara segmentar pestañas consendCommandy enrutar eventos portabIddesde devoluciones de llamada deonEvent.
- declarativeContent
- 
    
    Usa la API de chrome.declarativeContentpara realizar acciones según el contenido de una página, sin necesidad de permiso para leerlo.
- declarativeNetRequest
- 
    Chrome 84 y versiones posterioresLa API de chrome.declarativeNetRequestse 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.inspectedWindowpara 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.networkpara 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.panelspara 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 posterioresUsa la API de chrome.devtools.performancepara escuchar las actualizaciones de estado de la grabación en el panel Rendimiento de Herramientas para desarrolladores.
- devtools.recorder
- 
    Chrome 105 y versiones posterioresUsa la API de chrome.devtools.recorderpara personalizar el panel de Recorder en DevTools.
- dns
- 
    Canal de desarrolloUsa la API de chrome.dnspara la resolución de DNS.
- documentScan
- 
    Chrome 44 y versiones posteriores Solo en ChromeOSUsa la API de chrome.documentScanpara descubrir y recuperar imágenes de los escáneres de documentos adjuntos.
- dom
- 
    Chrome 88 y versiones posterioresUsa la API de chrome.dompara acceder a APIs del DOM especiales para extensiones
- descargas
- 
    
    Usa la API de chrome.downloadspara iniciar, supervisar, manipular y buscar descargas de manera programática.
- enterprise.deviceAttributes
- 
    Usa la API de chrome.enterprise.deviceAttributespara 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íticaUsa la API de chrome.enterprise.hardwarePlatformpara 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
- 
    Usa la API de chrome.enterprise.loginpara salir de las sesiones de invitado administradas. Nota: Esta API solo está disponible para las extensiones instaladas por la política empresarial en las sesiones de invitado administradas de ChromeOS.
- enterprise.networkingAttributes
- 
    Usa la API de chrome.enterprise.networkingAttributespara 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íticaUsa la API de chrome.enterprise.platformKeyspara 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.eventscontiene tipos comunes que usan las APIs que envían eventos para notificarte cuando sucede algo interesante.
- extensión
- 
    
    La API de chrome.extensiontiene 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.extensionTypescontiene declaraciones de tipos para las extensiones de Chrome.
- fileBrowserHandler
- 
    Solo en ChromeOS Solo en primer planoUsa la API de chrome.fileBrowserHandlerpara 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 ChromeOSUsa la API de chrome.fileSystemProviderpara crear sistemas de archivos a los que se pueda acceder desde el administrador de archivos en ChromeOS.
- fontSettings
- 
    
    Usa la API de chrome.fontSettingspara administrar la configuración de fuentes de Chrome.
- gcm
- 
    
    Usa chrome.gcmpara 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.historypara 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.i18npara implementar la internacionalización en toda tu app o extensión.
- identity
- 
    
    Usa la API de chrome.identitypara obtener tokens de acceso de OAuth2.
- idle
- 
    
    Usa la API de chrome.idlepara detectar cuándo cambia el estado inactivo de la máquina.
- input.ime
- 
    Solo en ChromeOSUsa la API de chrome.input.imepara 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 posterioresUsa chrome.instanceIDpara acceder al servicio de ID de instancia.
- loginState
- 
    Chrome 78 y versiones posteriores Solo en ChromeOSUsa la API de chrome.loginStatepara leer y supervisar el estado de acceso.
- de videos
- 
    
    La API de chrome.managementproporciona formas de administrar las apps y extensiones instaladas.
- notificaciones
- 
    
    Usa la API de chrome.notificationspara crear notificaciones enriquecidas con plantillas y mostrarlas a los usuarios en la bandeja del sistema.
- offscreen
- 
    Chrome 109 y versiones posteriores MV3 y versiones posterioresUsa la API de offscreenpara 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.pageCapturepara guardar una pestaña como MHTML.
- permisos
- 
    
    Usa la API de chrome.permissionspara 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 ChromeOSUsa la API de chrome.platformKeyspara 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.powerpara anular las funciones de administración de energía del sistema.
- printerProvider
- 
    Chrome 44 y versiones posterioresLa API de chrome.printerProviderexpone 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 ChromeOSUsa la API de chrome.printingpara enviar trabajos de impresión a las impresoras instaladas en la Chromebook.
- printingMetrics
- 
    Usa la API de chrome.printingMetricspara recuperar datos sobre el uso de la impresión.
- privacidad
- 
    
    Usa la API de chrome.privacypara 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 desarrolloUsa la API de chrome.processespara interactuar con los procesos del navegador.
- proxy
- 
    
    Usa la API de chrome.proxypara 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 posterioresUsa la API de chrome.readingListpara leer y modificar los elementos de la Lista de lectura.
- runtime
- 
    
    Usa la API de chrome.runtimepara 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 posterioresUsa la API de chrome.scriptingpara ejecutar la secuencia de comandos en diferentes contextos.
- search
- 
    Chrome 87 y versiones posterioresUsa la API de chrome.searchpara realizar búsquedas a través del proveedor predeterminado.
- sesiones
- 
    
    Usa la API de chrome.sessionspara consultar y restablecer pestañas y ventanas de una sesión de navegación.
- sidePanel
- 
    Chrome 114 y versiones posteriores MV3 y versiones posterioresUsa la API de chrome.sidePanelpara alojar contenido en el panel lateral del navegador junto con el contenido principal de una página web.
- almacenamiento
- 
    
    Usa la API de chrome.storagepara almacenar, recuperar y hacer un seguimiento de los cambios en los datos del usuario.
- system.cpu
- 
    
    Usa la API de system.cpupara consultar los metadatos de la CPU.
- system.display
- 
    
    Usa la API de system.displaypara consultar los metadatos de la pantalla.
- system.memory
- 
    
    La API de chrome.system.memory
- system.storage
- 
    
    Usa la API de chrome.system.storagepara consultar información sobre dispositivos de almacenamiento y recibir notificaciones cuando se conecte y desconecte un dispositivo de almacenamiento extraíble.
- systemLog
- 
    Usa la API de chrome.systemLogpara registrar los registros del sistema de Chrome desde las extensiones.
- tabCapture
- 
    
    Usa la API de chrome.tabCapturepara interactuar con las transmisiones de medios de pestañas.
- tabGroups
- 
    Chrome 89 y versiones posteriores MV3 y versiones posterioresUsa la API de chrome.tabGroupspara 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 dechrome.tabs.
- pestañas
- 
    
    Usa la API de chrome.tabspara 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.topSitespara 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.ttspara reproducir texto a voz (TTS) sintetizado. Consulta también la API dettsEnginerelacionada, que permite que una extensión implemente un motor de voz.
- ttsEngine
- 
    
    Usa la API de chrome.ttsEnginepara 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 dettspara 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.typescontiene declaraciones de tipos para Chrome.
- userScripts
- 
    Chrome 120 y versiones posteriores MV3 y versiones posterioresUsa la API de userScriptspara ejecutar secuencias de comandos del usuario en el contexto de User Scripts.
- vpnProvider
- 
    Chrome 43 y versiones posteriores Solo en ChromeOSUsa la API de chrome.vpnProviderpara implementar un cliente de VPN.
- 3D
- 
    Chrome 43 y versiones posteriores Solo en ChromeOSUsa la API de chrome.wallpaperpara cambiar el fondo de pantalla de ChromeOS.
- webAuthenticationProxy
- 
    Chrome 115 y versiones posteriores MV3 y versiones posterioresLa API de chrome.webAuthenticationProxypermite 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.webNavigationpara recibir notificaciones sobre el estado de las solicitudes de navegación en curso.
- webRequest
- 
    
    Usa la API de chrome.webRequestpara observar y analizar el tráfico, y para interceptar, bloquear o modificar las solicitudes en tránsito.
- windows
- 
    
    Usa la API de chrome.windowspara interactuar con las ventanas del navegador. Puedes usar esta API para crear, modificar y reorganizar ventanas en el navegador.