Le problème
Les créateurs et marketeurs YouTube ne peuvent pas suivre par programmation l'évolution de la visibilité de leurs vidéos dans les recherches. YouTube Studio montre les impressions mais pas la position de recherche pour des requêtes spécifiques. Sans suivi de position, les créateurs ne peuvent pas mesurer si leurs efforts SEO fonctionnent ni quelles vidéos perdent en visibilité.
La solution Scavio
Construisez un pipeline planifié qui interroge le point de terminaison de recherche YouTube de Scavio pour les mots-clés cibles, enregistre la position de chaque vidéo et suit les changements au fil du temps. Stockez les résultats dans une base de données ou un tableur pour visualiser les courbes de baisse d'impressions et identifier les vidéos nécessitant des mises à jour SEO.
Avant
Avant le suivi automatisé, un créateur recherchait manuellement YouTube pour ses mots-clés cibles chaque semaine, en parcourant les résultats pour trouver ses vidéos. Il a remarqué qu'une vidéo était passée de la page 1 seulement après 3 semaines de baisse.
Après
Après avoir mis en œuvre le suivi via API, le système vérifie 30 mots-clés par jour et alerte lorsqu'une vidéo perd plus de 3 positions. Le créateur a repéré une vidéo en baisse en moins de 24 heures et a mis à jour le titre/la description pour retrouver sa position en une semaine.
À qui cela s'adresse
Créateurs YouTube, marketeurs vidéo et agences qui suivent la visibilité dans les recherches et la baisse d'impressions pour leur contenu vidéo.
Avantages clés
- Suivi quotidien de la position de recherche YouTube pour tout mot-clé
- Alertes automatisées en cas de baisse de position
- Les données historiques révèlent les schémas de baisse d'impressions
- Identifie les vidéos nécessitant des mises à jour du titre/de la description
- Coûte 0,15 $/jour pour 30 vérifications de mots-clés
Exemple Python
import requests, os, json
from datetime import date
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
CHANNEL = 'your-channel-name'
KEYWORDS = ['search api tutorial', 'web scraping python', 'serp api comparison']
def track_youtube_positions(keywords: list[str], channel: str) -> list[dict]:
results = []
for kw in keywords:
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'youtube', 'query': kw}, timeout=10).json()
organic = r.get('organic', [])
position = None
for i, video in enumerate(organic):
if channel.lower() in (video.get('channel', '') or '').lower():
position = i + 1
break
results.append({
'keyword': kw, 'date': str(date.today()),
'position': position, 'total_results': len(organic)
})
return results
for r in track_youtube_positions(KEYWORDS, CHANNEL):
print(json.dumps(r))Exemple JavaScript
async function trackYouTubePositions(keywords, channel) {
const results = [];
for (const kw of keywords) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ platform: 'youtube', query: kw })
}).then(r => r.json());
const pos = (r.organic || []).findIndex(v =>
v.channel?.toLowerCase().includes(channel.toLowerCase())) + 1;
results.push({ keyword: kw, date: new Date().toISOString().slice(0, 10), position: pos || null });
}
return results;
}Plateformes utilisées
YouTube
Recherche de vidéos avec transcriptions et métadonnées