> ## Documentation Index
> Fetch the complete documentation index at: https://developer.audienceful.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Contacts

> Returns a cursor-paginated list of the contacts in your audience.

Requires the `people:read` scope.

### Query parameters

<ParamField query="email" type="string">
  Filter to the contact with this exact email address (case-insensitive). Example: `person@example.com`
</ParamField>

<ParamField query="page_size" type="number" default="100">
  The number of contacts to return per page. Maximum `500`.
</ParamField>

<ParamField query="cursor" type="string">
  The pagination cursor from a previous response's `next_cursor`. See [Pagination](/pagination).
</ParamField>

### Response

<ResponseField name="data" type="array">
  The page of contacts.

  <Expandable title="properties">
    <Snippet file="people/person-response-fields.mdx" />
  </Expandable>
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether more contacts exist after this page.
</ResponseField>

<ResponseField name="next_cursor" type="string or null">
  The cursor to pass as `?cursor=` to fetch the next page. `null` when there are no more pages.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --location --request GET 'https://api.audienceful.com/v2/people' \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <your-api-key>'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.audienceful.com/v2/people"
  headers = {
      "Content-Type": "application/json",
      "X-Api-Key": "<your-api-key>",
  }

  response = requests.get(url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.audienceful.com/v2/people", {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
      "X-Api-Key": "<your-api-key>",
    },
  });
  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": [
      {
        "id": "jQKdwqp3YRRtTrwqUJEp7d",
        "email": "person@example.com",
        "tags": ["vip"],
        "notes": "",
        "extra_data": {
          "plan": "pro"
        },
        "created_at": "2026-07-04T12:00:00Z",
        "updated_at": "2026-07-04T12:00:00Z",
        "last_activity": "2026-07-04T12:00:00Z",
        "country": "US",
        "status": "active",
        "source": "api",
        "open_rate": 0.42,
        "click_rate": 0.11
      }
    ],
    "has_more": true,
    "next_cursor": "cD0yMDI2LTA3LTA0VDEyOjAwOjAwWg"
  }
  ```
</ResponseExample>
