Profil de chaîne YouTube
scripts/channel_profile.py lit les données publiques d'une chaîne via l'API YouTube Data v3 et affiche un rapport au format Markdown, ou en JSON avec --json. Il utilise uniquement l'API officielle. Il ne charge jamais les pages web de YouTube et n'écrit rien sur le disque.
Avant de l'exécuter
- L'humain doit disposer d'un projet Google Cloud avec l'API YouTube Data v3 activée et d'une clé API, restreinte à cette API.
- La clé se trouve dans la variable d'environnement
YOUTUBE_API_KEY. Ne la placez jamais dans une invite, un fichier ou un chat, et ne l'affichez jamais. Si elle n'est pas définie, arrêtez-vous et demandez à l'humain de la définir. Ne cherchez pas la clé ailleurs. - Installez la seule dépendance :
pip install -r scripts/requirements.txt(requests).
Exécution
python3 scripts/channel_profile.py @handle
python3 scripts/channel_profile.py https://www.youtube.com/@handle --videos 100
python3 scripts/channel_profile.py UCxxxxxxxxxxxxxxxxxxxxxx --json
Options : --videos N (nombre d'uploads récents à lire, par défaut 50, max 500), --json, --no-search, --cpm-low et --cpm-high (par défaut 0.25 et 4.00).
Comment il trouve la chaîne
- Un ID de chaîne ou une URL
/channel/UC...:channels.listavecid. - Un
@handleou une URL/@handle:channels.listavecforHandle. - Une URL
/user/:forUsername. Une URL/c/est tentée comme un handle. - Si rien ne correspond, il utilise
search.listcomme solution de repli pour la meilleure correspondance et l'indique dans le rapport. Vérifiez le titre et l'ID avant de vous y fier.--no-searchdésactive ce repli. - Les liens vers des vidéos, des playlists et les adresses non YouTube sont refusés. Demandez le lien de la chaîne.
Quota
| Appel | Coût |
|---|---|
channels.list | 1 unité |
playlistItems.list | 1 unité pour 50 uploads |
videos.list | 1 unité pour 50 vidéos |
search.list (repli uniquement) | 1 appel depuis son propre quota |
L'exécution par défaut coûte 3 unités sur les 10 000 unités quotidiennes par défaut. Depuis le 1er juin 2026, search.list dispose de son propre quota de 100 appels par jour. Avant cette date, une recherche coûtait 100 unités du quota principal, donc les anciens guides indiqueront 100. Les appels échoués consomment toujours du quota. Le quota se réinitialise à minuit, heure du Pacifique. Chaque rapport se termine par le quota qu'il a utilisé.
Ce qu'il rapporte
Depuis YouTube, tel que renvoyé :
- Abonnés, arrondis à la baisse par YouTube à trois chiffres significatifs. Si le propriétaire masque le nombre, le rapport indique « Masqué » et ne donne aucune estimation.
- Nombre total de vues de la chaîne et nombre de vidéos publiques.
- Vues, likes et commentaires pour chaque vidéo récente.
Dérivé par le script, marqué * :
- Cadence : nombre médian de jours entre les N derniers uploads, uploads par mois ((N - 1) écarts / nombre de jours écoulés x 30.44), et jours depuis le dernier upload.
- Vues médianes et moyennes des vidéos récentes. Les vidéos en direct et à venir sont exclues.
- Tendance : vues médianes des 10 derniers uploads par rapport aux 10 précédents. Les vidéos plus récentes ont eu moins de temps pour accumuler des vues.
- Engagement : (likes + commentaires) / vues par vidéo, puis la médiane. Les vidéos dont les likes sont masqués sont exclues. Les vidéos dont les commentaires sont désactivés comptent 0 commentaire.
- Shorts par rapport aux vidéos longues, basé sur la durée. Il s'agit d'une heuristique : 180 secondes ou moins est considéré comme un Short, car l'API ne fournit pas de drapeau Short.
- Top 5 des vidéos récentes par vues.
- Estimation des vues mensuelles : somme des vues actuelles sur les vidéos publiées au cours des 30 derniers jours. Cela exclut les vues du catalogue précédent. Si l'échantillon ne remonte pas à 30 jours, le rapport le mentionne et demande un
--videosplus grand. Cette vérification suppose que la playlist des uploads liste les plus récents en premier, comme c'est généralement le cas.
La politique III.E.4.h de l'API YouTube permet les données dérivées uniquement à côté des totaux de YouTube, avec une note claire indiquant qu'elles ne proviennent pas de YouTube. Le rapport fait les deux. Conservez cette note chaque fois que vous citez un chiffre marqué d'un astérisque.
Méthode de calcul des revenus
bas = vues mensuelles estimées / 1 000 x 0,25 USD
haut = vues mensuelles estimées / 1 000 x 4,00 USD
0,25 USD à 4,00 USD est la fourchette CPM par défaut publiée par Social Blade (socialblade.com/youtube/calculator). Le rapport affiche la formule avec les chiffres réels. Il s'agit uniquement des revenus publicitaires. Il exclut les parrainages, les adhésions, les achats, les revenus d'affiliation et le financement par les fans. Le RPM réel varie selon la niche, le pays de l'audience et le format. Les revenus des Shorts sont regroupés selon des conditions différentes. Une chaîne extérieure au Programme Partenaire YouTube ne génère aucun revenu publicitaire. Appelez-le toujours une fourchette estimée, jamais un revenu.
Erreurs
| Code de sortie | Signification | Que faire |
|---|---|---|
| 0 | Rapport imprimé | |
| 2 | Mauvaise entrée, clé manquante ou chaîne introuvable | Corrigez l'entrée, ou demandez à l'humain la clé ou le bon lien |
| 3 | Quota épuisé | Arrêtez-vous. Dites à l'humain qu'il se réinitialise à minuit, heure du Pacifique. Ne réessayez pas en boucle et ne changez pas de clé |
| 4 | Autre erreur d'API, par exemple clé invalide ou API non activée | Affichez le message à l'humain |
| 5 | Erreur réseau | Réessayez une fois, puis signalez-la |
Les erreurs affichent le quota utilisé avant l'échec. Chaque message et rapport est nettoyé de la clé avant d'être affiché.
Règles
- API officielle uniquement. Ne scrapez pas les pages YouTube pour combler un manque. Signalez le manque.
- Ne mettez rien en cache au-delà de l'exécution. Ne sauvegardez pas les réponses brutes de l'API. Si l'humain conserve le rapport, les statistiques de l'API ne peuvent pas être stockées plus de 30 jours (politique III.E.4.b).
- Données publiques uniquement. Les données démographiques de l'audience ne sont pas publiques : voir la compétence
creator-audience.
Vérifié le 5 novembre 2026 par rapport à la référence de l'API YouTube Data, à la page des quotas, à l'historique des révisions et aux politiques des développeurs. Les tests du script s'exécutent hors ligne avec des fixtures. Il n'a pas été exécuté ici sur l'API en direct.