apicheats.dev elevenlabs/llms.txt Raw .md
GET

/v2/voices

ElevenLabs API

Get Voices V2

Base URL
https://api.elevenlabs.io
Auth
xi-api-key: <ELEVENLABS_API_KEY>
Last verified
2026-09-03 · upstream hash matched
Actions
Agents: curl -H "Accept: text/markdown" this URL
→ 207 tokens · Vary: Accept

Critical gotchas

Authentication uses the non-standard xi-api-key header, not Authorization: Bearer. Sending a Bearer token returns HTTP 401.

Text-to-speech responses are raw binary audio, not JSON. Write the body to a file (--output speech.mp3) rather than parsing it.

cURL

curl -X GET 'https://api.elevenlabs.io/v2/voices?next_page_token=example-next-page-token&page_size=10&search=example-search&sort=example-sort&sort_direction=example-sort-direction&voice_type=example-voice-type&category=example-category&fine_tuning_state=example-fine-tuning-state&collection_id=collection-id&gender=example-gender&age=example-age&language=example&accent=example-accent&use_cases=example&min_notice_period_days=10&include_custom_rates=true&include_live_moderated=true&high_quality=true&include_total_count=true&voice_ids=example' \  -H "xi-api-key: $ELEVENLABS_API_KEY"
Get a free ElevenLabs API key → sponsored

Parameters

Name In Type Required Description
next_page_token query string No The next page token to use for pagination. Returned from the previous request. Use this in combination with the has_more flag for reliable pagination.
page_size query integer No How many voices to return at maximum. Can not exceed 100, defaults to 10. Page 0 may include more voices due to default voices being included.
search query string No Search term to filter voices by. Searches in name, description, labels, category.
sort query string No Which field to sort by, one of 'created_at_unix' or 'name'. 'created_at_unix' may not be available for older voices.
sort_direction query string No Which direction to sort the voices in. 'asc' or 'desc'.
voice_type query string No Type of the voice to filter by. One of 'personal', 'community', 'default', 'workspace', 'non-default', 'non-community', 'saved'. 'non-default' is equal to all but 'default'. 'non-community' is equal to 'personal' and 'workspace' combined (excludes library copies). 'saved' is equal to non-default, but includes default voices if they have been added to a collection.
category query string No Category of the voice to filter by. One of 'premade', 'cloned', 'generated', 'professional'
fine_tuning_state query string No State of the voice's fine tuning to filter by. Applicable only to professional voices clones. One of 'draft', 'not_verified', 'not_started', 'queued', 'fine_tuning', 'fine_tuned', 'failed', 'delayed'
collection_id query string No Collection ID to filter voices by.
gender query string No Gender used for filtering, based on the voice's 'gender' label.
age query string No Age used for filtering, based on the voice's 'age' label.
language query string[] No Languages used for filtering, based on the voice's 'language' label. Voices matching any of the given languages are returned.
accent query string No Accent used for filtering, based on the voice's 'accent' label.
use_cases query string[] No Use cases used for filtering, based on the voice's 'use_case' label. Voices matching any of the given use cases are returned.
min_notice_period_days query integer No Filter to voices whose sharing notice period is at least the given number of days.
include_custom_rates query boolean No Whether to include voices that have a custom sharing rate. Defaults to including them.
include_live_moderated query boolean No Whether to include voices that have live moderation enabled. Defaults to including them.
high_quality query boolean No When true, only return studio-quality voices (those whose category is 'high_quality').
include_total_count query boolean No Whether to include the total count of voices found in the response. NOTE: The total_count value is a live snapshot and may change between requests as users create, modify, or delete voices. For pagination, rely on the has_more flag instead. Only enable this when you actually need the total count (e.g., for display purposes), as it incurs a performance cost.
voice_ids query string[] No Voice IDs to lookup by. Maximum 100 voice IDs.

Response 200 OK

