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

Report problems with this compatibility data on GitHub
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
partitioned in return value
Experimental
getAll
partitioned in return value
Experimental
set
partitioned option

Legend

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

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.