files/en-us/web/api/cookiestore/getall/index.md
{{securecontext_header}}{{APIRef("Cookie Store API")}}{{AvailableInWorkers("window_and_service")}}
The getAll() method of the {{domxref("CookieStore")}} interface returns a {{jsxref("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 {{optional_inline}}
Or
options {{optional_inline}}
name
url
[!NOTE] The
urloption 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 {{jsxref("Promise")}} that resolves with an array of objects representing cookies that match the given name or options.
Each object contains the following properties:
domain
expires
name
partitioned
true) or not (false). See Cookies Having Independent Partitioned State (CHIPS) for more information.path
sameSite
secure
true) or not (false).value
SecurityError {{domxref("DOMException")}}
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 {{jsxref("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");
}
}
{{Specifications}}
{{Compat}}