A maioria das extensões precisa de acesso a uma ou mais APIs de extensões do Chrome para funcionar. Esta referência descreve as APIs disponíveis para uso em extensões e apresenta exemplos de casos de uso.
Recursos comuns da API Extensions
Uma API Extensions consiste em um namespace que contém métodos e propriedades para trabalhar com extensões e, geralmente, mas não sempre, campos de manifesto para o arquivo manifest.json. Por exemplo, o namespace chrome.action exige um objeto "action"
no manifesto. Muitas APIs também exigem permissões no manifesto.
Os métodos nas APIs de extensão são assíncronos, a menos que indicado de outra forma. Os métodos assíncronos retornam imediatamente, sem esperar a conclusão da operação que os chama. Use promises para receber os resultados desses métodos assíncronos.
APIs de extensões do Chrome
- accessibilityFeatures
- 
    
    Use a API chrome.accessibilityFeaturespara gerenciar os recursos de acessibilidade do Chrome. Essa API depende do protótipo ChromeSetting da API de tipo para receber e definir recursos de acessibilidade individuais. Para receber estados de recursos, a extensão precisa solicitar a permissãoaccessibilityFeatures.read. Para modificar o estado do recurso, a extensão precisa da permissãoaccessibilityFeatures.modify.accessibilityFeatures.modifynão implica permissão deaccessibilityFeatures.read.
- ação
- 
    Chrome 88+ MV3+Use a API chrome.actionpara controlar o ícone da extensão na barra de ferramentas do Google Chrome.
- alarms
- 
    
    Use a API chrome.alarmspara programar a execução do código periodicamente ou em um horário especificado no futuro.
- áudio
- 
    Chrome 59 ou mais recente Somente no ChromeOSA API chrome.audioé fornecida para permitir que os usuários recebam informações sobre os dispositivos de áudio conectados ao sistema e os controlem. No momento, essa API está disponível apenas no modo quiosque para ChromeOS.
- favoritos
- 
    
    Use a API chrome.bookmarkspara criar, organizar e manipular favoritos. Consulte também Substituir páginas, que você pode usar para criar uma página personalizada do Gerenciador de favoritos.
- browsingData
- 
    
    Use a API chrome.browsingDatapara remover dados de navegação do perfil local de um usuário.
- certificateProvider
- 
    Chrome 46 ou mais recente Somente no ChromeOSUse essa API para expor certificados à plataforma, que pode usá-los para autenticações TLS. 
- comandos
- 
    
    Use a API Commands para adicionar atalhos de teclado que acionam ações na sua extensão, por exemplo, uma ação para abrir a ação do navegador ou enviar um comando para a extensão. 
- contentSettings
- 
    
    Use a API chrome.contentSettingspara mudar as configurações que controlam se os sites podem usar recursos como cookies, JavaScript e plug-ins. De modo geral, as configurações de conteúdo permitem personalizar o comportamento do Chrome em cada site, em vez de globalmente.
- contextMenus
- 
    
    Use a API chrome.contextMenuspara adicionar itens ao menu de contexto do Google Chrome. Você pode escolher a quais tipos de objetos suas adições ao menu de contexto se aplicam, como imagens, hiperlinks e páginas.
- cookies
- 
    
    Use a API chrome.cookiespara consultar e modificar cookies e receber notificações quando eles mudarem.
- debugger
- 
    
    A API chrome.debuggerserve como um transporte alternativo para o protocolo de depuração remota do Chrome. Usechrome.debuggerpara anexar a uma ou mais guias e instrumentar a interação de rede, depurar JavaScript, mudar o DOM e o CSS e muito mais. Use a propriedadeDebuggeetabIdpara segmentar guias comsendCommande rotear eventos portabIdde callbacksonEvent.
- declarativeContent
- 
    
    Use a API chrome.declarativeContentpara realizar ações dependendo do conteúdo de uma página, sem precisar de permissão para ler o conteúdo dela.
- declarativeNetRequest
- 
    Chrome 84 ou mais recenteA API chrome.declarativeNetRequesté usada para bloquear ou modificar solicitações de rede especificando regras declarativas. Isso permite que as extensões modifiquem as solicitações de rede sem interceptá-las e ver o conteúdo delas, oferecendo mais privacidade.
