ElevenLabs API Documentation
elevenlabs · AI
This is the documentation for the ElevenLabs API. You can use this API to use our service programmatically, this is done by using your xi-api-key. You can view your xi-api-key using the 'Profile' tab on https://beta.elevenlabs.io. Our API is experimental so all endpoints are subject to change.
Authentication
Sample Requests
Returns metadata about all your generated audio.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/history"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/history",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/history'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/history"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/history")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/history";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Gets information about the user
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/user"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/user",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/user'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/user"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/user")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/user";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Gets a list of all available voices for a user.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/voices"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/voices",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/voices'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/voices"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/voices")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/elevenlabs.io/1.0/v1/voices";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with ElevenLabs API Documentation?
ElevenLabs API Documentation is a AI API. Developers commonly use ai APIs for:
- adding natural language processing to your product
- generating images, text, or code with AI models
- building chatbots and virtual assistants
- running sentiment analysis on customer feedback
- powering recommendation and personalisation engines
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. ElevenLabs API Documentation is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?