cURL
curl --request GET \
--url 'https://api.keyapi.ai/v1/youtube/search_channels?keyword=Rick+Astley&need_format=true' \
--header 'Authorization: Bearer <YOUR_API_KEY>'import requests
response = requests.get(
'https://api.keyapi.ai/v1/youtube/search_channels',
params={"keyword": "Rick Astley", "need_format": "true"},
headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
)
print(response.json())const params = new URLSearchParams({"keyword": "Rick Astley", "need_format": "true"});
const response = await fetch(`https://api.keyapi.ai/v1/youtube/search_channels?${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/search_channels")
.header("Authorization", "Bearer <token>")
.asString();{
"code": 0,
"message": "success",
"data": {
"keyword": "Rick Astley",
"channels": [
{
"channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
"title": "Rick Astley",
"handle": "@RickAstleyYT",
"subscriber_count_text": "4.46M subscribers",
"description": "2026 UK & Ireland Reflection Tour 🎟️ Tickets are on sale now. New single 'Waiting On You' out now.",
"thumbnails": [
{
"url": "//yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"is_subscribed": false,
"canonical_url": "/@RickAstleyYT",
"channel_url": "https://www.youtube.com/@RickAstleyYT"
}
],
"continuation_token": null,
"has_more": false,
"total_count": 1
},
"requestId": "10380c82-2a7b-4e53-9ef1-65eac3f48652"
}{
"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
Search channels
Search YouTube channels. Returns only channel-type results (filters out videos, playlists, etc.). Supports paginated retrieval for more channels.
Usage flow:
- First request: pass only the keyword parameter
- Retrieve the continuation_token from the response
- Next request: pass continuation_token (keyword is optional)
- Repeat steps 2-3 until has_more is false
Notes: Each page typically returns 10-20 channels
GET
/
v1
/
youtube
/
search_channels
cURL
curl --request GET \
--url 'https://api.keyapi.ai/v1/youtube/search_channels?keyword=Rick+Astley&need_format=true' \
--header 'Authorization: Bearer <YOUR_API_KEY>'import requests
response = requests.get(
'https://api.keyapi.ai/v1/youtube/search_channels',
params={"keyword": "Rick Astley", "need_format": "true"},
headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
)
print(response.json())const params = new URLSearchParams({"keyword": "Rick Astley", "need_format": "true"});
const response = await fetch(`https://api.keyapi.ai/v1/youtube/search_channels?${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/search_channels")
.header("Authorization", "Bearer <token>")
.asString();{
"code": 0,
"message": "success",
"data": {
"keyword": "Rick Astley",
"channels": [
{
"channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
"title": "Rick Astley",
"handle": "@RickAstleyYT",
"subscriber_count_text": "4.46M subscribers",
"description": "2026 UK & Ireland Reflection Tour 🎟️ Tickets are on sale now. New single 'Waiting On You' out now.",
"thumbnails": [
{
"url": "//yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s88-c-k-c0x00ffffff-no-rj-mo",
"width": 88,
"height": 88
},
{
"url": "//yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s176-c-k-c0x00ffffff-no-rj-mo",
"width": 176,
"height": 176
}
],
"is_subscribed": false,
"canonical_url": "/@RickAstleyYT",
"channel_url": "https://www.youtube.com/@RickAstleyYT"
}
],
"continuation_token": null,
"has_more": false,
"total_count": 1
},
"requestId": "10380c82-2a7b-4e53-9ef1-65eac3f48652"
}{
"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.
Authorizations
Query Parameters
Search keyword; leave empty for subsequent requests
Example:
"Rick Astley"
Pagination token (optional), used to retrieve the next page
Whether to format the data. Default: true true: returns structured data in a formatted layout (recommended) false: returns the raw YouTube API structure, useful for debugging
Response
The response is of type object.

