Referência da API

A maioria das extensões precisa de acesso a uma ou mais APIs de extensões do Google Chrome para funcionar. Esta Referência da API 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 fazer o trabalho de extensões e, geralmente, mas não sempre, campos de manifesto para o arquivo manifest.json. Por exemplo, o namespace chrome.action requer um objeto "action" no manifesto. Muitas APIs também exigem permissões no manifesto.

Os métodos em APIs de extensão são assíncronos, a menos que especificado de outra forma. Os métodos assíncronos retornam imediatamente, sem aguardar a conclusão da operação que os chama. Use promessas para receber os resultados desses métodos. Para mais informações, consulte Métodos assíncronos.

APIs de extensão do Chrome

accessibilityFeatures

Use a API chrome.accessibilityFeatures para gerenciar os recursos de acessibilidade do Chrome. Essa API usa o protótipo ChromeSetting da API de tipo para receber e definir recursos de acessibilidade individuais. Para acessar os estados do recurso, a extensão precisa solicitar a permissão accessibilityFeatures.read. Para modificar o estado do recurso, a extensão precisa da permissão accessibilityFeatures.modify. Observe que accessibilityFeatures.modify não implica a permissão accessibilityFeatures.read.

ação
Chrome 88+ MV3+

Use a API chrome.action para controlar o ícone da extensão na barra de ferramentas do Google Chrome.

alarmes

Use a API chrome.alarms para programar a execução periódica ou em um horário especificado no futuro.

áudio
Chrome 59+ Apenas no ChromeOS

A API chrome.audio é fornecida para permitir que os usuários recebam informações e controlem os dispositivos de áudio conectados ao sistema. No momento, essa API só está disponível no modo quiosque para o ChromeOS.

favoritos

Use a API chrome.bookmarks para criar, organizar e manipular favoritos. Consulte também Substituir páginas, que pode ser usado para criar uma página personalizada do Gerenciador de favoritos.

browsingData

Use a API chrome.browsingData para remover dados de navegação do perfil local de um usuário.

certificateProvider
Chrome 46+ Apenas no ChromeOS

Use essa API para expor certificados para a plataforma que pode usar esses certificados para autenticações TLS.

comandos

Use a API de comandos 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.contentSettings para mudar as configurações que controlam se os sites podem usar recursos como cookies, JavaScript e plug-ins. De modo mais geral, as configurações de conteúdo permitem personalizar o comportamento do Chrome por site, e não globalmente.

contextMenus

Use a API chrome.contextMenus para adicionar itens ao menu de contexto do Google Chrome. Escolha a que tipos de objetos as adições do menu de contexto se aplicam, como imagens, hiperlinks e páginas.

cookies

Use a API chrome.cookies para consultar e modificar cookies e receber notificações quando eles mudarem.

debugger

A API chrome.debugger serve como um transporte alternativo para o protocolo de depuração remota do Chrome. Use chrome.debugger para anexar a uma ou mais guias para instrumentar a interação de rede, depurar o JavaScript, modificar o DOM e o CSS etc. Use o tabId do depurador para segmentar guias com sendCommand e rotear eventos por tabId dos callbacks onEvent.

declarativeContent

Use a API chrome.declarativeContent para realizar ações dependendo do conteúdo de uma página, sem precisar de permissão para ler o conteúdo.

declarativeNetRequest
Chrome 84 ou mais recente

A 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 interceptar e visualizar o conteúdo, 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.inspectedWindow para interagir com a janela inspecionada: consiga o ID da guia da página inspecionada, avalie o código no contexto da janela inspecionada, recarregue a página ou acesse a lista de recursos dentro da página.

devtools.network

Use a API chrome.devtools.network para recuperar as informações sobre solicitações de rede mostradas pelas Ferramentas para desenvolvedores no painel "Rede".

devtools.panels

Use a API chrome.devtools.panels para integrar sua extensão à interface da janela "Ferramentas para desenvolvedores": crie seus próprios painéis, acesse os atuais e adicione barras laterais.

devtools.recorder
Chrome 105 ou mais recente

Use a API chrome.devtools.recorder para personalizar o painel do Gravador no DevTools.

dns
Canal de Desenvolvedor

Use a API chrome.dns para resolução de DNS.

documentScan
Chrome 44+ Apenas no ChromeOS

Use a API chrome.documentScan para descobrir e recuperar imagens dos scanners de documentos anexados.

