YouTube Search
Search for videos on YouTube with customizable result limits.
Endpoint
/api/youtube-external/search
Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Parameters
string
Required
Search query
integer
Optional
Number of results (default: 10, max: 20)
integer
Optional
Page number (default: 1, max: 10)
string
Optional
Token for pagination from previous response
string
Optional
Filter by content type: video, channel, playlist, movie, all (default: all).
string
Optional
Language code (e.g., en).
string
Optional
Country code (e.g., US).
string
Optional
Sort order: date, rating, relevance, viewCount.
string
Optional
Filter by duration: short, medium, long.
string
Optional
Return videos published after a date/time (best-effort; any valid date string, RFC3339 recommended).
string
Optional
Return videos published before a date/time (best-effort; any valid date string, RFC3339 recommended).
string
Optional
Content filtering: moderate, none, strict.
Request Examples
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/youtube-external/search?query=programming+tutorial');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY_HERE',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
<?php
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/youtube-external/search?query=programming+tutorial');
return $response->json();
fetch('https://scrappa.co/api/youtube-external/search?query=programming+tutorial', {
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const axios = require('axios');
axios.get('https://scrappa.co/api/youtube-external/search?query=programming+tutorial', {
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
})
.then(response => console.log(response.data))
.catch(error => console.error('Error:', error));
import requests
headers = {
'x-api-key': 'YOUR_API_KEY_HERE'
}
response = requests.get('https://scrappa.co/api/youtube-external/search?query=programming+tutorial', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://scrappa.co/api/youtube-external/search?query=programming+tutorial')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts JSON.parse(response.body)
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://scrappa.co/api/youtube-external/search?query=programming+tutorial", nil)
req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/youtube-external/search?query=programming+tutorial' \
-H 'x-api-key: YOUR_API_KEY_HERE'
Response Schema
{
"results": [],
"pagination": [],
"query": "",
"filters": []
}