refresh date: 2026-09-25 robots: noindex
Descrição
Use a API chrome.cookies para consultar e modificar cookies e receber notificações quando eles mudarem.
Permissões
cookiesManifesto
Para usar a API de cookies, declare a permissão "cookies" no manifesto, além das permissões de host para todos os hosts com cookies que você quer acessar. Exemplo:
{
"name": "My extension",
...
"host_permissions": [
"*://*.google.com/"
],
"permissions": [
"cookies"
],
...
}
Particionamento
Os cookies particionados permitem que um site marque que determinados cookies devem ser associados à origem do frame de nível superior. Isso significa que, se o site A for incorporado usando um iframe no site B e no site C, um cookie particionado poderá ter um valor diferente em cada um.
chrome.cookies não é compatível com particionamento, o que significa que todos os métodos
leem e gravam cookies de todas as partições. O método cookies.set() armazena cookies na
partição padrão.
Para detalhes sobre o impacto geral do particionamento para extensões, consulte Armazenamento e cookies.
Exemplos
Confira um exemplo simples de uso da API de cookies no diretório examples/api/cookies. Para ver outros exemplos e receber ajuda para visualizar o código-fonte, consulte Exemplos.
Tipos
Cookie
Representa informações sobre um cookie HTTP.
Propriedades
-
domínio
string
O domínio do cookie (por exemplo, "www.google.com", "example.com").
-
expirationDate
número optional
A data de validade do cookie como o número de segundos desde a época Unix. Não fornecido para cookies de sessão.
-
hostOnly
booleano
Verdadeiro se o cookie for somente de host (ou seja, o host de uma solicitação precisa corresponder exatamente ao domínio do cookie).
-
httpOnly
booleano
Verdadeiro se o cookie estiver marcado como HttpOnly (ou seja, o cookie está inacessível para linguagem de cliente).
-
nome
string
O nome do cookie.
-
partitionKey
CookiePartitionKey opcional
Chrome 119+A chave de partição para ler ou modificar cookies com o atributo Partitioned.
-
caminho
string
O caminho do cookie.
-
sameSiteChrome 51 ou mais recente
O status do mesmo site do cookie (ou seja, se o cookie é enviado com solicitações entre sites).
-
seguro
booleano
Verdadeiro se o cookie estiver marcado como seguro (ou seja, o escopo dele é limitado a canais seguros, normalmente HTTPS).
-
sessão
booleano
Verdadeiro se o cookie for de sessão, em vez de um cookie persistente com uma data de validade.
-
storeId
string
O ID do armazenamento de cookies que contém esse cookie, conforme fornecido em getAllCookieStores().
-
valor
string
O valor do cookie.
CookieDetails
Detalhes para identificar o cookie.
Propriedades
-
nome
string
O nome do cookie a ser acessado.
-
partitionKey
CookiePartitionKey opcional
Chrome 119+A chave de partição para ler ou modificar cookies com o atributo Partitioned.
-
storeId
string opcional
O ID do armazenamento de cookies em que o cookie será procurado. Por padrão, o armazenamento de cookies do contexto de execução atual será usado.
-
url
string
O URL ao qual o cookie a ser acessado está associado. Esse argumento pode ser um URL completo. Nesse caso, todos os dados que seguem o caminho do URL (por exemplo, a string de consulta) são ignorados. Se as permissões de host para esse URL não forem especificadas no arquivo de manifesto, a chamada de API vai falhar.
CookiePartitionKey
Representa a chave de partição de um cookie particionado.
Propriedades
-
hasCrossSiteAncestor
booleano opcional
Chrome 130+Indica se o cookie foi definido em um contexto entre sites. Isso impede que um site de nível superior incorporado em um contexto entre sites acesse cookies definidos pelo site de nível superior em um contexto do mesmo site.
-
topLevelSite
string opcional
O site de nível superior em que o cookie particionado está disponível.
CookieStore
Representa um armazenamento de cookies no navegador. Por exemplo, uma janela do modo de navegação anônima usa um armazenamento de cookies separado de uma janela que não é anônima.
Propriedades
-
ID
string
O identificador exclusivo do armazenamento de cookies.
-
tabIds
number[]
Identificadores de todas as guias do navegador que compartilham esse repositório de cookies.
FrameDetails
Detalhes para identificar o frame.
Propriedades
-
documentId
string opcional
O identificador exclusivo do documento. Se o frameId e/ou o tabId forem fornecidos, eles serão validados para corresponder ao documento encontrado pelo ID do documento fornecido.
-
frameId
número optional
O identificador exclusivo do frame na guia.
-
tabId
número optional
O identificador exclusivo da guia que contém o frame.
OnChangedCause
O motivo da mudança do cookie. Se um cookie foi inserido ou removido por uma chamada explícita para "chrome.cookies.remove", "cause" será "explicit". Se um cookie foi removido automaticamente devido à expiração, "cause" será "expired". Se um cookie foi removido porque foi substituído por uma data de validade já expirada, "cause" será definido como "expired_overwrite". Se um cookie foi removido automaticamente devido à coleta de lixo, "cause" será "evicted". Se um cookie foi removido automaticamente devido a uma chamada "set" que o substituiu, "cause" será "overwrite". Planeje sua resposta de acordo.
Enumeração
"evicted"
"expired"
"explicit"
"expired_overwrite"
"overwrite"
SameSiteStatus
O estado "SameSite" de um cookie (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction" corresponde a um cookie definido com "SameSite=None", "lax" a "SameSite=Lax" e "strict" a "SameSite=Strict". "unspecified" corresponde a um cookie definido sem o atributo SameSite.
Enumeração
"no_restriction"
"lax"
"strict"
"unspecified"
Métodos
get()
chrome.cookies.get(
details: CookieDetails,
callback?: function,
): Promise<Cookie | undefined>
Recupera informações sobre um cookie individual. Se houver mais de um cookie com o mesmo nome para o URL fornecido, aquele com o caminho mais longo será retornado. Para cookies com o mesmo tamanho de caminho, o cookie com o horário de criação mais antigo será retornado.
Parâmetros
Retorna
-
Promise<Cookie | undefined>
Chrome 88+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getAll()
chrome.cookies.getAll(
details: object,
callback?: function,
): Promise<Cookie[]>
Recupera todos os cookies de um repositório que correspondem às informações fornecidas. Os cookies retornados serão classificados, com os de caminho mais longo primeiro. Se vários cookies tiverem o mesmo tamanho de caminho, aqueles com o horário de criação mais antigo serão os primeiros. Esse método só recupera cookies de domínios para os quais a extensão tem permissões de host.
Parâmetros
-
detalhes
objeto
Informações para filtrar os cookies que estão sendo recuperados.
-
domínio
string opcional
Restringe os cookies recuperados àqueles cujos domínios correspondem ou são subdomínios deste.
-
nome
string opcional
Filtra os cookies por nome.
-
partitionKey
CookiePartitionKey opcional
Chrome 119+A chave de partição para ler ou modificar cookies com o atributo Partitioned.
-
caminho
string opcional
Restringe os cookies recuperados àqueles cujo caminho corresponde exatamente a essa string.
-
seguro
booleano opcional
Filtra os cookies pela propriedade Secure.
-
sessão
booleano opcional
Filtra cookies de sessão e persistentes.
-
storeId
string opcional
O armazenamento de cookies de onde os cookies serão recuperados. Se omitido, o armazenamento de cookies do contexto de execução atual será usado.
-
url
string opcional
Restringe os cookies recuperados àqueles que correspondem ao URL fornecido.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(cookies: Cookie[]) => void
-
cookies
Cookie[]
Todos os cookies atuais que não expiraram e correspondem às informações fornecidas.
-
Retorna
-
Promise<Cookie[]>
Chrome 88+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
Lista todos os armazenamentos de cookies atuais.
Parâmetros
-
callback
função optional
O parâmetro
callbacké semelhante a:(cookieStores: CookieStore[]) => void
-
cookieStores
Todos os armazenamentos de cookies atuais.
-
Retorna
-
Promise<CookieStore[]>
Chrome 88+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
A chave de partição do frame indicado.
Parâmetros
-
detalhes
-
callback
função optional
O parâmetro
callbacké semelhante a:(details: object) => void
-
detalhes
objeto
Contém detalhes sobre a chave de partição que foi recuperada.
-
partitionKey
A chave de partição para ler ou modificar cookies com o atributo Partitioned.
-
-
Retorna
-
Promise<object>
As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
): Promise<object | undefined>
Exclui um cookie pelo nome.
Parâmetros
-
detalhes
-
callback
função optional
O parâmetro
callbacké semelhante a:(details?: object) => void
-
detalhes
objeto optional
Contém detalhes sobre o cookie que foi removido. Se a remoção falhar por qualquer motivo, a promessa será rejeitada.
-
nome
string
O nome do cookie que foi removido.
-
partitionKey
CookiePartitionKey opcional
Chrome 119+A chave de partição para ler ou modificar cookies com o atributo Partitioned.
-
storeId
string
O ID do armazenamento de cookies de onde o cookie foi removido.
-
url
string
O URL associado ao cookie que foi removido.
-
-
Retorna
-
Promise<object | undefined>
Chrome 88+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
set()
chrome.cookies.set(
details: object,
callback?: function,
): Promise<Cookie | undefined>
Define um cookie com os dados fornecidos. Pode substituir cookies equivalentes, se houver.
Parâmetros
-
detalhes
objeto
Detalhes sobre o cookie que está sendo definido.
-
domínio
string opcional
O domínio do cookie. Se omitido, o cookie se torna um cookie somente de host.
-
expirationDate
número optional
A data de validade do cookie como o número de segundos desde a época Unix. Se omitido, o cookie se torna um cookie de sessão.
-
httpOnly
booleano opcional
Se o cookie precisa ser marcado como HttpOnly. O padrão é "falso".
-
nome
string opcional
O nome do cookie. Se omitido, o padrão é vazio.
-
partitionKey
CookiePartitionKey opcional
Chrome 119+A chave de partição para ler ou modificar cookies com o atributo Partitioned.
-
caminho
string opcional
O caminho do cookie. O padrão é a parte do caminho do parâmetro de URL.
-
sameSite
SameSiteStatus opcional
Chrome 51 ou mais recenteO status do cookie no mesmo site. O padrão é "unspecified", ou seja, se omitido, o cookie é definido sem especificar um atributo SameSite.
-
seguro
booleano opcional
Se o cookie precisa ser marcado como seguro. O padrão é "falso".
-
storeId
string opcional
O ID do armazenamento de cookies em que o cookie será definido. Por padrão, o cookie é definido no armazenamento de cookies do contexto de execução atual.
-
url
string
O URI de solicitação a ser associado à configuração do cookie. Esse valor pode afetar os valores padrão de domínio e caminho do cookie criado. Se as permissões de host para esse URL não forem especificadas no arquivo de manifesto, a chamada de API vai falhar.
-
valor
string opcional
O valor do cookie. Se omitido, o padrão é vazio.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(cookie?: Cookie) => void
-
biscoito
Cookie opcional
Contém detalhes sobre o cookie que foi definido. Se a configuração falhar por qualquer motivo, a promessa será rejeitada.
-
Retorna
-
Promise<Cookie | undefined>
Chrome 88+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Acionado quando um cookie é definido ou removido. Como um caso especial, observe que a atualização das propriedades de um cookie é implementada como um processo de duas etapas: o cookie a ser atualizado é primeiro removido completamente, gerando uma notificação com "cause" de "overwrite" . Depois, um novo cookie é gravado com os valores atualizados, gerando uma segunda notificação com "cause" "explicit".
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(changeInfo: object) => void
-
changeInfo
objeto
-
causa
O motivo da mudança do cookie.
-
biscoito
Informações sobre o cookie que foi definido ou removido.
-
removido
booleano
Verdadeiro se um cookie foi removido.
-
-