dom
Chrome 88 ou mais recente

Usar a API chrome.dom para acessar APIs DOM especiais para extensões

downloads

Use a API chrome.downloads para iniciar, monitorar, manipular e pesquisar downloads de maneira programática.

enterprise.deviceAttributes
Chrome 46+ Apenas no ChromeOS Requer política

Use a API chrome.enterprise.deviceAttributes para ler os atributos do dispositivo. Observação: essa API só está disponível para extensões de instalação forçada pela política da empresa.

enterprise.hardwarePlatform

Use a API chrome.enterprise.hardwarePlatform para saber o fabricante e o modelo da plataforma de hardware em que o navegador é executado. Observação: essa API só está disponível para extensões instaladas pela política da empresa.

enterprise.networkingAttributes
Chrome 85+ Apenas no ChromeOS Requer política

Use a API chrome.enterprise.networkingAttributes para ler informações sobre sua rede atual. Observação: essa API só está disponível para extensões de instalação forçada pela política da empresa.

enterprise.platformKeys
Somente ChromeOS Política obrigatória

Use a API chrome.enterprise.platformKeys para 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 por meio de {@link platformKeys chrome.platformKeys}.

eventos

O namespace chrome.events contém tipos comuns usados pelas APIs que distribuem eventos para notificar você quando algo interessante acontece.

extensão

A API chrome.extension tem utilitários que podem ser usados por qualquer página de extensão. Ele inclui suporte à 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.extensionTypes contém declarações de tipo para as extensões do Chrome.

fileBrowserHandler
Somente ChromeOS Somente em primeiro plano

Use a API chrome.fileBrowserHandler para 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
Apenas no ChromeOS

Use a API chrome.fileSystemProvider para criar sistemas de arquivos que podem ser acessados no gerenciador de arquivos no Chrome OS.

fontSettings

Use a API chrome.fontSettings para gerenciar as configurações de fonte do Chrome.

gcm

Use chrome.gcm para permitir que apps e extensões enviem e recebam mensagens pelo Firebase Cloud Messaging (FCM).

histórico

Use a API chrome.history para interagir com o registro de páginas visitadas do navegador. Você pode adicionar, remover e consultar URLs no histórico do navegador. Para substituir a página do histórico por uma versão própria, consulte Substituir páginas.

i18n (link em inglês)

Use a infraestrutura chrome.i18n para implementar a internacionalização em todo o app ou extensão.

identidade

Use a API chrome.identity para receber tokens de acesso do OAuth2.

inativo

Use a API chrome.idle para detectar quando o estado inativo da máquina muda.

input.ime

Use a API chrome.input.ime para implementar um IME personalizado para o Chrome OS. Isso permite que a extensão processe pressionamentos de tecla, defina a composição e gerencie a janela de candidatos.

instanceID
Chrome 44 ou mais recente

Use chrome.instanceID para acessar o serviço de ID da instância.

loginState
Chrome 78+ Apenas no ChromeOS

Use a API chrome.loginState para ler e monitorar o estado do login.

de vídeo

A API chrome.management oferece maneiras de gerenciar a lista de extensões/apps instalados e em execução. Ele é útil principalmente para extensões que substituim a página "Nova guia" integrada.

notificações

Use a API chrome.notifications para criar notificações avançadas usando modelos e mostrá-las aos usuários na bandeja do sistema.

fora da tela
Chrome 109+ MV3+

Use a API offscreen para criar e gerenciar documentos fora da tela.

omnibox (em inglês)

A API omnibox permite que você registre uma palavra-chave na barra de endereço do Google Chrome, que também é conhecida como omnibox.

pageCapture

Use a API chrome.pageCapture para salvar uma guia como MHTML.

permissões

Use a API chrome.permissions para solicitar permissões opcionais declaradas no momento da execução, em vez de no momento da 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+ Apenas no ChromeOS

Use a API chrome.platformKeys para acessar certificados do cliente gerenciados pela plataforma. Se o usuário ou a política conceder a permissão, uma extensão poderá usar esse certificado em seu protocolo de autenticação personalizado. Por exemplo, isso permite o uso de certificados gerenciados pela plataforma em VPNs de terceiros (consulte {@link vpnProvider chrome.vpnProvider}).

poder

Use a API chrome.power para substituir os recursos de gerenciamento de energia do sistema.

printerProvider
Chrome 44 ou mais recente

A API chrome.printerProvider expõ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+ Apenas no ChromeOS

Use a API chrome.printing para enviar trabalhos de impressão para impressoras instaladas no Chromebook.

printingMetrics
Chrome 79+ Apenas no ChromeOS Requer política

Use a API chrome.printingMetrics para buscar dados sobre o uso de impressão.

privacidade

Utilize a API chrome.privacy para controlar o uso no Chrome dos recursos que podem afetar a privacidade de um usuário. Essa API usa o protótipo ChromeSetting da API de tipo para receber e definir a configuração do Chrome.

processos
Canal de Desenvolvedor

Use a API chrome.processes para interagir com os processos do navegador.

proxy

Use a API chrome.proxy para gerenciar as configurações de proxy do Chrome. Essa API usa o protótipo ChromeSetting da API de tipo para receber e definir a configuração do proxy.

readingList
Chrome 120+ MV3+

Use a API chrome.readingList para ler e modificar os itens da Lista de leitura.

runtime

Use a API chrome.runtime para extrair 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.

scripts
Chrome 88+ MV3+

Use a API chrome.scripting para executar o script em contextos diferentes.

search
Chrome 87 ou mais recente

Use a API chrome.search para pesquisar pelo provedor padrão.

sessões

Use a API chrome.sessions para consultar e restaurar guias e janelas de uma sessão de navegação.

sidePanel
Chrome 114+ MV3+

Use a API chrome.sidePanel para 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.storage para armazenar, extrair e rastrear mudanças nos dados do usuário.

system.cpu

Use a API system.cpu para consultar metadados da CPU.

system.display

Use a API system.display para consultar metadados de exibição.

system.memory

A API chrome.system.memory

system.storage

Use a API chrome.system.storage para consultar informações do dispositivo de armazenamento e receber uma notificação quando um dispositivo de armazenamento removível for conectado e removido.

tabCapture

Use a API chrome.tabCapture para interagir com fluxos de mídia da guia.

tabGroups
Chrome 89+ MV3+

Use a API chrome.tabGroups para interagir com o sistema de agrupamento de guias do navegador. Você pode usar essa API para modificar e reorganizar grupos de guias no navegador. Para agrupar e desagrupar guias ou para consultar quais guias estão em grupos, use a API chrome.tabs.

guias

Use a API chrome.tabs para 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.topSites para acessar os principais sites (ou seja, os mais visitados) que são exibidos na página "Nova guia". Eles não incluem atalhos personalizados pelo usuário.

tts

Use a API chrome.tts para reproduzir a conversão de texto em voz (TTS) sintetizada. Consulte também a API {@link ttsEngine} relacionada, que permite que uma extensão implemente um mecanismo de fala.

ttsEngine

Use a API chrome.ttsEngine para implementar um mecanismo de conversão de texto em voz(TTS) usando uma extensão. Se a extensão for registrada usando essa API, ela vai receber eventos com uma fala a ser falada e outros parâmetros quando qualquer extensão ou app do Chrome usar a API {@link tts} para gerar fala. Sua extensão pode usar qualquer tecnologia da Web disponível para sintetizar e gerar a fala e enviar eventos de volta para a função de chamada a fim de informar o status.

tipos

A API chrome.types contém declarações de tipo para o Chrome.

userScripts
Chrome 120+ MV3+

Use a API userScripts para executar scripts de usuário no contexto de scripts de usuário.

vpnProvider
Chrome 43+ Apenas no ChromeOS

Use a API chrome.vpnProvider para implementar um cliente de VPN.

plano de fundo
Chrome 43+ Apenas no ChromeOS

Use a API chrome.wallpaper para mudar o plano de fundo do ChromeOS.

webAuthenticationProxy
Chrome 115+ MV3+

A API chrome.webAuthenticationProxy permite que o software da área de trabalho remota em execução em um host remoto intercepte solicitações da API Web Authentication (WebAuthn) para processá-las em um cliente local.

webNavigation

Use a API chrome.webNavigation para receber notificações sobre o status das solicitações de navegação em andamento.

webRequest

Use a API chrome.webRequest para observar e analisar o tráfego e para interceptar, bloquear ou modificar solicitações em trânsito.

janelas

Use a API chrome.windows para interagir com as janelas do navegador. Você pode usar esta API para criar, modificar e reorganizar janelas no navegador.