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


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

A string representing the domain the cookie belongs to (e.g. "", "").
A number representing the expiration date of the cookie as the number of seconds since the UNIX epoch. Not provided for session cookies.
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.
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.
A boolean, true if the cookie is marked as HttpOnly (i.e. the cookie is inaccessible to client-side scripts), or false otherwise.
A string representing the name of the cookie.
A string representing the path of the cookie.
A boolean, true if the cookie is marked as secure (i.e. its scope is limited to secure channels, typically HTTPS), or false otherwise.
A boolean, true if the cookie is a session cookie, or false if it is a persistent cookie with an expiration date.
A cookies.SameSiteStatus value that indicates the SameSite state of the cookie.
A string representing the ID of the cookie store containing this cookie, as provided by cookies.getAllCookieStores().
A string representing the value of the cookie.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxOperaSafariFirefox for Android
CookieChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesSafari Full support 14Firefox Android Full support 48
firstPartyDomainChrome No support NoEdge No support NoFirefox Full support 59Opera No support NoSafari No support NoFirefox Android Full support 59
sameSiteChrome Full support YesEdge Full support 79Firefox Full support 63Opera No support NoSafari Full support 14
Full support 14
Notes Only supports explicit.
Firefox Android Full support 63


Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.


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:

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

var gettingAll = browser.cookies.getAll({});

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

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.