cURL
curl --request GET \
--url 'https://api.keyapi.ai/v1/youtube/get_channel_url?channel_id=UCeu6U67OzJhV1KwBansH3Dg' \
--header 'Authorization: Bearer <YOUR_API_KEY>'import requests
response = requests.get(
'https://api.keyapi.ai/v1/youtube/get_channel_url',
params={"channel_id": "UCeu6U67OzJhV1KwBansH3Dg"},
headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
)
print(response.json())const params = new URLSearchParams({"channel_id": "UCeu6U67OzJhV1KwBansH3Dg"});
const response = await fetch(`https://api.keyapi.ai/v1/youtube/get_channel_url?${params}`, {
method: 'GET',
headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
});
const data = await response.json();
console.log(data);HttpResponse<String> response = Unirest.get("https://api.keyapi.ai/v1/youtube/get_channel_url")
.header("Authorization", "Bearer <token>")
.asString();{
"code": 0,
"message": "success",
"data": {
"channel_id": "UCeu6U67OzJhV1KwBansH3Dg",
"channel_url": "https://www.youtube.com/channel/UCeu6U67OzJhV1KwBansH3Dg",
"vanity_url": "http://www.youtube.com/@CozyCraftYT"
},
"requestId": "2e5cb962-218f-4eb1-a547-ba1be49a8a4e"
}{
"code": 400,
"data": null,
"message": "Missing required parameter: handle"
}{
"code": 401,
"data": null,
"message": "apiKey is null"
}{
"code": 402,
"data": null,
"message": "apiKey quota is not enough"
}{
"code": 429,
"data": null,
"message": "qps limit exceeded"
}{
"code": 500,
"data": null,
"message": "Internal server error"
}YouTube Channel
Get channel URL from channel ID
Get the channel handle (@username) from a YouTube channel ID. This is the reverse operation of get_channel_id.
Use cases: When you have a channel ID and need the @username format URL When you need to display a user-friendly channel link
GET
/
v1
/
youtube
/
get_channel_url
cURL
curl --request GET \
--url 'https://api.keyapi.ai/v1/youtube/get_channel_url?channel_id=UCeu6U67OzJhV1KwBansH3Dg' \
--header 'Authorization: Bearer <YOUR_API_KEY>'import requests
response = requests.get(
'https://api.keyapi.ai/v1/youtube/get_channel_url',
params={"channel_id": "UCeu6U67OzJhV1KwBansH3Dg"},
headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
)
print(response.json())const params = new URLSearchParams({"channel_id": "UCeu6U67OzJhV1KwBansH3Dg"});
const response = await fetch(`https://api.keyapi.ai/v1/youtube/get_channel_url?${params}`, {
method: 'GET',
headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
});
const data = await response.json();
console.log(data);HttpResponse<String> response = Unirest.get("https://api.keyapi.ai/v1/youtube/get_channel_url")
.header("Authorization", "Bearer <token>")
.asString();{
"code": 0,
"message": "success",
"data": {
"channel_id": "UCeu6U67OzJhV1KwBansH3Dg",
"channel_url": "https://www.youtube.com/channel/UCeu6U67OzJhV1KwBansH3Dg",
"vanity_url": "http://www.youtube.com/@CozyCraftYT"
},
"requestId": "2e5cb962-218f-4eb1-a547-ba1be49a8a4e"
}{
"code": 400,
"data": null,
"message": "Missing required parameter: handle"
}{
"code": 401,
"data": null,
"message": "apiKey is null"
}{
"code": 402,
"data": null,
"message": "apiKey quota is not enough"
}{
"code": 429,
"data": null,
"message": "qps limit exceeded"
}{
"code": 500,
"data": null,
"message": "Internal server error"
}🪙3 creditsper request
Copy for AI
🤖 Why Code When AI Can Do It For You?
Stop writing code like it’s 1970! Let AI do the heavy lifting - click the sparkles to copy a perfectly formatted prompt for ChatGPT, Claude, or your favorite AI assistant.

