CookieStore

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Service Workers.

The CookieStore interface of the Cookie Store API provides methods for getting and setting cookies asynchronously from either a page or a service worker.

The CookieStore is accessed via attributes in the global scope in a Window or ServiceWorkerGlobalScope context. Therefore there is no constructor.

EventTarget CookieStore

Instance methods

CookieStore.delete()

The delete() method deletes a cookie with the given name or options object, it returns a Promise that resolves when the deletion completes.

CookieStore.get()

The get() method gets a single cookie with the given name or options object, it returns a Promise that resolves with details of a single cookie.

CookieStore.getAll()

The getAll() method gets all matching cookies, it returns a Promise that resolves with a list of cookies.

CookieStore.set()

The set() method sets a cookie with the given name and value or options object, it returns a Promise that resolves when the cookie is set.

Events

change

The change event fires when a change is made to any cookie.

Examples

In this example, we set a cookie and write to the console feedback as to whether the operation succeeded or failed.

js
const day = 24 * 60 * 60 * 1000;

cookieStore
  .set({
    name: "cookie1",
    value: "cookie1-value",
    expires: Date.now() + day,
    domain: "example.com",
  })
  .then(
    () => {
      console.log("It worked!");
    },
    (reason) => {
      console.error("It failed: ", reason);
    },
  );

Specifications

Specification
Cookie Store API
# CookieStore

Browser compatibility

desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CookieStore
change event
delete
partitioned option
get
domain in return value
expires in return value
name in return value
partitioned in return value
Experimental
path in return value
sameSite in return value
secure in return value
value in return value
getAll
domain in return value
expires in return value
name in return value
partitioned in return value
Experimental
path in return value
sameSite in return value
secure in return value
value in return value
set
partitioned option