W3cubDocs

/Web Extensions

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").
expirationDateOptional
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.
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

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Cookie
Yes
14
45
?
Yes
14
?
?
48
?
?
?
firstPartyDomain
No
No
59
?
No
No
?
?
59
?
?
?
partitionKey
No
No
94
?
No
No
?
?
94
?
?
?
sameSite
Yes
79
63
?
No
14
Only supports explicit.
?
?
63
?
?
?

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:

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}`);
  }
}

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

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

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/cookies/Cookie