Comment trouver des videos YouTube atypiques avec une API ?
Recuperez un lot de videos pour un mot-cle, prenez la mediane des vues de ce lot, puis signalez toute video dont les vues divisent la mediane par 5 ou plus. Ce rapport est le score atypique, et une API comme la recherche YouTube de Scavio vous renvoie les vues, likes et commentaires bruts en JSON, sans jamais ouvrir de navigateur. Un createur sur Reddit vient d'ouvrir le code d'un "outlier finder" qui fait exactement ca, et un data scientist du meme subreddit a montre pourquoi les atypiques mesurees en vues, et non la chute des impressions, sont la seule chose mesurable de l'exterieur.
Qu'est-ce qu'une video atypique ?
Une video atypique ecrase la performance habituelle de son groupe de reference. Ce groupe, c'est soit les dernieres mises en ligne d'une chaine, soit les premiers resultats d'une recherche dans une niche. La formule est simple :
outlier_score = video_views / median_views_of_peer_set
Prenez la mediane, pas la moyenne. Un seul carton viral tire la moyenne vers le haut et masque toutes les autres percees, alors que la mediane reste ancree sur ce qui est "normal". Un score de 1.0, c'est la moyenne exacte. Un score >= 5x est une video fortement atypique qui merite d'etre dissequee : ce sujet, ce titre ou ce format de miniature s'est detache du lot pour une raison. En dessous de ~2x, c'est du bruit. La plupart des createurs etudient le seuil de 5x et au-dessus, car c'est la que se cache souvent un schema reproductible.
Python : tirer une niche, calculer la mediane, signaler les atypiques
Ce script appelle la recherche YouTube de Scavio, recupere les vues et affiche tout ce qui atteint 5x ou plus. Il tourne tel quel des que vous mettez votre cle.
import requests
import statistics
API_KEY = "sk_live_..."
NICHE = "home espresso setup"
THRESHOLD = 5.0
resp = requests.post(
"https://api.scavio.dev/api/v1/youtube/search",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"search": NICHE},
)
resp.raise_for_status()
videos = resp.json()["videos"]
views = [v["view_count"] for v in videos if v.get("view_count")]
median = statistics.median(views)
for v in videos:
vc = v.get("view_count") or 0
score = vc / median if median else 0
if score >= THRESHOLD:
print(f"{score:.1f}x {vc:>10,} {v['title']}")Les noms de champs dependent de la forme reelle de la reponse : affichez un element d'abord si view_count ou videos ne collent pas. Un appel coute 1 credit (0,005 $), donc scanner dix niches revient a cinq centimes.
JavaScript : le meme appel avec fetch
const resp = await fetch("https://api.scavio.dev/api/v1/youtube/search", {
method: "POST",
headers: {
"Authorization": "Bearer sk_live_...",
"Content-Type": "application/json",
},
body: JSON.stringify({ search: "home espresso setup" }),
});
const { videos } = await resp.json();
const views = videos.map((v) => v.view_count).filter(Boolean).sort((a, b) => a - b);
const median = views[Math.floor(views.length / 2)];
const outliers = videos.filter((v) => (v.view_count || 0) / median >= 5);
console.log(outliers);Le compromis honnete : des donnees de decouverte, pas de l'analytique de chaine
Scavio renvoie des resultats de recherche classes avec les vues, likes et commentaires publics. C'est exactement ce qu'il faut pour decouvrir et pour scanner plusieurs niches vite, a 1 credit l'appel. Ce qu'il ne donne pas, ce sont les series temporelles privees par video : impressions, taux de clic, duree moyenne de visionnage, la courbe de temps de visionnage. Tout cela vit derriere une connexion. Une atypique mesuree en vues vous dit donc qu'une video a surperforme ; elle ne dit pas si c'est la miniature qui a gagne le clic ou le sujet qui a retenu le visionnage.
Si vous avez besoin de metadonnees par video au-dela de la recherche, combinez-la avec POST https://api.scavio.dev/api/v1/youtube/metadata pour un tir plus riche sur une video precise. Mais pour la chute des impressions et du CTR de votre propre chaine, YouTube Studio et l'API officielle YouTube Data l'emportent sans discussion. Le data scientist de Reddit qui a mesure la chute des impressions travaillait sur des exports Studio, precisement pour cette raison. Scavio, c'est la vue exterieure de la performance publique ; Studio, c'est la vue interieure de votre propre entonnoir.
Pourquoi une API bat le scraping de la recherche publique
Les resultats de recherche YouTube sont publics et indexes : une API structuree vous rend du JSON propre, sans rotation de proxys, sans CAPTCHA a resoudre, sans navigateur headless a surveiller. Vous demandez, vous recevez vues et titres. Le piege est le meme que le compromis ci-dessus : ce sont des donnees publiques de decouverte. Ce n'est pas une porte derobee vers les metriques privees d'une chaine, et aucune API ne vous donne les impressions ou le CTR de quelqu'un d'autre. Voyez-la comme un telescope de recherche, pas comme un tableau de bord analytique.
La regle de decision
Utilisez une API de donnees de recherche comme Scavio quand vous voulez scanner beaucoup de niches a la recherche de sujets qui percent et reconstituer titres et formats gagnants a partir d'atypiques publiques, pour quelques centimes par balayage. Combinez-la avec /youtube/metadata pour des tirs plus profonds par video. Basculez vers YouTube Studio ou l'API Data officielle des que votre question porte sur vos propres impressions, CTR ou retention. Chasser les atypiques, c'est de la decouverte ; optimiser sa chaine, c'est de l'analytique, et un seul outil ne devrait pas pretendre etre les deux.