---
name: "CURLINFO_CONN_ID"
section: "3"
platform: "linux"
package: "curl"
version: "8.23.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/CURLINFO_CONN_ID"
---

# CURLINFO\_CONN\_ID(3)

ID of the last connection

## NAME

CURLINFO\_CONN\_ID - ID of the last connection

## SYNOPSIS

```
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONN_ID,
                           curl_off_t *conn_id);
```

## DESCRIPTION

Pass a pointer to a *curl\_off\_t* to receive the connection identifier last used by the handle. Stores -1 if there was no connection used.

The connection id is unique among all connections using the same connection cache. This is implicitly the case for all connections in the same multi handle.

## PROTOCOLS

This functionality affects all supported protocols

## EXAMPLE

```
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode result;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    /* Perform the request */
    result = curl_easy_perform(curl);
    if(result == CURLE_OK) {
      curl_off_t conn_id;
      result = curl_easy_getinfo(curl, CURLINFO_CONN_ID, &conn_id);
      if(result == CURLE_OK) {
        printf("Connection used: %" CURL_FORMAT_CURL_OFF_T "\n", conn_id);
      }
    }
  }
}
```

## AVAILABILITY

Added in curl 8.2.0

## RETURN VALUE

*[curl\_easy\_getinfo(3)](/curl_easy_getinfo/3.md)* returns a CURLcode indicating success or error.

CURLE\_OK (0) means everything was OK, non-zero means an error occurred, see *[libcurl-errors(3)](/libcurl-errors/3.md)*.

## SEE ALSO

[**CURLINFO\_XFER\_ID**(3)](/CURLINFO_XFER_ID/3.md), [**curl\_easy\_getinfo**(3)](/curl_easy_getinfo/3.md), [**curl\_easy\_setopt**(3)](/curl_easy_setopt/3.md)
