/v1/youtube/search
Search
Search YouTube videos, channels, playlists, Shorts and live streams. [Response format video](https://www.tella.tv/video/explaining-youtube-search-results-payload-353a).
| 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 |
|---|---|---|
querySearch query. Use intitle: for stricter title matching, e.g. intitle:"Foursquare Swarm". YouTube may broaden quoted queries when no fresh exact matches exist. | query / required |
|
uploadDateUpload date | query / optional |
Allowed values |
sortBySort by | query / optional |
Allowed values |
typeType of content to search for | query / optional |
Allowed values |
durationDuration of the video. Only applies to videos (not shorts). | query / optional |
Allowed values |
regionTwo-letter country code for the proxy location. | query / optional |
|
includeExtrasInclude like/comment counts and descriptions; slows the response. Use /v1/youtube/video for full details. | query / optional |
|
continuationTokenUse continuationToken from the previous response to get the next page. | 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/search?query=YOUR_QUERY' \
--header 'x-api-key: YOUR_API_KEY'JavaScript
const response = await fetch("https://api.fetchproof.com/v1/youtube/search?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/search?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
idoptional
string
titlerequired
string
handleoptional
string
thumbnailrequired
string
viewCountTextrequired
string
viewCountIntrequired
integer
publishedTimeTextrequired
string
publishedTimerequired
string
{
"format": "date-time"
}lengthTextrequired
string
lengthSecondsrequired
integer
badgesrequired
array
Array items
string
channelsrequired
array
playlistsrequired
array
Array items
object
typerequired
string
idrequired
string
titlerequired
string
thumbnailrequired
string
playlistUrlrequired
string
videoIdrequired
string
videoUrlrequired
string
videoCountrequired
integer
channelrequired
object
idrequired
string
titlerequired
string
handlerequired
string
channelUrlrequired
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
string
{
"format": "date-time"
}lengthTextrequired
string
lengthSecondsrequired
integer
badgesrequired
array
shelvesrequired
array
Array items
object
typerequired
string
titlerequired
string
itemsrequired
array
Array items
object
typerequired
string
idrequired
string
urlrequired
string
titlerequired
string
thumbnailrequired
string
viewCountTextrequired
string
viewCountIntrequired
integer
livesrequired
array
continuationTokenrequired
string