- desktopCapture
- 
    
    A API Desktop Capture captura o conteúdo da tela, de janelas ou guias individuais. 
- devtools.inspectedWindow
- 
    
    Use a API chrome.devtools.inspectedWindowpara interagir com a janela inspecionada: obtenha o ID da guia da página inspecionada, avalie o código no contexto da janela inspecionada, recarregue a página ou obtenha a lista de recursos na página.
- devtools.network
- 
    
    Use a API chrome.devtools.networkpara recuperar as informações sobre solicitações de rede mostradas pelas Ferramentas para desenvolvedores no painel "Rede".
- devtools.panels
- 
    
    Use a API chrome.devtools.panelspara integrar sua extensão à interface da janela Ferramentas para desenvolvedores: crie seus próprios painéis, acesse os painéis atuais e adicione barras laterais.
- devtools.performance
- 
    Chrome 129+Use a API chrome.devtools.performancepara ouvir atualizações de status de gravação no painel "Performance" das DevTools.
- devtools.recorder
- 
    Chrome 105 ou mais recenteUse a API chrome.devtools.recorderpara personalizar o painel "Gravador" nas DevTools.
- dns
- 
    Canal para desenvolvedoresUse a API chrome.dnspara resolução de DNS.
- documentScan
- 
    Chrome 44 ou mais recente Somente no ChromeOSUse a API chrome.documentScanpara descobrir e recuperar imagens de scanners de documentos anexados.
- dom
- 
    Chrome 88 ou mais recenteUsar a API chrome.dompara acessar APIs DOM especiais para extensões
- downloads
- 
    
    Use a API chrome.downloadspara iniciar, monitorar, manipular e pesquisar downloads de maneira programática.
- enterprise.deviceAttributes
- 
    Use a API chrome.enterprise.deviceAttributespara ler atributos de dispositivo. Observação: essa API está disponível apenas para extensões de instalação forçada por política corporativa.
- enterprise.hardwarePlatform
- 
    Chrome 71 ou mais recente Requer políticaUse a API chrome.enterprise.hardwarePlatformpara receber o fabricante e o modelo da plataforma de hardware em que o navegador é executado. Observação: essa API está disponível apenas para extensões instaladas por política corporativa.
- enterprise.login
- 
    Use a API chrome.enterprise.loginpara sair das sessões de visitante gerenciadas. Observação: essa API está disponível apenas para extensões instaladas por políticas corporativas em sessões de visitante gerenciadas do ChromeOS.
- enterprise.networkingAttributes
- 
    Use a API chrome.enterprise.networkingAttributespara ler informações sobre sua rede atual. Observação: essa API está disponível apenas para extensões de instalação forçada por política corporativa.
- enterprise.platformKeys
- 
    Somente no ChromeOS Requer políticaUse a API chrome.enterprise.platformKeyspara gerar chaves e instalar certificados para elas. Os certificados serão gerenciados pela plataforma e poderão ser usados para autenticação TLS, acesso à rede ou por outra extensão usando chrome.platformKeys.
- eventos
- 
    
    O namespace chrome.eventscontém tipos comuns usados por APIs que enviam eventos para notificar você quando algo interessante acontece.
- extension
- 
    
    A API chrome.extensiontem utilitários que podem ser usados por qualquer página de extensão. Isso inclui suporte para troca de mensagens entre uma extensão e os scripts de conteúdo dela ou entre extensões, conforme descrito em detalhes em Transmissão de mensagens.
- extensionTypes
- 
    
    A API chrome.extensionTypescontém declarações de tipo para extensões do Chrome.
- fileBrowserHandler
- 
    Somente no ChromeOS Somente em primeiro planoUse a API chrome.fileBrowserHandlerpara estender o navegador de arquivos do Chrome OS. Por exemplo, é possível usar essa API para permitir que os usuários façam upload de arquivos para seu site.
- fileSystemProvider
- 
    Somente no ChromeOSUse a API chrome.fileSystemProviderpara criar sistemas de arquivos que podem ser acessados no gerenciador de arquivos do Chrome OS.
