Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or 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 getAll() method of the CookieStore interface returns a Promise that resolves as an array of cookies that match the name or options passed to it. Passing no parameters will return all cookies for the current context.
getAll() getAll(name) getAll(options)
name OptionalA string with the name of a cookie.
Or
options OptionalAn object containing:
Note: The url option enables the modification of a cookie scoped under a particular URL. Service workers can obtain cookies that would be sent to any URL under their scope. From a document you may only obtain the cookies at the current URL, so the only valid URL in a document context is the document's URL.
A Promise that resolves with an array of objects representing cookies that match the given name or options.
Each object contains the following properties:
domainA string containing the domain of the cookie.
expiresA timestamp, given as Unix time in milliseconds, containing the expiration date of the cookie.
nameA string containing the name of the cookie.
partitionedA boolean indicating whether the cookie is a partitioned cookie (true) or not (false). See Cookies Having Independent Partitioned State (CHIPS) for more information.
pathA string containing the path of the cookie.
sameSiteOne of the following SameSite values: "strict", "lax", or "none".
secureA boolean value indicating whether the cookie is to be used in secure contexts only (true) or not (false).
valueA string containing the value of the cookie.
SecurityError DOMException
Thrown if the origin does not serialize to a URL.
TypeErrorThrown if:
url option is specified but does not match the URL of the current window.url option is specified, but does not match the origin of the worker.name or options fails.This example shows how to get all cookies in the current context.
First we define setTestCookies() which creates the test cookies "cookie1" and "cookie2", logging any errors.
async function setTestCookies() {
// Set two cookies
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
try {
await cookieStore.set("cookie2", "cookie2-value");
} catch (error) {
console.log(`Error setting cookie2: ${error}`);
}
}
The cookieTest() method calls setTestCookies() and then waits on getAll(). This returns a Promise that resolves with all of the cookies for this context as an array of objects, or an empty array if there are no cookies. If the returned promise resolves with array containing cookie information we iterate the array and log each cookie ("cookie1" and "cookie2").
async function cookieTest() {
// Set our test cookies
await setTestCookies();
// Get all cookies
const cookies = await cookieStore.getAll();
// Iterate the cookies, or log that none were found
if (cookies.length > 0) {
console.log(`Found cookies: ${cookies.length}:`);
cookies.forEach((cookie) => console.log(cookie));
} else {
console.log("Cookies not found");
}
}
| Specification |
|---|
| Cookie Store API> # dom-cookiestore-getall> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getAll |
87 | 87 | 140 | 73 | 18.4 | 87 | 140 | 62 | 18.4 | 14.0 | 87 | 18.4 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CookieStore/getAll