---
name: "CURLINFO_COOKIELIST"
section: "3"
platform: "macos"
package: "curl"
version: "166.0.0.0.1"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/CURLINFO_COOKIELIST"
---

# CURLINFO\_COOKIELIST(3)

get all known cookies

## NAME

CURLINFO\_COOKIELIST - get all known cookies

## SYNOPSIS

```
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST,
                           struct curl_slist **cookies);
```

## DESCRIPTION

Pass a pointer to a 'struct curl\_slist \*' to receive a linked-list of all cookies curl knows (expired ones, too). Do not forget to call *[curl\_slist\_free\_all(3)](/curl_slist_free_all/3.md)* on the list after it has been used. If there are no cookies (cookies for the handle have not been enabled or simply none have been received) the 'struct curl\_slist \*' is made a NULL pointer.

Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option.

## PROTOCOLS

HTTP(S)

## EXAMPLE

```
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    /* enable the cookie engine */
    curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
    res = curl_easy_perform(curl);
    if(!res) {
      /* extract all known cookies */
      struct curl_slist *cookies = NULL;
      res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);
      if(!res && cookies) {
        /* a linked list of cookies in cookie file format */
        struct curl_slist *each = cookies;
        while(each) {
          printf("%s\n", each->data);
          each = each->next;
        }
        /* we must free these cookies when we are done */
        curl_slist_free_all(cookies);
      }
    }
    curl_easy_cleanup(curl);
  }
}
```

## AVAILABILITY

Added in 7.14.1

## RETURN VALUE

Returns CURLE\_OK if the option is supported, and CURLE\_UNKNOWN\_OPTION if not.

## SEE ALSO

[**CURLOPT\_COOKIELIST**(3)](/CURLOPT_COOKIELIST/3.md), [**curl\_easy\_getinfo**(3)](/curl_easy_getinfo/3.md), [**curl\_easy\_setopt**(3)](/curl_easy_setopt/3.md)
