cookies.Cookie

The Cookie type of the cookies API represents information about an HTTP cookie.

Type

Values of this type are objects, which can contain the following properties:

domain

A string representing the domain the cookie belongs to (e.g. "www.google.com", "example.com").

expirationDate Optional

A number representing the expiration date of the cookie as the number of seconds since the UNIX epoch. Not provided for session cookies.

firstPartyDomain

A string representing the first-party domain associated with the cookie. This will be an empty string if the cookie was set while first-party isolation was off. See First-party isolation.

hostOnly

A boolean, true if the cookie is a host-only cookie (i.e. the request's host must exactly match the domain of the cookie), or false otherwise.

httpOnly

A boolean, true if the cookie is marked as HttpOnly (i.e. the cookie is inaccessible to client-side scripts), or false otherwise.

name

A string representing the name of the cookie.

partitionKey Optional

An object representing the description of the storage partition containing the cookie. This object is omitted (null) if the cookie is not in partitioned storage. This object contains the following properties:

topLevelSite

A string representing the first-party URL of the cookie's storage partition, if the cookie is in storage that is partitioned by top-level site.

path

A string representing the path of the cookie.

secure

A boolean, true if the cookie is marked as secure (i.e. its scope is limited to secure channels, typically HTTPS), or false otherwise.

session

A boolean, true if the cookie is a session cookie, or false if it is a persistent cookie with an expiration date.

sameSite

A cookies.SameSiteStatus value that indicates the SameSite state of the cookie.

storeId

A string representing the ID of the cookie store containing this cookie, as provided by cookies.getAllCookieStores().

value

A string representing the value of the cookie.

Browser compatibility

BCD tables only load in the browser

Examples

Most methods in the cookies API involve a Cookie object being used either as an input parameter or as part of the return value. For example, a call to cookies.getAll() returns an array of Cookie objects.

In the example below we've asked for all cookies, then logged some of the values of each of the resulting Cookie objects:

js

function logCookies(cookies) {
  for (cookie of cookies) {
    console.log(`Domain: ${cookie.domain}`);
    console.log(`Name: ${cookie.name}`);
    console.log(`Value: ${cookie.value}`);
    console.log(`Persistent: ${!cookie.session}`);
  }
}

let gettingAll = browser.cookies.getAll({});
gettingAll.then(logCookies);

Note: This API is based on Chromium's chrome.cookies API. This documentation is derived from cookies.json in the Chromium code.