[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# List contacts

> Contacts of your CRM with organization, lifecycle stage and owner; leads too when the Leads module is on. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/vtiger/list_contacts

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Contacts of your CRM with organization, lifecycle stage and owner; leads too when the Leads module is on.

Vtiger API: https://cotlet.dev/docs/api/vtiger.md

`GET https://cotlet.dev/api/v1/vtiger/contacts`

Access: read.

Lists one page of the Contacts list under Main Menu > Essentials > Contacts, or of Essentials > Leads when module is leads. Filter by lifecycle_stage (Lead finds leads that are stored as contacts) or search by name, email or phone. Pass next_cursor back as cursor for the next page. You only see the records your Vtiger role lets you see.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `module` | enum | no | contacts (default) or leads, for CRMs where the Leads module is enabled. |
| `lifecycle_stage` | string | no | Only contacts with this Lifecycle Stage, for example Lead. |
| `query` | string | no | Name, email or phone to search for. |
| `limit` | integer | no | Contacts per page. |
| `cursor` | string | no | Next page cursor from the previous call. |

## Request

**cURL**

```bash
curl https://cotlet.dev/api/v1/vtiger/contacts \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

**Python**

```python
result = client.call("vtiger", "list_contacts")
```

**Node.js**

```js
const result = await cotlet.call('vtiger', 'list_contacts');
```

**CLI**

```bash
cotlet call vtiger list_contacts
```

## Example response

```json
{
  "contacts": [
    {
      "record_id": "1523",
      "name": "Dana Whitfield",
      "email": "dana@whitfielddental.example",
      "phone": "+1 555 0142",
      "organization": "Whitfield Dental",
      "lifecycle_stage": "Lead",
      "assigned_to": "Sam Rivera",
      "created_at": "2026-10-21"
    },
    {
      "record_id": "1524",
      "name": "Luis Ortega",
      "email": "luis@ortegabuilds.example",
      "phone": "+1 555 0177",
      "organization": "Ortega Builds",
      "lifecycle_stage": "Lead",
      "assigned_to": "Sam Rivera",
      "created_at": "2026-10-21"
    }
  ],
  "next_cursor": null
}
```

Next: [List deals](https://cotlet.dev/docs/api/vtiger/list_deals.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
