Channel Analysis API
Deep-dive YouTube channel analysis via a job-based async API — performance metrics, content strategy insights, audience demographics, and revenue data.
Base URL: https://prod.dashboard.nexlev.io — see Authentication.
How It Works
The Channel Analysis API uses a two-step workflow:
- Create Analysis Job - Submit a channel ID to start the analysis process
- Get Analysis Result - Retrieve the completed analysis using the job ID
This asynchronous approach allows for complex data processing without timeout issues.
Create Channel Analysis Job
GET /api/external/channels/analysis/job/createDescription: Create a new channel analysis job. The analysis will be processed asynchronously and you can retrieve the results using the returned job_id.
Query Parameters: channel_id (required) - The YouTube channel ID to analyze
cURL Example:
curl "https://prod.dashboard.nexlev.io/api/external/channels/analysis/job/create?channel_id=UCBJycsmduvYEL83R_U4JriQ" \
-H "Authorization: Bearer YOUR_API_KEY"🥞 Quota Cost: 20 quota per request — see Rate Limits & Quota.
Status Code: 200 OK
Response Body:
[
{
"job_id": "5558e178-4210-40c6-a776-d4b45f546dd4",
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"cached": false,
"message": "Job created successfully"
}
]Response Fields:
job_id- Unique identifier for the analysis jobchannel_id- The channel ID that was submitted for analysiscached- Whether the result was found in cache (if true, instant)message- Status message about the job creation
Get Channel Analysis Result
GET /api/external/channels/analysis/job/statusDescription: Retrieve the status and results of a channel analysis job. Returns the complete analysis when the job is finished processing.
Query Parameters: job_id (required) - The job ID returned from the Create Job request
cURL Example:
curl "https://prod.dashboard.nexlev.io/api/external/channels/analysis/job/status?job_id=5558e178-4210-40c6-a776-d4b45f546dd4" \
-H "Authorization: Bearer YOUR_API_KEY"🥞 Quota Cost: 1 quota per request — see Rate Limits & Quota.
Status Code: 200 OK
Response Body:
The response contains comprehensive channel analysis data organized into multiple strategic sections:
{
"job_id": "5558e178-4210-40c6-a776-d4b45f546dd4",
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"status": "completed",
"progress": 100,
"cached": true,
"result": {
"job_id": "5558e178-4210-40c6-a776-d4b45f546dd4",
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"project": "extension_channel_analysis",
"completed_at": "2025-12-01T13:53:04.584446",
"channel_data": {
"channel_info": {
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"title": "Marques Brownlee",
"avatar_url": "https://yt3.googleusercontent.com/...",
"subscriberCount": 20600000,
"videosCount": 1783,
"country": "United States",
"channel_type": "mixed",
"viewCount": 5127779625
},
"metrics": {
"average_video_length": 99.34,
"average_monthly_views": 4189904.55,
"average_monthly_uploads": 88.39,
"average_views_per_video": 47399.8,
"last_upload_date": "2009-12-04T00:00:00Z",
"first_upload_date": "2008-03-29T01:03:44Z"
}
},
"strategic_insights": {
"channel_overview": {
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"channel_name": "Marques Brownlee",
"subscriber_count": 20600000,
"analysis_timestamp": 1764597169.7445457
},
"content_strategy": {
"content_buckets": [
{
"bucket_name": "Smartphone Reviews & Impressions",
"bucket_description": "Reviews, impressions, and discussions about smartphones",
"confidence_score": 0.95,
"video_count": 40,
"videos": [...],
"median_views": 4264080,
"total_views": 171452808
}
],
"total_buckets": 6
},
"title_format_strategy": {
"format_groups": [
{
"format_name": "iPhone [VERSION] [TYPE] Impressions: [CLAIM]",
"format_description": "Titles featuring iPhone model followed by commentary",
"video_count": 10,
"videos": [...],
"median_views": 4381283.5,
"total_views": 60130063
}
],
"top_performing_format": "iPhone [VERSION] [TYPE] Impressions: [CLAIM]"
},
"audience_insights": {
"viewer_feedback": {
"what_viewers_liked": [
{
"point_id": 1,
"feedback_category": "Entertainment",
"feedback_point": "Humor and Personality",
"description": "Viewers appreciated the humorous and engaging personality",
"confidence_score": 0.9,
"supporting_comments_count": 5
}
],
"what_viewers_disliked": [...]
},
"sentiment_summary": {
"total_comments_analyzed": 100,
"total_videos_covered": 20,
"overall_sentiment": "positive",
"engagement_level": "high"
}
},
"performance_analysis": {
"metrics": {
"average_video_length_minutes": 13.19,
"average_title_length_characters": 37.9
},
"top_performing_videos": {
"average_length_minutes": 11.2,
"average_title_characters": 33.6,
"most_common_hook_type": "Controversial Statement",
"most_common_narrative_arc": "Setup–Conflict–Resolution",
"video_count": 5
},
"comparison_insights": {...}
},
"script_blueprint": {
"based_on": "Top performing videos analysis",
"recommended_stages": [
{
"stage": "Hook",
"purpose": "To grab the audience's attention and spark curiosity",
"recommended_length_seconds": 30,
"winning_formula": "Beginning with [SHOCKING_CLAIM] about [CONTROVERSIAL_TOPIC]",
"successful_examples": [...]
}
]
},
"ai_strategic_analysis": {
"strategic_recommendations": {
"performance_patterns": "Detailed analysis of performance patterns...",
"content_formula_discovery": "Winning content templates...",
"audience_behavior_insights": "Sentiment analysis insights...",
"strategic_opportunities": "Actionable recommendations..."
}
},
"suggested_topics": {
"topics": [
{
"title": "The Smart Glasses Dilemma",
"description": "Exploring challenges and market viability of smart glasses"
}
],
"total_topics": 10
},
"niche_analysis": {
"future_competition_score": 99,
"niche_score": null
}
}
}
}Top-Level Response Fields:
job_id- Unique identifier for the analysis job (same value you passed asjob_id)channel_id- The channel ID that was analyzedstatus- Job processing status (e.g."completed","processing")progress- Completion percentage (0-100)cached- Whether this result was served from cacheresult.project- Internal analysis pipeline identifierresult.completed_at- ISO 8601 timestamp of when the analysis finishedresult.channel_data/result.strategic_insights- The full analysis payload — see the breakdown below
Response Structure Explained
The Channel Analysis response is organized into several key sections:
Key Metrics Explained
- Content Buckets: Videos grouped by theme with confidence scores (0-1)
- Format Groups: Title patterns with performance data and match scores
- Viewer Feedback: Categorized likes/dislikes with confidence scores
- Script Blueprint: Stage-by-stage content structure with timing recommendations
- Competition Score: 0-100 score indicating future competition level (higher = more competitive)
Error Responses
Rate Limits
- Create Job: 100 requests per hour per API key
- Get Result: 500 requests per hour per API key
- Cached Results: Do not count against rate limits