> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mavera.io/llms.txt
> Use this file to discover all available pages before exploring further.

# YouTube

> 8 production-ready jobs — competitor ad showdowns, comment persona validation, trending gap analysis, pre-roll testing, influencer analysis, Shorts vs long-form, playlist strategy, and thumbnail focus groups

## Overview

YouTube's Data API v3 exposes the public video intelligence that most marketing teams ignore — search results, comment threads, trending charts, playlist structures, and thumbnail metadata. These eight jobs pull that data through Mavera's surfaces (Video Analysis, Focus Groups, Personas, Mave Agent, Generate) to rank competitor ads by emotional impact, validate audience personas against real comment sentiment, find content gaps in trending videos, test pre-roll hooks with synthetic panels, and measure Shorts against long-form performance.

<Info>
  **YouTube Data API v3** — Base URL: `https://www.googleapis.com/youtube/v3/`. Auth: API Key (public read) or OAuth 2.0 (private data). Rate limits: 10,000 quota units/day; `search.list` = 100 units; `videos.list` = 1 unit; `commentThreads.list` = 1 unit.
</Info>

```mermaid theme={"dark"}
flowchart TD
    subgraph data["YouTube Data"]
        videos["Videos"]
        comments["Comments"]
        trending["Trending"]
        playlists["Playlists"]
        thumbnails["Thumbnails"]
        channelStats["Channel Stats"]
    end
    subgraph surfaces["Mavera Surfaces"]
        videoAnalysis["Video Analysis"]
        focusGroups["Focus Groups"]
        personas["Personas"]
        mave["Mave Agent"]
        generate["Generate"]
    end
    subgraph outputs["Outputs"]
        competitiveIntel["Competitive Intel"]
        audiencePersonas["Audience Personas"]
        contentGaps["Content Gaps"]
        skipPrediction["Skip Prediction"]
        influencerSelection["Influencer Selection"]
        formatStrategy["Format Strategy"]
        thumbnailOptimization["Thumbnail Optimization"]
    end
    videos --> videoAnalysis
    comments --> personas
    trending --> mave
    playlists --> mave
    thumbnails --> focusGroups
    channelStats --> videoAnalysis
    videoAnalysis --> competitiveIntel
    videoAnalysis --> influencerSelection
    videoAnalysis --> formatStrategy
    personas --> audiencePersonas
    mave --> contentGaps
    focusGroups --> skipPrediction
    focusGroups --> thumbnailOptimization
```

***

## Prerequisites

