## List Voices

### cURL

```
curl --request GET \
  --url 'https://api.heygen.com/v3/voices?type=public&limit=20' \
  --header 'x-api-key: <api-key>'
```

### Response Codes

- 200
- 400
- 401
- 429

```
{
  "data": [\
    {\
      "voice_id": "<string>",\
      "name": "<string>",\
      "language": "<string>",\
      "gender": "<string>",\
      "support_pause": true,\
      "support_locale": true,\
      "type": "public",\
      "preview_audio_url": "https://files.heygen.ai/voice/preview_sara.mp3"\
    }\
  ],
  "has_more": true,
  "next_token": "<string>"
}
```

### Authorizations

**ApiKeyAuth**

| Key        | Location | Required | Description                                                                   |
|------------|----------|----------|-------------------------------------------------------------------------------|
| x-api-key  | header   | required | HeyGen API key. Obtain from your HeyGen dashboard.

### Query Parameters

| Name     | Type   | Default | Description                                                                              |
|----------|--------|---------|------------------------------------------------------------------------------------------|
| type     | enum   | public  | Voice type: 'public' for the shared library or 'private' for your cloned voices. 
| engine   | string |         | Filter by voice engine (e.g. 'starfish'). When set, only voices compatible with that engine are returned.
| language | string |         | Filter by language (e.g. 'English').
| gender   | string |         | Filter by gender ('male' or 'female').
| limit    | integer| 20      | Results per page (1-100). Required range: `1 <= x <= 100`
| token    | string |         | Opaque cursor token for the next page.

### Response

#### 200

Successful response

**Response Body:**

- **data**: AudioVoiceItem · object[]  
- **has_more**: boolean — Whether more pages are available  
- **next_token**: string | null — Opaque cursor for the next page.