{
  "voices": [
    {
      "available_for_tiers": [
        "creator",
        "enterprise"
      ],
      "category": "professional",
      "description": "A warm, expressive voice with a touch of humor.",
      "fine_tuning": {
        "is_allowed_to_fine_tune": true,
        "manual_verification_requested": false,
        "state": {
          "eleven_multilingual_v2": "fine_tuned"
        },
        "verification_attempts_count": 2,
        "verification_failures": []
      },
      "high_quality_base_model_ids": [
        "eleven_v2_flash",
        "eleven_flash_v2",
        "eleven_turbo_v2_5",
        "eleven_multilingual_v2",
        "eleven_v2_5_flash",
        "eleven_flash_v2_5",
        "eleven_turbo_v2"
      ],
      "is_legacy": false,
      "is_mixed": false,
      "is_owner": false,
      "labels": {
        "accent": "American",
        "age": "middle-aged",
        "description": "expressive",
        "gender": "female",
        "use_case": "social media"
      },
      "name": "Rachel",
      "preview_url": "https://storage.googleapis.com/eleven-public-prod/premade/voices/9BWtsMINqrJLrRacOk9x/405766b8-1f4e-4d3c-aba1-6f25333823ec.mp3",
      "settings": {
        "similarity_boost": 1,
        "speed": 1,
        "stability": 1,
        "style": 0,
        "use_speaker_boost": true
      },
      "sharing": {
        "category": "professional",
        "cloned_by_count": 50,
        "date_unix": 1714204800,
        "description": "A female voice with a soft and friendly tone.",
        "disable_at_unix": 1714204800,
        "enabled_in_library": true,
        "featured": true,
        "financial_rewards_enabled": true,
        "free_users_allowed": true,
        "history_item_sample_id": "DCwhRBWXzGAHq8TQ4Fs18",
        "labels": {
          "accent": "American",
          "gender": "female"
        },
        "liked_by_count": 100,
        "live_moderation_enabled": true,
        "moderation_check": {
          "captcha_checks": [
            0.95,
            0.98
          ],
          "captcha_ids": [
            "captcha1",
            "captcha2"
          ],
          "date_checked_unix": 1714204800,
          "description_check": true,
          "description_value": "A female voice with a soft and friendly tone.",
          "name_check": true,
          "name_value": "Rachel",
          "sample_checks": [
            0.95,
            0.98
          ],
          "sample_ids": [
            "sample1",
            "sample2"
          ]
        },
        "name": "Rachel",
        "notice_period": 30,
        "original_voice_id": "DCwhRBWXzGAHq8TQ4Fs18",
        "public_owner_id": "DCwhRBWXzGAHq8TQ4Fs18",
        "rate": 0.05,
        "reader_app_enabled": true,
        "reader_restricted_on": [
          {
            "resource_id": "FCwhRBWXzGAHq8TQ4Fs18",
            "resource_type": "read"
          }
        ],
        "review_status": "allowed",
        "status": "enabled",
        "voice_mixing_allowed": false,
        "whitelisted_emails": [
          "example@example.com"
        ]
      },
      "verified_languages": [
        {
          "accent": "american",
          "language": "en",
          "locale": "en-US",
          "model_id": "eleven_multilingual_v2",
          "preview_url": "https://storage.googleapis.com/eleven-public-prod/premade/voices/9BWtsMINqrJLrRacOk9x/405766b8-1f4e-4d3c-aba1-6f25333823ec.mp3"
        }
      ],
      "voice_id": "21m00Tcm4TlvDq8ikWAM",
      "voice_verification": {
        "is_verified": true,
        "language": "en",
        "requires_verification": false,
        "verification_attempts": [
          {
            "accepted": true,
            "date_unix": 1714204800,
            "levenshtein_distance": 2,
            "recording": {
              "mime_type": "audio/mpeg",
              "recording_id": "CwhRBWXzGAHq8TQ4Fs17",
              "size_bytes": 1000000,
              "transcription": "Hello, how are you?",
              "upload_date_unix": 1714204800
            },
            "similarity": 0.95,
            "text": "Hello, how are you?"
          }
        ],
        "verification_attempts_count": 0,
        "verification_failures": []
      }
    }
  ],
  "has_more": true,
  "total_count": 0,
  "next_page_token": "string"
}