Referência da API

A maioria das extensões precisa de acesso a uma ou mais APIs de extensões do Chrome para funcionar. Esta referência de 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 indicado de outra forma. Métodos assíncronos retornam imediatamente, sem espera para que a operação que os chama seja concluída. Use promessas para receber os resultados desses 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 depende do protótipo ChromeSetting do tipo API para receber e configurar 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. 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 do código ou em um horário especificado no futuro.

áudio
Chrome 59 e versões mais recentes Somente 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 no ChromeOS.

favoritos

Use a API chrome.bookmarks para criar, organizar e manipular favoritos. Consulte também Substituir páginas, que pode ser usada 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 ou superior Somente ChromeOS

Use essa API para expor certificados à plataforma, que pode usá-los 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 que você personalize o comportamento do Chrome para cada site, e não globalmente.

contextMenus

Use a API chrome.contextMenus para adicionar itens ao menu de contexto do Google Chrome. Você pode escolher os tipos de objetos aos quais 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 uma notificação 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 se conectar a uma ou mais guias para instrumentar a interação de rede, depurar JavaScript, modificar o DOM e o CSS e muito mais. Use a propriedade Debuggee tabId para segmentar guias com sendCommand e rotear eventos por tabId a partir de 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 dela.

declarativeNetRequest
Chrome 84 e versões mais recentes

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 interceptá-las e acessar o conteúdo delas, oferecendo mais privacidade.

desktopCapture

A API Desktop Capture captura o conteúdo da tela, janelas ou guias individuais.

devtools.inspectedWindow

Use a API chrome.devtools.inspectedWindow para interagir com a janela inspecionada: receba o ID da guia da página inspecionada, avalie o código no contexto da janela inspecionada, recarregue a página ou receba a lista de recursos na página.

devtools.network

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

devtools.panels

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

devtools.performance
Chrome 129 ou versões mais recentes

Use a API chrome.devtools.performance para detectar atualizações de status de gravação no painel "Performance" nas Ferramentas do desenvolvedor.

devtools.recorder
Chrome 105 e versões mais recentes

Use a API chrome.devtools.recorder para personalizar o painel do gravador nas Ferramentas do desenvolvedor.

dns
Canal de Desenvolvedor

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

documentScan
Chrome 44 ou mais recente Somente no ChromeOS

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

dom
Chrome 88 e versões mais recentes

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 forma programática.

enterprise.deviceAttributes
Chrome 46 ou mais recente Somente 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
Chrome 71 e versões mais recentes Requer política

Use a API chrome.enterprise.hardwarePlatform para acessar 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 pela política corporativa.

enterprise.networkingAttributes
Chrome 85 ou mais recente Somente 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 no ChromeOS Requer política

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 usando chrome.platformKeys.

eventos

O namespace chrome.events contém tipos comuns usados por APIs que enviam 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 seus scripts de conteúdo 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 extensões do Chrome.

fileBrowserHandler
Somente no 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
Somente ChromeOS

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

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. É possível adicionar, remover e consultar URLs no histórico do navegador. Para substituir a página de histórico pela sua versão, consulte Substituir páginas.

i18n

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

inativo

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

input.ime
Somente ChromeOS

Use a API chrome.input.ime para 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 superior

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

loginState
Chrome 78 ou superior Somente 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 apps e extensões instalados.

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 ou versões mais recentes MV3+

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

omnibox

A API Omnibox permite que você registre uma palavra-chave na barra de endereços do Google Chrome, 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 na instalação. Assim, os usuários entendem por que as permissões são necessárias e concedem apenas as que são necessárias.

platformKeys
Chrome 45 ou superior Somente ChromeOS

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

potência

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

printerProvider
Chrome 44 ou superior

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 ou mais recente Somente no ChromeOS

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

printingMetrics
Chrome 79 e versões mais recentes Somente no ChromeOS Requer política

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

privacidade

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

processos
Canal de desenvolvedores

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 depende do protótipo ChromeSetting do tipo API para receber e definir a configuração do proxy.

readingList
Chrome 120+ MV3+

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

runtime

Use a API chrome.runtime para recuperar o service worker, retornar detalhes sobre o manifesto, além de detectar e responder a eventos no ciclo de vida da extensão. Você também pode usar essa API para converter o caminho relativo de URLs em URLs totalmente qualificados.

scripts
Chrome 88 ou superior MV3+

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

search
Chrome 87 ou superior

Use a API chrome.search para pesquisar usando o 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, recuperar e rastrear mudanças nos dados do usuário.

system.cpu

Use a API system.cpu para consultar os 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 notificações quando um dispositivo de armazenamento removível for conectado e desconectado.

systemLog
Chrome 125 e versões mais recentes Somente no ChromeOS Requer política

Use a API chrome.systemLog para registrar registros do sistema do Chrome de extensões.

tabCapture

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

tabGroups
Chrome 89 ou superior 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 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. É possível 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 aparecem na página "Nova guia". Eles não incluem atalhos personalizados pelo usuário.

tts (link em inglês)

Use a API chrome.tts para reproduzir a conversão de texto em voz (TTS) sintetizada. Consulte também a API ttsEngine, 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 se registrar usando essa API, ela vai receber eventos com uma frase a ser dita e outros parâmetros quando qualquer extensão ou app do Chrome usar a API tts para gerar fala. A extensão poderá usar qualquer tecnologia da Web disponível para sintetizar e gerar a fala e enviar eventos de volta à função de chamada para 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 deles.

vpnProvider
Chrome 43 e versões mais recentes Somente no ChromeOS

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

plano de fundo
Chrome 43 ou superior Somente ChromeOS

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

webAuthenticationProxy
Chrome 115 ou versões mais recentes 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 interceptar, bloquear ou modificar solicitações em andamento.

janelas

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