- fontSettings
- 
    
    Use a API chrome.fontSettingspara gerenciar as configurações de fonte do Chrome.
- gcm
- 
    
    Use chrome.gcmpara permitir que apps e extensões enviem e recebam mensagens pelo Firebase Cloud Messaging (FCM).
- histórico
- 
    
    Use a API chrome.historypara interagir com o registro de páginas visitadas do navegador. É possível adicionar, remover e consultar URLs no histórico do navegador. Para substituir a página de histórico pela sua própria versão, consulte Substituir páginas.
- i18n
- 
    
    Use a infraestrutura chrome.i18npara implementar a internacionalização em todo o app ou extensão.
- identity
- 
    
    Use a API chrome.identitypara receber tokens de acesso do OAuth2.
- idle
- 
    
    Use a API chrome.idlepara detectar quando o estado de inatividade da máquina muda.
- input.ime
- 
    Somente no ChromeOSUse a API chrome.input.imepara implementar um IME personalizado para o Chrome OS. Isso permite que sua extensão processe pressionamentos de tecla, defina a composição e gerencie a janela de candidatos.
- instanceID
- 
    Chrome 44 ou mais recenteUse chrome.instanceIDpara acessar o serviço de ID da instância.
- loginState
- 
    Chrome 78 ou mais recente Somente no ChromeOSUse a API chrome.loginStatepara ler e monitorar o estado de login.
- de vídeo
- 
    
    A API chrome.managementoferece maneiras de gerenciar apps e extensões instalados.
- notificações
- 
    
    Use a API chrome.notificationspara criar notificações avançadas usando modelos e mostrar essas notificações aos usuários na bandeja do sistema.
- offscreen
- 
    Chrome 109+ MV3+Use a API offscreenpara criar e gerenciar documentos fora da tela.
- omnibox
- 
    
    A API omnibox permite registrar uma palavra-chave na barra de endereços do Google Chrome, também conhecida como omnibox. 
- pageCapture
- 
    
    Use a API chrome.pageCapturepara salvar uma guia como MHTML.
- permissões
- 
    
    Use a API chrome.permissionspara solicitar permissões opcionais declaradas no tempo de execução em vez de no tempo de instalação. Assim, os usuários entendem por que as permissões são necessárias e concedem apenas as necessárias.
- platformKeys
- 
    Chrome 45 ou mais recente Somente no ChromeOSUse a API chrome.platformKeyspara acessar certificados de cliente gerenciados pela plataforma. Se o usuário ou a política conceder a permissão, uma extensão poderá usar esse certificado no protocolo de autenticação personalizado. Por exemplo, isso permite o uso de certificados gerenciados pela plataforma em VPNs de terceiros (consulte chrome.vpnProvider).
- power
- 
    
    Use a API chrome.powerpara substituir os recursos de gerenciamento de energia do sistema.
- printerProvider
- 
    Chrome 44 ou mais recenteA API chrome.printerProviderexpõe eventos usados pelo gerenciador de impressão para consultar impressoras controladas por extensões, consultar os recursos delas e enviar trabalhos de impressão para essas impressoras.
- impressão
- 
    Chrome 81 ou mais recente Somente no ChromeOSUse a API chrome.printingpara enviar trabalhos de impressão para impressoras instaladas no Chromebook.
- printingMetrics
- 
    Use a API chrome.printingMetricspara buscar dados sobre o uso da impressão.
- privacidade
- 
    
    Use a API chrome.privacypara controlar o uso dos recursos do Chrome que podem afetar a privacidade de um usuário. Essa API depende do protótipo ChromeSetting da API type para receber e definir a configuração do Chrome.
- processos
- 
    Canal para desenvolvedoresUse a API chrome.processespara interagir com os processos do navegador.
- proxy
- 
    
    Use a API chrome.proxypara gerenciar as configurações de proxy do Chrome. Essa API depende do protótipo ChromeSetting da API type para receber e definir a configuração de proxy.
- readingList
- 
    Chrome 120+ MV3+Use a API chrome.readingListpara ler e modificar os itens na Lista de leitura.
- runtime
- 
    
    Use a API chrome.runtimepara recuperar o service worker, retornar detalhes sobre o manifesto e detectar e responder a eventos no ciclo de vida da extensão. Também é possível usar essa API para converter o caminho relativo de URLs em URLs totalmente qualificados.