<Steps>
  <Step title="Google Cloud project">Create a project in the [Google Cloud Console](https://console.cloud.google.com/) and enable the YouTube Data API v3.</Step>
  <Step title="API key">Generate an API key under **APIs & Services → Credentials**. Restrict it to the YouTube Data API v3 and your server IP range.</Step>
  <Step title="Mavera API key">Get your key from [Mavera dashboard](https://app.mavera.io/settings/api-keys).</Step>

  <Step title="Environment variables">
    ```bash theme={"dark"}
    export YOUTUBE_API_KEY="AIzaSy..."
    export MAVERA_API_KEY="mvra_live_xxxxx"
    ```
  </Step>
</Steps>

***

## Jobs

| # | Job                                                                                        | YouTube Data                         | Mavera Surface  | Output                                                       |
| - | ------------------------------------------------------------------------------------------ | ------------------------------------ | --------------- | ------------------------------------------------------------ |
| 1 | [Competitor Ad Analysis Showdown](/integrations/youtube/competitor-ad-showdown)            | search.list (competitor ads)         | Video Analysis  | Message clarity, emotional impact, brand attribution ranking |
| 2 | [Comment Sentiment → Persona Validation](/integrations/youtube/comment-persona-validation) | commentThreads.list                  | Personas + Chat | Audience segment analysis from 200 comments                  |
| 3 | [Trending Content Gap Analysis](/integrations/youtube/trending-content-gap)                | videos.list?chart=mostPopular        | Mave Agent      | Missing content themes your brand could own                  |
| 4 | [YouTube Pre-Roll Ad Testing](/integrations/youtube/pre-roll-testing)                      | Video Analysis (pre-roll candidates) | Focus Groups    | Skip-or-watch verdict on first 5 seconds                     |
| 5 | [Influencer Content Analysis](/integrations/youtube/influencer-analysis)                   | search.list (influencer videos)      | Video Analysis  | Brand alignment scores per influencer                        |
| 6 | [YouTube Shorts vs. Long-Form Performance](/integrations/youtube/shorts-vs-longform)       | videos.list (Shorts + long-form)     | Video Analysis  | Cross-format scoring comparison                              |
| 7 | [Playlist-Based Content Strategy](/integrations/youtube/playlist-content-strategy)         | playlists.list + playlistItems.list  | Mave Agent      | Content theme and sequencing analysis                        |
| 8 | [Video Thumbnail A/B with Focus Groups](/integrations/youtube/thumbnail-focus-group)       | videos.list (thumbnails)             | Focus Groups    | Click-likelihood ratings 1–10 per persona                    |

***

## Rate Limits & Production Notes

| YouTube Endpoint       | Quota Cost | Daily Budget Impact        | Strategy                                              |
| ---------------------- | ---------- | -------------------------- | ----------------------------------------------------- |
| `search.list`          | 100 units  | 1% of daily quota per call | Cache results; avoid repeated searches for same query |
| `videos.list`          | 1 unit     | Negligible                 | Batch up to 50 IDs per call to minimize requests      |
| `commentThreads.list`  | 1 unit     | Negligible                 | Paginate with `maxResults=100` for efficiency         |
| `playlists.list`       | 1 unit     | Negligible                 | Single call covers 25 playlists                       |
| `playlistItems.list`   | 1 unit     | Negligible                 | 50 items per page; paginate for large playlists       |
| `videoCategories.list` | 1 unit     | Negligible                 | Cache category map — it rarely changes                |

<Warning>
  YouTube Data API v3 enforces a **10,000 quota units/day** limit. The most expensive operation is `search.list` at **100 units per call**. A single run of Job 1 (Competitor Ad Analysis) with 3 competitors uses 300+ units (3%). Plan your daily job schedule to stay within budget. Monitor usage at the [Google Cloud Console quotas page](https://console.cloud.google.com/apis/api/youtube.googleapis.com/quotas). Request a quota increase via the [Audit Form](https://support.google.com/youtube/contact/yt_api_form) for production workloads.
</Warning>

**Production checklist:**

| Concern              | Recommendation                                                                                                           |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| API key security     | Restrict your API key to the YouTube Data API v3 and your server's IP range. Never expose it client-side.                |
| Quota monitoring     | Set up Cloud Monitoring alerts at 80% daily quota consumption.                                                           |
| Caching              | Cache `search.list` results for 6–24 hours. Trending data refreshes every 15 minutes but caching hourly is sufficient.   |
| Rate limiting        | Add 1-second delays between sequential API calls. YouTube doesn't publish per-second limits but throttles burst traffic. |
| Video availability   | Public videos can be deleted or made private at any time. Handle 404s gracefully in analysis pipelines.                  |
| Regional consistency | Always set `regionCode` on `search.list` and `videos.list?chart=mostPopular` for reproducible results.                   |
| Mavera credits       | Monitor usage at [Dashboard](https://app.mavera.io/settings/usage). Video Analysis consumes more credits than Chat.      |

***

<CardGroup cols={2}>
  <Card title="All Integrations" icon="plug" href="/integrations">
    50+ API integrations with full code
  </Card>

  <Card title="YouTube Data API Reference" icon="youtube" href="https://developers.google.com/youtube/v3/docs">
    Official YouTube Data API v3 documentation
  </Card>

  <Card title="Video Analysis" icon="video" href="/api-reference/video-analysis">
    Full reference for POST /api/v1/video-analysis
  </Card>

  <Card title="Focus Groups API" icon="comments" href="/api-reference/focus-groups">
    Full reference for POST /api/v1/focus-groups
  </Card>

  <Card title="Mave Agent" icon="brain" href="/api-reference/mave">
    Full reference for POST /api/v1/mave/chat
  </Card>

  <Card title="Personas API" icon="users" href="/api-reference/personas">
    Full reference for POST /api/v1/personas
  </Card>
</CardGroup>
