/v1/youtube/channel/search
Channel Search
Search within one YouTube channel by keyword. Returns videos, Shorts, live streams and playlists. Costs 1 credit per page, even with no matches.
| Credit cost | Default: 1 credit How charges are determinedCost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns. A call that fails costs 0 credits. A result served from cache costs 0 credits. `default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins. A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true). A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute. |
|---|---|
| Cache support | Not specified in the published contract. |
| Pagination | No explicit pagination metadata in the published contract. Consult the parameters and response fields below. |
Parameters
| Name | Location / required | Schema |
|---|---|---|
handleYouTube channel handle, with or without @. | query / required |
|
queryKeywords to search within this channel. | query / required |
|
continuationTokenToken from the previous response. Keep the same handle and query; stop when the token is null. | query / optional |
|
Request examples
Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.
cURL
curl --request GET 'https://api.fetchproof.com/v1/youtube/channel/search?handle=YOUR_HANDLE&query=YOUR_QUERY' \
--header 'x-api-key: YOUR_API_KEY'JavaScript
const response = await fetch("https://api.fetchproof.com/v1/youtube/channel/search?handle=YOUR_HANDLE&query=YOUR_QUERY", {
method: 'GET',
headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());Python
import os
import requests
response = requests.get("https://api.fetchproof.com/v1/youtube/channel/search?handle=YOUR_HANDLE&query=YOUR_QUERY",
headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)Responses
200Success. Envelope: success / credits_remaining / credits_charged.
application/json
object
successrequired
boolean
credits_remainingrequired
integer
credits_chargedrequired
integer
videosrequired
array
Array items
object
typerequired
string
idrequired
string
urlrequired
string
titlerequired
string
thumbnailrequired
string
channelrequired
object
idrequired
string
titlerequired
string
handlerequired
string
thumbnailrequired
string
viewCountTextrequired
string
viewCountIntrequired
integer
publishedTimeTextrequired
string
publishedTimerequired
null
lengthTextrequired
string
lengthSecondsrequired
integer
badgesrequired
array
Array items
string
channelsrequired
array
playlistsrequired
array
Array items
object
typerequired
string
idrequired
string
titlerequired
string
thumbnailrequired
string
channelrequired
object
idrequired
string
titlerequired
string
videoCountrequired
string
shortsrequired
array
Array items
object
typerequired
string
idrequired
string
urlrequired
string
titlerequired
string
thumbnailrequired
string
channelrequired
object
idrequired
string
titlerequired
string
handlerequired
string
thumbnailrequired
string
viewCountTextrequired
string
viewCountIntrequired
integer
publishedTimeTextrequired
string
publishedTimerequired
null
lengthTextrequired
string
lengthSecondsrequired
integer
badgesrequired
array
Array items
string
shelvesrequired
array
livesrequired
array
Array items
object
typerequired
string
idrequired
string
urlrequired
string
titlerequired
string
thumbnailrequired
string
channelrequired
object
idrequired
string
titlerequired
string
handlerequired
string
thumbnailrequired
string
viewCountTextrequired
string
viewCountIntrequired
integer
publishedTimeTextrequired
string
publishedTimerequired
null
lengthTextrequired
string
lengthSecondsrequired
integer
badgesrequired
array
Array items
string
continuationTokenrequired
string