cookies.Cookie

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

Type

Values of this type are objects that can contain these properties:

domain

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

expirationDate Optional

A number representing the expiration date of the cookie as the seconds after the UNIX epoch. Includes milliseconds in the fractional part. Not provided for session cookies.

firstPartyDomain

A string representing the first-party domain associated with the cookie. This is 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.

Examples

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

This example asks for all cookies, then logs some of the values from 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);

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
Cookie
Chrome – Full support
Chrome 6 (Release date: 2010-09-02)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 45 (Release date: 2016-03-08)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – Full support
Safari 14 (Release date: 2020-09-16)
footnote Full support
Firefox for Android – Full support
Firefox for Android 48 (Release date: 2016-08-02)
footnote Full support
Safari on iOS – Full support
Safari on iOS 15 (Release date: 2021-09-20)
footnote Full support
expirationDate
Chrome – Full support
Chrome 6 (Release date: 2010-09-02)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 45 (Release date: 2016-03-08)
footnote
footnote Includes milliseconds in the fractional part from Firefox 142.
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – Full support
Safari 14 (Release date: 2020-09-16)
footnote Full support
Firefox for Android – Full support
Firefox for Android 48 (Release date: 2016-08-02)
footnote
footnote Includes milliseconds in the fractional part from Firefox 142.
Safari on iOS – Full support
Safari on iOS 15 (Release date: 2021-09-20)
footnote Full support
firstPartyDomain
Chrome – No support
Chrome
footnote No support
Edge – No support
Edge
footnote No support
Firefox – Full support
Firefox 59 (Release date: 2018-03-13)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 59 (Release date: 2018-03-13)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
partitionKey
Chrome – Full support
Chrome 119 (Release date: 2023-10-31)
footnote Full support
Edge – Full support
Edge 119 (Release date: 2023-11-02)
footnote Full support
Firefox – Full support
Firefox 94 (Release date: 2021-11-02)
footnote Full support
Opera – Full support
Opera 105 (Release date: 2023-11-14)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 94 (Release date: 2021-11-02)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
sameSite
Chrome – Full support
Chrome 51 (Release date: 2016-05-25)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 63 (Release date: 2018-10-23)
footnote Full support
Opera – No support
Opera
footnote No support
Safari – Full support
Safari 14 (Release date: 2020-09-16)
footnote Full support
Firefox for Android – Full support
Firefox for Android 63 (Release date: 2018-10-23)
footnote Full support
Safari on iOS – Full support
Safari on iOS 15 (Release date: 2021-09-20)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

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

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