---
title: list-connectors-for-a-project
product: vercel
url: /docs/rest-api/sdk/connect/list-connectors-for-a-project
canonical_url: "https://vercel.com/docs/rest-api/sdk/connect/list-connectors-for-a-project"
last_updated: 2026-09-03
type: reference
prerequisites:
  []
related:
  - /docs/rest-api
summary: Learn about list-connectors-for-a-project on Vercel.
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

# List connectors for a project

```http
GET /v2/connect/projects/{projectId}/connectors
```

List the connectors connected to a project and the environments where each connection is available.

## Authentication

**bearerToken**: HTTP bearer

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `projectId` | string | Yes | Vercel project ID. |


## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | integer. min: 1; max: 100 | No | Maximum number of connector connections to return. Defaults to 50. |
| `cursor` | string | No | Cursor from `pagination.next` on the previous response. |
| `teamId` | string | No | The team ID that scopes the request. Do not send it with slug. If both are omitted, Vercel uses the team associated with the token or the authenticated user's default team. The request returns 401 if no team can be selected. |
| `slug` | string | No | The team slug that scopes the request. Do not send it with teamId. If both are omitted, Vercel uses the team associated with the token or the authenticated user's default team. The request returns 401 if no team can be selected. |


## Example request

```typescript
import { Vercel } from "@vercel/sdk";

const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});

async function run() {
  const result = await vercel.connect.listProjectConnectorConnections({
    projectId: "<id>",
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
  });

  console.log(result);
}

run();
```

## Example response

```json
{
  "connectors": [
    {
      "connectorId": "example_id",
      "project": {
        "id": "icfg_1234567890",
        "name": "Example Name",
        "customEnvironments": [
          {}
        ]
      },
      "enabledEnvironments": [],
      "createdAt": "123",
      "updatedAt": "123"
    }
  ],
  "pagination": {
    "next": "string"
  }
}
```

## Responses

### 200: A page of connector connections for the project.

Content-Type: `application/json`

```json
{
  "type": "object",
  "description": "Page of connectors connected to a project.",
  "required": [
    "connectors",
    "pagination"
  ],
  "properties": {
    "connectors": {
      "type": "array",
      "description": "Connector connections in this page.",
      "items": {
        "type": "object",
        "description": "A connection between a connector and a Vercel project, including the environments where the connector is enabled.",
        "required": [
          "connectorId",
          "createdAt",
          "enabledEnvironments",
          "project",
          "updatedAt"
        ],
        "properties": {
          "connectorId": {
            "type": "string",
            "description": "Stable `scl_` connector ID, even when the request used a UID."
          },
          "project": {
            "type": "object",
            "description": "Vercel project connected to the connector.",
            "required": [
              "id",
              "name"
            ]
          },
          "enabledEnvironments": {
            "type": "array",
            "description": "Environments where the connector is enabled for the project."
          },
          "createdAt": {
            "type": "number",
            "description": "Time when the project connection was created, in epoch milliseconds."
          },
          "updatedAt": {
            "type": "number",
            "description": "Time when the project connection was last updated, in epoch milliseconds."
          }
        }
      }
    },
    "pagination": {
      "type": "object",
      "description": "Cursor for the next page.",
      "required": [
        "next"
      ],
      "properties": {
        "next": {
          "type": "string",
          "description": "Opaque value to pass as `cursor` on the next request.",
          "nullable": true
        }
      }
    }
  }
}
```

### 400: One of the provided values in the request query is invalid.

Content-Type: `application/json`

```json
{
  "type": "object",
  "description": "Error response returned by a Connect API operation.",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "description": "Error details.",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Stable machine-readable error code."
        },
        "message": {
          "type": "string",
          "description": "Human-readable error message."
        }
      },
      "additionalProperties": true
    }
  }
}
```

### 401: The request is not authorized.

Content-Type: `application/json`

```json
{
  "type": "object",
  "description": "Error response returned by a Connect API operation.",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "description": "Error details.",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Stable machine-readable error code."
        },
        "message": {
          "type": "string",
          "description": "Human-readable error message."
        }
      },
      "additionalProperties": true
    }
  }
}
```

### 403: You do not have permission to access this resource.

Content-Type: `application/json`

```json
{
  "type": "object",
  "description": "Error response returned by a Connect API operation.",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "description": "Error details.",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Stable machine-readable error code."
        },
        "message": {
          "type": "string",
          "description": "Human-readable error message."
        }
      },
      "additionalProperties": true
    }
  }
}
```

### 404: The requested resource was not found.

Content-Type: `application/json`

```json
{
  "type": "object",
  "description": "Error response returned by a Connect API operation.",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "description": "Error details.",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Stable machine-readable error code."
        },
        "message": {
          "type": "string",
          "description": "Human-readable error message."
        }
      },
      "additionalProperties": true
    }
  }
}
```

### 410: The requested resource is no longer available.

Content-Type: `application/json`

```json
{
  "type": "object",
  "description": "Error response returned by a Connect API operation.",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "description": "Error details.",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Stable machine-readable error code."
        },
        "message": {
          "type": "string",
          "description": "Human-readable error message."
        }
      },
      "additionalProperties": true
    }
  }
}
```

---

## Related

- [connect endpoints](/docs/rest-api#connect)

- [REST API overview](/docs/rest-api)

- [OpenAPI spec](https://openapi.vercel.sh/) (machine-readable, all endpoints)

---

[View full sitemap](/docs/sitemap)
