📖Looking for the full technical specification? YouTube API Reference →

YouTube API Guide

AI-powered tools that help YouTube creators choose the best thumbnail, nail the hook, and keep viewers watching. Learn when and how to use each endpoint for maximum impact.

Base URLhttps://api.creatornode.io/youtube

What is the YouTube API?

The YouTube API gives you two superpowers that directly impact your video's performance:

  1. Thumbnail Ranking — upload 2–10 thumbnail variants and get a data-driven winner based on six visual quality signals.
  2. Hook Validator — check whether your thumbnail, title, and opening script actually align. Mismatches are the #1 cause of early viewer drop-off.

Both endpoints use AI to analyze your content and return actionable, specific feedback — not generic advice.

🧠 AI-Powered

Vision analysis, face detection, OCR, and semantic matching — all included in every request.

📊 Quantified Results

Numeric scores (0–100), subscores per signal, and confidence levels. No vague opinions — just data.

🎯 Actionable Feedback

Specific recommendations: what's working, what's not, and exactly how to fix it.

🔑 Free Tier

20 requests/day with no API key. Test your workflow before committing.

Endpoints

Click an endpoint to see the full guide — examples, tips & tricks, and limits.

Credit Costs

📺YouTube APIThumbnail ranking & hook validation
EndpointCostExtra ItemsIncludes
/youtube/v1/hook-validator10 creditsAI analysis (script + thumbnail)Full guide →
/youtube/v1/thumbnail-ranking13+ credits+1 credit per variant above 4AI analysis (visual scoring)Full guide →

See the Pricing page for credit packages and tier comparison.

Usage Example

Recommended Workflow

Here's how top creators use both endpoints together for maximum impact:

// Node.js integration example const headers = { 'Content-Type': 'application/json', 'X-API-Key': process.env.CREATORNODE_KEY, }; // Step 1: Rank thumbnails const ranking = await fetch('https://api.creatornode.io/youtube/v1/thumbnail-ranking', { method: 'POST', headers, body: JSON.stringify({ variants: thumbnails.map(t => ({ id: t.id, imageBase64: t.imageBase64 })), title: videoTitle, }), }).then(r => r.json()); const bestThumb = ranking.data.winner; console.log(`Winner: ${bestThumb.id} (score: ${bestThumb.score})`); // Step 2: Validate hook with the winning thumbnail const hook = await fetch('https://api.creatornode.io/youtube/v1/hook-validator', { method: 'POST', headers, body: JSON.stringify({ thumbnail: { imageBase64: thumbnails.find(t => t.id === bestThumb.id)?.imageBase64, }, title: videoTitle, scriptIntro: first90Seconds, }), }).then(r => r.json()); if (hook.validation.riskLevel !== 'low') { console.warn(`⚠️ Risk: ${hook.validation.riskLevel}`); console.warn(hook.validation.primaryIssue); hook.recommendations.forEach(r => console.log(`→ ${r.message}`)); }