- scripting
- 
    Chrome 88+ MV3+Use a API chrome.scriptingpara executar scripts em contextos diferentes.
- search
- 
    Chrome 87 ou mais recenteUse a API chrome.searchpara pesquisar pelo provedor padrão.
- sessões
- 
    
    Use a API chrome.sessionspara consultar e restaurar guias e janelas de uma sessão de navegação.
- sidePanel
- 
    Chrome 114+ MV3+Use a API chrome.sidePanelpara hospedar conteúdo no painel lateral do navegador ao lado do conteúdo principal de uma página da Web.
- armazenamento
- 
    
    Use a API chrome.storagepara armazenar, recuperar e rastrear mudanças nos dados do usuário.
- system.cpu
- 
    
    Use a API system.cpupara consultar metadados da CPU.
- system.display
- 
    
    Use a API system.displaypara consultar metadados de exibição.
- system.memory
- 
    
    A API chrome.system.memory.
- system.storage
- 
    
    Use a API chrome.system.storagepara consultar informações do dispositivo de armazenamento e receber notificações quando um dispositivo de armazenamento removível é conectado e desconectado.
- systemLog
- 
    Use a API chrome.systemLogpara registrar registros do sistema do Chrome de extensões.
- tabCapture
- 
    
    Use a API chrome.tabCapturepara interagir com streams de mídia de guias.
- tabGroups
- 
    Chrome 89+ MV3+Use a API chrome.tabGroupspara interagir com o sistema de agrupamento de guias do navegador. É possível usar essa API para modificar e reorganizar grupos de guias no navegador. Para agrupar e desagrupar guias ou consultar quais guias estão em grupos, use a APIchrome.tabs.
- guias
- 
    
    Use a API chrome.tabspara interagir com o sistema de guias do navegador. Você pode usar essa API para criar, modificar e reorganizar guias no navegador.
- topSites
- 
    
    Use a API chrome.topSitespara acessar os principais sites (ou seja, os mais visitados) que aparecem na página "Nova guia". Eles não incluem atalhos personalizados pelo usuário.
- tts
- 
    
    Use a API chrome.ttspara reproduzir a conversão de texto em voz (TTS) sintetizada. Consulte também a APIttsEnginerelacionada, que permite que uma extensão implemente um mecanismo de fala.
- ttsEngine
- 
    
    Use a API chrome.ttsEnginepara implementar um mecanismo de conversão de texto em voz(TTS) usando uma extensão. Se a extensão se registrar usando essa API, ela vai receber eventos com uma expressão a ser falada e outros parâmetros quando qualquer extensão ou app do Chrome usar a APIttspara gerar fala. Sua extensão pode usar qualquer tecnologia da Web disponível para sintetizar e gerar a fala, além de enviar eventos de volta para a função de chamada e informar o status.
- types
- 
    
    A API chrome.typescontém declarações de tipo para o Chrome.
- userScripts
- 
    Chrome 120+ MV3+Use a API userScriptspara executar scripts de usuário no contexto de scripts de usuário.
- vpnProvider
- 
    Chrome 43 ou mais recente Somente no ChromeOSUse a API chrome.vpnProviderpara implementar um cliente VPN.
- plano de fundo
- 
    Chrome 43 ou mais recente Somente no ChromeOSUse a API chrome.wallpaperpara mudar o plano de fundo do ChromeOS.
- webAuthenticationProxy
- 
    Chrome 115+ MV3+A API chrome.webAuthenticationProxypermite que um software de Área de Trabalho remota executado em um host remoto intercepte solicitações da API Web Authentication (WebAuthn) para processá-las em um cliente local.
- webNavigation
- 
    
    Use a API chrome.webNavigationpara receber notificações sobre o status das solicitações de navegação em andamento.
- webRequest
- 
    
    Use a API chrome.webRequestpara observar e analisar o tráfego e interceptar, bloquear ou modificar solicitações em andamento.
- windows
- 
    
    Use a API chrome.windowspara interagir com janelas do navegador. Você pode usar essa API para criar, modificar e reorganizar janelas no navegador.