ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment remplacer le scraping YouTube par une API SERP
Tutoriel

Comment remplacer le scraping YouTube par une API SERP

Arrêtez de scraper YouTube directement. Utilisez l'API SERP pour obtenir les titres, les chaînes et le nombre de vues sans automatisation du navigateur ni problèmes de quotas d'API.

Obtenez une clé API gratuiteDocumentation API

Le scraping de YouTube est fragile — les mises en page changent, les limites de débit se déclenchent, et l'automatisation du navigateur est lente. Les API SERP renvoient les données vidéo YouTube sous forme de résultats structurés lorsque vous recherchez avec site:youtube.com. Vous obtenez les titres des vidéos, les noms des chaînes, le nombre de vues et les dates de mise en ligne sans Selenium, Playwright, ni les quotas de la YouTube Data API. Chaque recherche coûte 0,005 $ et renvoie jusqu'à 10 résultats vidéo.

Prérequis

  • Python 3.9+ ou Node.js 18+
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev

Parcours

Étape 1: Rechercher YouTube via l'API SERP

Utilisez site:youtube.com dans votre requête de recherche pour obtenir des résultats exclusivement YouTube. L'API SERP renvoie des données structurées incluant les titres des vidéos et les informations de chaîne.

Python
import requests, os

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def search_youtube(query: str, count: int = 10) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'site:youtube.com {query}',
              'country_code': 'us', 'num_results': count})
    resp.raise_for_status()
    results = resp.json().get('organic_results', [])
    videos = []
    for r in results:
        link = r.get('link', '')
        if 'youtube.com/watch' in link or 'youtu.be/' in link:
            videos.append({
                'title': r['title'].replace(' - YouTube', '').strip(),
                'url': link,
                'snippet': r.get('snippet', ''),
                'channel': extract_channel(r.get('snippet', '')),
            })
    return videos

def extract_channel(snippet: str) -> str:
    # YouTube snippets often start with channel name or duration
    parts = snippet.split('\n') if '\n' in snippet else snippet.split(' ... ')
    return parts[0].strip() if parts else ''

videos = search_youtube('python tutorial 2026')
for v in videos[:5]:
    print(f'{v["title"][:50]}: {v["channel"][:30]}')
print(f'Cost: $0.005 for {len(videos)} videos')

Étape 2: Construire un pipeline de recherche vidéo

Recherchez plusieurs sujets et agrégerez les données vidéo pour une analyse concurrentielle, une recherche de contenu ou une découverte d'influenceurs.

Python
import time

def research_videos(topics: list) -> dict:
    all_videos = {}
    for topic in topics:
        videos = search_youtube(topic, count=10)
        all_videos[topic] = videos
        time.sleep(0.3)
    # Aggregate stats
    total_videos = sum(len(v) for v in all_videos.values())
    channels = set()
    for videos in all_videos.values():
        for v in videos:
            if v['channel']:
                channels.add(v['channel'])
    print(f'Topics: {len(topics)}')
    print(f'Total videos found: {total_videos}')
    print(f'Unique channels: {len(channels)}')
    print(f'Cost: {len(topics)} queries = ${len(topics) * 0.005:.3f}')
    return all_videos

topics = ['python api tutorial', 'javascript tutorial 2026', 'react hooks explained']
data = research_videos(topics)
for topic, videos in data.items():
    print(f'\n{topic}: {len(videos)} videos')
    for v in videos[:2]:
        print(f'  {v["title"][:50]}')

Étape 3: Comparer avec l'approche de l'API YouTube Data

Montrez la différence entre l'API SERP et l'API YouTube Data en termes de configuration, de quotas et de coût.

Python
comparison = {
    'SERP API (Scavio)': {
        'setup': 'One API key, one POST call',
        'quota': 'No daily quota, pay per query',
        'cost': '$0.005/query (250 free/month)',
        'data': 'Title, URL, snippet, channel name',
        'rate_limit': '10 req/sec',
        'auth': 'API key in header',
    },
    'YouTube Data API v3': {
        'setup': 'Google Cloud project, OAuth consent, API enable',
        'quota': '10,000 units/day (search = 100 units = 100 searches/day)',
        'cost': 'Free up to quota, then blocked',
        'data': 'Full metadata, stats, thumbnails',
        'rate_limit': 'Quota-based',
        'auth': 'OAuth2 or API key + project',
    },
    'Scraping (Selenium)': {
        'setup': 'Browser driver, anti-detection, proxy',
        'quota': 'IP-based blocks, unpredictable',
        'cost': '$50-200/month for proxy + compute',
        'data': 'Anything visible on page',
        'rate_limit': '1-2 req/sec safely',
        'auth': 'None (but proxies needed)',
    },
}

for method, details in comparison.items():
    print(f'{method}:')
    for key, val in details.items():
        print(f'  {key}: {val}')
    print()

Exemple Python

Python
import requests, os

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def youtube_search(query, count=10):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': f'site:youtube.com {query}', 'country_code': 'us', 'num_results': count})
    return [{'title': r['title'].replace(' - YouTube', ''), 'url': r['link']}
            for r in resp.json().get('organic_results', [])
            if 'youtube.com/watch' in r.get('link', '')]

videos = youtube_search('python tutorial 2026')
for v in videos[:5]:
    print(f'{v["title"][:50]}: {v["url"]}')

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function youtubeSearch(query, count = 10) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `site:youtube.com ${query}`, country_code: 'us', num_results: count })
  });
  const data = await resp.json();
  return (data.organic_results || []).filter(r => r.link?.includes('youtube.com/watch'))
    .map(r => ({ title: r.title.replace(' - YouTube', ''), url: r.link }));
}

youtubeSearch('python tutorial 2026').then(v => v.forEach(x => console.log(x.title)));

Sortie attendue

JSON
Python Tutorial for Beginners 2026 - Full Course: Corey Schafer
Learn Python in 1 Hour - 2026 Edition: Programming with Mosh
Python API Tutorial - Build Your First API: Tech With Tim

Cost: $0.005 for 8 videos

SERP API (Scavio):
  setup: One API key, one POST call
  quota: No daily quota, pay per query
  cost: $0.005/query (250 free/month)

Tutoriels associés

  • Comment construire un pipeline de découverte d'influenceurs YouTube
  • Comment construire un pipeline API de notation de créateurs TikTok
  • Comment construire un pipeline de leads locaux avec l'enrichissement SERP

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.9+ ou Node.js 18+. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleure API YouTube Data en 2026

Read more
Best Of

Meilleures API YouTube Data sans limite de quota (2026)

Read more
Use Case

Migrer du scraping vers l'API de recherche

Read more
Use Case

Données YouTube Influencer via API au lieu de Scraping

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more

Commencer

Arrêtez de scraper YouTube directement. Utilisez l'API SERP pour obtenir les titres, les chaînes et le nombre de vues sans automatisation du navigateur ni problèmes de quotas d'API.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité