20 % de remise sur toutes les offres payantes avec le code

Vidéo · YouTube

API de données vidéo YouTube

L’API de données vidéo YouTube vous fournit des données YouTube en direct au moment où vous les demandez, sous une forme propre et structurée – prêtes pour votre application, un tableur ou un assistant IA. Sans scraping, rien à maintenir.

100 requêtes gratuites chaque mois · sans carte bancaire · une clé API pour toutes les plateformes

L’essentiel

Mis à jour le

Chaque page de lecture YouTube contient un riche bloc de métadonnées publiques : titre et description, la chaîne qui publie la vidéo, les totaux de vues, de likes et de commentaires, la date de publication, la durée, la catégorie, les mots-clés, les miniatures et les pistes de sous-titres disponibles. L'API de données vidéo YouTube d'everydata.io renvoie ce bloc sous forme d'un objet JSON unique pour n'importe quel ID ou URL de vidéo. Pas d'écran de consentement OAuth, pas de projet Google Cloud, pas de quota quotidien d'unités à rationner – juste un GET HTTPS avec votre clé everydata.io, servi depuis la page en direct.

Plateforme
YouTube
Endpoint principal
/youtube-video-details
Quota par appel
1 requête
Offre gratuite
100 req. / moispuis à partir de 30 € / mois
Ce que vous obtenez

Des données YouTube prêtes à l’emploi

GET /ytb/youtube-video-details accepte id sous forme d'ID de vidéo seul (kJQP7kiw5Fk), de lien court youtu.be ou d'URL de lecture complète : vous pouvez lui passer tout ce que vos utilisateurs collent. La réponse contient videoId, title, description, channelId, channelName, channelUrl et subscriberCountText pour l'auteur, puis les chiffres d'engagement en entiers : viewCount, likeCount et commentCount, avec likeCountText pour la valeur arrondie affichée. publishedAt et uploadDate sont des horodatages ISO avec décalage, duration est en secondes avec durationText au format m:ss, et category, keywords et tags reprennent la classification choisie par l'auteur.

Des indicateurs booléens décrivent l'état de la vidéo : isLive, isLiveNow, isFamilySafe, isUnlisted, isPrivate, isShortsEligible et allowRatings. availableCountries liste les pays où la lecture est autorisée, embedUrl est prêt pour une iframe, et captions[] contient chaque piste de sous-titres avec languageCode, name et isTranslatable.

  • ID de vidéo, lien youtu.be ou URL de lecture complète acceptés dans le même paramètre id
  • viewCount, likeCount, commentCount en entiers simples, plus les variantes lisibles *Text
  • publishedAt, uploadDate, duration, durationText, category, keywords[] et tags[]
  • Contexte de la chaîne inclus : channelId, channelName, channelUrl, channelThumbnails, subscriberCountText
  • Indicateurs d'état : isLive, isLiveNow, isFamilySafe, isUnlisted, isPrivate, isShortsEligible, allowRatings
  • thumbnails[] en plusieurs tailles, embedUrl, availableCountries[] et captions[] avec langue et possibilité de traduction
  • Endpoints complémentaires pour la recherche par mot-clé, les vidéos associées et les tendances – tous paginés par curseur, sans clé API Google
Cas d’usage

Ce que les équipes construisent avec

Reporting d'influence et de campagnes

Récupérez à intervalles réguliers viewCount, likeCount et commentCount des vidéos sponsorisées et tracez leur courbe depuis la date de publication – sans budget d'unités à répartir entre vos clients.

Surveillance de contenus et brand safety

Résolvez chaque URL soumise par un utilisateur, enregistrez title, channelName, category et isFamilySafe, et signalez les vidéos qui deviennent ensuite privées ou non répertoriées grâce à la réponse 404.

Suivi de la recherche et des tendances

Lancez chaque jour le même mot-clé dans youtube-search-videos avec différentes valeurs de countryCode et mesurez quelles chaînes et quels formats dominent les résultats sur chaque marché.

Aperçus de liens et intégrations

Transformez un lien YouTube collé en fiche avec miniature, titre, chaîne et durée, et intégrez la vidéo avec embedUrl – le cas d'usage oEmbed classique, sans identifiants Google.

Comment ça marche

Exemple de requête et de réponse

Un seul appel renvoie tout le bloc de la page de lecture ; l'exemple utilise Despacito, les compteurs sont donc réels et élevés. Pour la découverte, GET /ytb/youtube-search-videos?query=lofi+hip+hop renvoie items[] avec videoId, title, channelName, viewCount, duration et isLive, plus un cursor ; /ytb/youtube-video-related-contents liste les recommandations de la colonne latérale d'une vidéo, et /ytb/youtube-trending-videos renvoie l'onglet Tendances.

GET /ytb/youtube-video-details

curl "https://api.everydata.io/ytb/youtube-video-details?id=kJQP7kiw5Fk&languageCode=en&countryCode=US" \
  -H "x-api-key: YOUR_API_KEY"

Réponse (abrégée)

200 OK · application/json
{
  "responseStatus": "PAGE_FOUND",
  "responseMessage": "Page successfully found!",
  "videoId": "kJQP7kiw5Fk",
  "title": "Luis Fonsi - Despacito ft. Daddy Yankee",
  "channelId": "UCLp8RBhQHu9wSsq62j_Md6A",
  "channelName": "LuisFonsiVEVO",
  "subscriberCountText": "32.5M subscribers",
  "viewCount": 9125159593,
  "likeCount": 56673581,
  "likeCountText": "56M",
  "commentCount": 4300000,
  "publishedAt": "2017-01-12T21:00:02-08:00",
  "duration": 282,
  "durationText": "4:42",
  "category": "Music",
  "keywords": [
    "Luis",
    "Fonsi"
  ],
  "tags": [
    "Calypso",
    "Despacito"
  ],
  "thumbnails": [
    {
      "url": "https://i.ytimg.com/vi/kJQP7kiw5Fk/hqdefault.jpg",
      "width": 168,
      "height": 94
    }
  ],
  "isLive": false,
  "isFamilySafe": true,
  "embedUrl": "https://www.youtube.com/embed/kJQP7kiw5Fk"
}

responseStatus vaut PAGE_FOUND lorsque la page de lecture s'est affichée. Une vidéo privée, supprimée ou bloquée dans la région produit un 404 avec un corps vnd.error plutôt qu'un objet à moitié rempli : vérifiez le statut HTTP avant d'analyser la réponse. viewCount est le chiffre exact de la page au moment de la requête ; YouTube le met lui-même à jour avec un léger décalage, deux appels à quelques minutes d'intervalle peuvent donc renvoyer le même nombre pour les vidéos peu actives.

Les réponses de recherche et de contenus associés sont paginées avec une chaîne cursor opaque. Passez la valeur cursor d'une réponse dans le paramètre cursor de l'appel suivant pour continuer ; omettez-la pour la première page. Chaque page compte pour une requête. Dans la recherche, estimatedResults est le total approximatif de YouTube, pas une garantie du nombre de pages parcourables.

languageCode et countryCode (par défaut en, US) influencent ce que YouTube affiche : titres localisés lorsque l'auteur a fourni des traductions, et liste des tendances du pays. Chaque requête est en temps réel ; les endpoints YouTube n'ont pas de cacheTtl, car les compteurs évoluent en permanence.

Endpoints associés

GET/ytb/youtube-video-details

Détails de la vidéo. Métadonnées d'une vidéo par id ou URL.

GET/ytb/youtube-search-videos

Rechercher des vidéos. Recherche par mot-clé avec pagination par curseur.

GET/ytb/youtube-video-related-contents

Vidéos associées. Contenus associés à une vidéo.

GET/ytb/youtube-trending-videos

Tendances. Vidéos en tendance.

Référence complète de l’API
Tarifs

Payez à la requête, toutes les plateformes incluses

Un appel de détails vidéo, une page de recherche ou une page de contenus associés correspond à une requête. Comme il n'y a pas de quota Google distinct, la seule limite est votre offre everydata.io : les 100 requêtes mensuelles de l'offre gratuite couvrent un test d'intégration ; l'offre Starter (5 000 requêtes, 30 €) suit environ 160 vidéos par jour ; l'offre Production (50 000, 80 €) permet un reporting à l'échelle d'une agence sur des centaines de chaînes. Les erreurs 5xx côté source ne sont jamais décomptées.

Free
100 req. / mois
Starter
5 000 req. · 30 €
Production
50 000 req. · 80 €
Business
300 000 req. · 300 €

API de données vidéo YouTube : questions fréquentes

Ai-je besoin d'une clé API Google ou d'un jeton OAuth ?

Non. Les requêtes sont authentifiées uniquement avec votre clé everydata.io. Les données proviennent des pages publiques de lecture, de recherche et de chaînes de YouTube : aucun projet Google Cloud, aucun flux de consentement, aucun quota quotidien de 10 000 unités.

Quels formats d'id sont acceptés ?

L'ID de vidéo à 11 caractères, un lien court youtu.be, une URL complète www.youtube.com/watch?v= et les URL de Shorts. Le même paramètre id les gère tous ; la réponse contient toujours le videoId normalisé.

Puis-je obtenir le nombre de dislikes ou les statistiques de durée de visionnage ?

Non. YouTube a supprimé l'affichage public des dislikes en 2021 et la durée de visionnage n'est visible que par le propriétaire de la chaîne dans YouTube Studio. L'API renvoie les compteurs publics : viewCount, likeCount et commentCount.

Comment paginer les résultats de recherche ?

Chaque réponse de recherche contient une chaîne cursor. Renvoyez-la dans le paramètre cursor pour récupérer la page suivante, et continuez jusqu'à ce qu'aucun cursor ne soit renvoyé. Les pages contiennent généralement une vingtaine d'éléments, y compris des lives signalés par isLive.

Les vidéos soumises à une limite d'âge ou privées sont-elles prises en charge ?

Les vidéos privées renvoient 404, car leur page n'est pas publique. Les vidéos soumises à une limite d'âge renvoient les métadonnées que YouTube expose sans connexion ; lorsque la page exige une connexion, l'appel renvoie également 404.

À voir aussi

Cas d’usage associés

Tous les cas d’usage

Consultez votre première vidéo

Créez un compte gratuit et appelez GET /ytb/youtube-video-details?id=kJQP7kiw5Fk – toutes les métadonnées dans une seule réponse JSON, 100 requêtes par mois offertes.