tarka
YouTube
Config

YouTube Analytics API

Pull channel and video performance metrics via the YouTube Analytics API

Instructions

YouTube Analytics API

Retrieve performance data for your YouTube channel and individual videos: views, watch time, traffic sources, audience demographics, and revenue metrics.

Authentication

Requires OAuth 2.0 with https://www.googleapis.com/auth/yt-analytics.readonly scope. Revenue/ad data requires https://www.googleapis.com/auth/yt-analytics-monetary.readonly.

Core Operations

Channel-level metrics (daily)

GET https://youtubeanalytics.googleapis.com/v2/reports
  ?ids=channel==MINE
  &startDate=2026-03-01
  &endDate=2026-03-30
  &metrics=views,estimatedMinutesWatched,averageViewDuration,subscribersGained,subscribersLost,likes,comments,shares
  &dimensions=day
  &sort=day
Authorization: Bearer {ACCESS_TOKEN}

Per-video metrics

GET https://youtubeanalytics.googleapis.com/v2/reports
  ?ids=channel==MINE
  &startDate=2026-01-01
  &endDate=2026-03-30
  &metrics=views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained,likes,comments,shares,annotationClickThroughRate
  &dimensions=video
  &sort=-views
  &maxResults=50
  &filters=video=={VIDEO_ID}
Authorization: Bearer {ACCESS_TOKEN}

Traffic sources (where viewers find your videos)

GET https://youtubeanalytics.googleapis.com/v2/reports
  ?ids=channel==MINE
  &startDate=2026-03-01
  &endDate=2026-03-30
  &metrics=views,estimatedMinutesWatched
  &dimensions=insightTrafficSourceType
  &sort=-views
Authorization: Bearer {ACCESS_TOKEN}

Traffic source types include: YT_SEARCH, SUGGESTED, BROWSE, EXT_URL, NOTIFICATION, PLAYLIST, END_SCREEN, ANNOTATION, CAMPAIGN_CARD, NO_LINK_EMBEDDED, NO_LINK_OTHER.

Search terms driving traffic

GET https://youtubeanalytics.googleapis.com/v2/reports
  ?ids=channel==MINE
  &startDate=2026-03-01
  &endDate=2026-03-30
  &metrics=views,estimatedMinutesWatched
  &dimensions=insightTrafficSourceDetail
  &filters=insightTrafficSourceType==YT_SEARCH
  &sort=-views
  &maxResults=100
Authorization: Bearer {ACCESS_TOKEN}

Returns the actual search queries viewers used to find your videos. Essential for YouTube SEO keyword discovery.

Audience demographics

GET https://youtubeanalytics.googleapis.com/v2/reports
  ?ids=channel==MINE
  &startDate=2026-03-01
  &endDate=2026-03-30
  &metrics=viewerPercentage
  &dimensions=ageGroup,gender
Authorization: Bearer {ACCESS_TOKEN}

Audience retention for a specific video

GET https://youtubeanalytics.googleapis.com/v2/reports
  ?ids=channel==MINE
  &startDate=2026-01-01
  &endDate=2026-03-30
  &metrics=audienceWatchRatio
  &dimensions=elapsedVideoTimeRatio
  &filters=video=={VIDEO_ID}
Authorization: Bearer {ACCESS_TOKEN}

Returns retention curve: what percentage of viewers are still watching at each point in the video. Drops indicate weak sections.

YouTube Reporting API (Bulk Data)

For large-scale analysis, use the Reporting API to get daily bulk CSV reports:

Create a reporting job

POST https://youtubereporting.googleapis.com/v1/jobs
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json

{
  "reportTypeId": "channel_basic_a2",
  "name": "Channel daily metrics"
}

List available reports

GET https://youtubereporting.googleapis.com/v1/jobs/{JOB_ID}/reports
Authorization: Bearer {ACCESS_TOKEN}

Download a report

GET https://youtubereporting.googleapis.com/v1/media/{REPORT_URL}
Authorization: Bearer {ACCESS_TOKEN}

Reports are generated daily and available for 60 days.

Key Metrics for SEO Plays

| Metric | What it tells you | |--------|------------------| | views | Total video views | | estimatedMinutesWatched | Total watch time (YouTube's #1 ranking factor) | | averageViewDuration | How long viewers stay (quality signal) | | averageViewPercentage | Retention rate (higher = better recommendations) | | subscribersGained | New subs driven by this video | | annotationClickThroughRate | End screen / card CTR | | shares | Social sharing (virality signal) |

Error Handling

  • 401 Unauthorized: Refresh OAuth token.
  • 403 Forbidden: Check scope. Monetary metrics require the monetary scope.
  • 400 badRequest: Validate date format (YYYY-MM-DD) and metric/dimension compatibility. Not all metric+dimension combinations are valid.
  • 429 rateLimitExceeded: Retry with exponential backoff.

Pricing

  • Free (OAuth-based, no separate billing)
  • Google Cloud project required
  • Docs: https://developers.google.com/youtube/analytics

Alternatives

  • vidIQ: Channel analytics dashboard + keyword tracking ($5.98-$17.50/mo)
  • TubeBuddy: Video performance tracking + A/B testing ($2.25-$14.50/mo)
  • Social Blade: Public channel statistics and growth tracking (free tier available)
  • Tubular Labs: Enterprise cross-platform video analytics
  • Phyllo API: Unified creator analytics across platforms