> [!NOTE]
> **Note:** This feature is in beta and is only available to developers on an allowlist.

Discover and fetch insights about YouTube creators with the creator insights
feature in [`ContentCreatorInsightsService`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService).
This service helps agencies and advertisers find creators who are relevant to
their target audience.

The API has four main functions:

1. **Creator discoverability:** Find relevant creators for a given set of topics, demographics, audiences, or creator attributes.
2. **Creator topic insights:** Fetch insights about relevant creators who make content about specified topics.
3. **Creator insights:** Fetch insights about specific YouTube channels, such as their subscriber count, view count, and audience demographics.
4. **Trending insights:** Fetch insights about specific trends, based on specific audiences or topics.

Local creator discovery (finding creators who are based in or post from a given
country and are viewed in that country) is supported when using topic-based
creator discovery or trending insights by requesting supplemental data. You can
also request brand sentiment insights for topic-based trending insights by
requesting supplemental data.

## Eligibility requirements

[`GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateCreatorInsights) is a private component of
the Google Ads API offered with a non-exclusive, royalty-free data license. Signed
partners can use the standard [Google Ads client libraries](https://developers.google.com/google-ads/api/docs/client-libs) to explore
YouTube creators and content. To be eligible, partners must satisfy the
following conditions:

- Have a planning tool or user interface that integrates the Google Ads API.
- Use the API to explore YouTube content and creators for potential advertising opportunities.
- Complete a pre-screen assessment to verify eligibility.
- Follow data usage requirements and undergo periodic data audits.
- Accept the Google Ads API [terms of service](https://developers.google.com/google-ads/api/docs/api-policy/terms) and the associated data usage policy.

Contact your Google representative for more information.

## Generate creator insights

To generate creator insights, send a request to the
[`GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateCreatorInsights) method. This method has a
limit of 5 queries per second (QPS). It accepts different criteria depending on
whether you want creator discoverability, topic-based creator search, or
channel-specific creator insights. You must provide the target country locations
in [`country_locations`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#country_locations%5B%5D).

1. **Creator discoverability (`search_attributes`):** Provide a list of
   audience attributes---such as age, gender, and user interests (affinity,
   in-market, and life event audiences)---using the
   [`search_attributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_attributes) field to find creators whose
   audiences match those attributes. You can also provide creator attributes
   to filter for creators whose content matches specific attributes.

   Retrieve available audience attributes using
   [`ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsService/ListAudienceInsightsAttributes) by
   specifying the dimensions you need, such as `KNOWLEDGE_GRAPH` for topics of
   interest. To combine attributes using boolean `AND` and `OR` groups, use
   `audience_combinations` as described in [Complex audience
   combinations](https://developers.google.com/google-ads/api/docs/insights/creator-insights#audience-combinations).
2. **Creator topic insights (`search_topics`):** Provide a list of content
   topics using the [`search_topics`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_topics) field. The API returns
   relevant creators who make content about the specified topics. Data is
   fetched for the country specified in
   [`country_locations`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#country_locations%5B%5D) (this option supports a single
   country per request).

   Supported entities in `search_topics` must be tagged with either the
   `CONTENT_TRENDING_INSIGHTS` or `CREATOR_TOPIC_INSIGHTS` capability. Use
   [`ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsService/ListAudienceInsightsAttributes) to
   retrieve supported entity capabilities.

   > [!NOTE]
   > **Note:** The `search_brand` option was deprecated in `v24` and removed in `v25`. Use [`search_topics`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_topics) instead.

3. **Creator insights (`search_channels`):** Provide a list of YouTube channel
   IDs, YouTube channel handles (`youtube_channel_handles`, available in `v25`
   and later), or a combination of both using the
   [`search_channels`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_channels) field. The API returns insights about
   those specific channels.

### Complex audience combinations

In both `GenerateCreatorInsights` and `GenerateTrendingInsights`, you can define
complex audience attribute relationships using `audience_combinations`. This
field lets you combine audience attributes with boolean logic (`AND` and `OR`)
beyond the flat union (`OR`) behavior of `audience_attributes`:

- Each `InsightsAudienceAttributeGroup` within `audience_combinations` combines its attributes with a logical `OR`.
- Multiple `InsightsAudienceAttributeGroup` items in `audience_combinations` are combined with a logical `AND`.

For example, to target an audience interested in (`"Skin care"` `OR` `"Hair
care"`) `AND` `"Cosmetics"`, include two `InsightsAudienceAttributeGroup` items
in `audience_combinations`:

1. Group 1 containing the Knowledge Graph entity attributes for `"Skin care"` and `"Hair care"`.
2. Group 2 containing the Knowledge Graph entity attribute for `"Cosmetics"` (such as `/m/014trl`).

> [!NOTE]
> **Note:** If you specify Knowledge Graph entities, Product \& Service Categories, or user interests in `audience_combinations`, you cannot also specify those attribute types in `audience_attributes`. You can still use `audience_attributes` for demographic filters (such as age and gender) alongside `audience_combinations`.

### Supplemental data and local creators

By default, only core insight data is returned. You can request optional
features and additional data in your response by setting the repeated field
[`supplemental_data`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#supplemental_data%5B%5D).

For example, you can request local creator data by adding the
`LOCAL_CREATOR_DATA` enum value to `supplemental_data`. If you search for
creators using `search_topics` (and the topic is a Knowledge Graph entity tagged
with the `CREATOR_TOPIC_INSIGHTS` capability), the API populates the
[`local_creator_insights`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsResponse#local_creator_insights%5B%5D) field in the response with
local creators who have consented to share their location data.

Keep the following specifications in mind for local creator discovery:

- **Definition:** Local creators are creators who are based in or post from the selected country and are viewed in that country.
- **Constraint:** Local creator discovery is *not* supported when [`sub_country_locations`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#sub_country_locations%5B%5D) is set in the request.
- **Capabilities:** You can retrieve the list of supported Knowledge Graph entities and their capabilities using [`ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsService/ListAudienceInsightsAttributes).

The `GenerateCreatorInsights` method returns a `GenerateCreatorInsightsResponse`
object containing the following fields:

- [`creator_insights`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsResponse#creator_insights%5B%5D): A list of `YouTubeCreatorInsights` objects matching your core criteria.
- [`local_creator_insights`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsResponse#local_creator_insights%5B%5D): A list of `YouTubeCreatorInsights` objects for local creators. This is only populated if `LOCAL_CREATOR_DATA` was requested and the criteria used was `search_topics`.

Each `YouTubeCreatorInsights` object contains:

- `creator_name`: The name of the creator.
- `creator_channels`: A list of `YouTubeChannelInsights` objects. Channel details and `channel_metrics` ([`YouTubeMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeMetrics)) are returned inside each `YouTubeChannelInsights` object in `creator_channels`.

The [`YouTubeMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeMetrics) object contains:

- Subscriber, view, and video counts
- Total like, share, and comment counts across all of the channel's videos
- Lifetime engagement rate (total engagement divided by total views)
- Average views, likes, shares, and comments per video over the last 28 days
- Shorts view and video counts
- Whether the creator is an active Shorts creator or an active livestream creator (has published one in the last 90 days)
- [Partnership opportunities](https://developers.google.com/google-ads/api/reference/rpc/v26/PartnershipOpportunityEnum.PartnershipOpportunity)

Engagement rate and average views, likes, and comments per video are non-public
metrics that are populated only when the creator has consented to share them.

To check if a creator is eligible for original branded content partnerships,
inspect [`partnership_opportunities`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeMetrics#partnership_opportunities%5B%5D); a
creator is eligible if the list contains
[`CREATOR_PARTNERSHIPS`](https://developers.google.com/google-ads/api/reference/rpc/v26/PartnershipOpportunityEnum.PartnershipOpportunity#CREATOR_PARTNERSHIPS).

The `YouTubeChannelInsights` object contains the following information about a
YouTube channel:

- Channel name, ID, handle, URL, description, and thumbnail URL
- Channel creation date and associated country
- Channel metrics
- Channel audience attributes (such as age, gender, and user interest breakdown)
- Channel attributes (the attributes associated with the channel's content)
- Top videos
- Channel type and content languages
- Relevance score (for topic trend searches only)
- Whether the creator has given consent to share non-public metrics

### `GenerateCreatorInsights` request and response reference

Call [`GenerateCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateCreatorInsights) on
[`ContentCreatorInsightsService`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService) at the
following endpoint:

    POST https://googleads.googleapis.com/v26/customers/{customer_id}:generateCreatorInsights

The following table summarizes the fields on
[`GenerateCreatorInsightsRequest`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest):

| Field path | Requirement | Format and constraints |
|---|---|---|
| `customer_id` | Required | 10-digit customer ID (`string`) without hyphens. |
| `customer_insights_group` | Required | User-defined name (`string`) of the customer or brand being planned for. |
| `country_locations[]` | Required | List of country [`LocationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/LocationInfo) objects (`geo_target_constant`, such as `"geoTargetConstants/2840"`). Must contain a single country when `search_topics` is used. |
| `sub_country_locations[]` | Optional | Sub-country [`LocationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/LocationInfo) filters; supported only with `search_attributes` and incompatible with `LOCAL_CREATOR_DATA`. |
| `search_attributes` | `criteria` (`oneof`) | [`SearchAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_attributes) containing: • `audience_attributes[]`: `age_range`, `gender`, `device`, `parental_status`, `income_range` (plus `user_interest`, `entity`, or `category` when `audience_combinations` is unused). • `audience_combinations[]`: AND-of-ORs [`InsightsAudienceAttributeGroup`](https://developers.google.com/google-ads/api/reference/rpc/v26/InsightsAudienceAttributeGroup) items. • `creator_attributes[]`: Knowledge Graph `entity` items with the `CREATOR_ATTRIBUTE` capability. |
| `search_topics` | `criteria` (`oneof`) | [`SearchTopics`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_topics) containing `entities[]` ([`AudienceInsightsEntity`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsEntity) with `knowledge_graph_machine_id` tagged with `CREATOR_TOPIC_INSIGHTS` or `CONTENT_TRENDING_INSIGHTS`). |
| `search_channels` | `criteria` (`oneof`) | [`YouTubeChannels`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsRequest#search_channels) containing `youtube_channels[]` (`channel_id`) and/or `youtube_channel_handles[]` (handles starting with `@`, such as `"@youtubecreators"`). |
| `supplemental_data[]` | Optional | [`ContentCreatorInsightsSupplementalData`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsSupplementalDataEnum.ContentCreatorInsightsSupplementalData) values. Set `LOCAL_CREATOR_DATA` on a single-country `search_topics` request (for entities with `CREATOR_TOPIC_INSIGHTS`) to populate `local_creator_insights[]`. |
| `insights_application_info` | Optional | [`AdditionalApplicationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdditionalApplicationInfo) metadata about the application issuing the request. |

The [`GenerateCreatorInsightsResponse`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsResponse) message returns
the following fields:

| Response field | Type | Description |
|---|---|---|
| `creator_insights[]` | [`YouTubeCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeCreatorInsights) | Creators matching your core criteria (`creator_name` and `creator_channels[]`). |
| `local_creator_insights[]` | [`YouTubeCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeCreatorInsights) | Local creators who consented to share location data (populated when `LOCAL_CREATOR_DATA` is requested with `search_topics` on an entity with `CREATOR_TOPIC_INSIGHTS`). |
| `creator_channels[]` | [`YouTubeChannelInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeChannelInsights) | **Metadata:** `display_name`, `youtube_channel.channel_id`, `handle`, `channel_url`, `publish_date`, `country_location`, and `data_sharing_consent_given`. **Insights \& content:** `channel_audience_attributes[]` (consent-gated), `channel_attributes[]`, `top_videos[]`, `language_distributions[]`, `relevance_score` (populated only for `GenerateTrendingInsights` with `search_topics`), and `channel_metrics`. |
| `channel_metrics` | [`YouTubeMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeMetrics) | **Public metrics:** `subscriber_count`, `views_count`, `video_count`, `likes_count`, `shares_count`, `comments_count`, `shorts_views_count`, `shorts_video_count`, `is_active_shorts_creator`, `is_active_live_stream_creator`, and `partnership_opportunities[]`. **Consent-gated metrics:** `engagement_rate` and 28-day per-video averages (`average_views_per_video`, `average_likes_per_video`, `average_shares_per_video`, `average_comments_per_video`). |

### `GenerateCreatorInsights` REST request and response examples

The following example discovers creators using `searchAttributes` with
demographic `audienceAttributes`, boolean `audienceCombinations` (`"Skin care"`
`OR` `"Hair care"`, `AND` `"Cosmetics"`), and `creatorAttributes`:

    POST https://googleads.googleapis.com/v26/customers/{customer_id}:generateCreatorInsights

    {
      "customerInsightsGroup": "Spring Skincare Campaign",
      "countryLocations": [
        {
          "geoTargetConstant": "geoTargetConstants/2840"
        }
      ],
      "searchAttributes": {
        "audienceAttributes": [
          {
            "ageRange": {
              "type": "AGE_RANGE_25_34"
            }
          },
          {
            "gender": {
              "type": "FEMALE"
            }
          }
        ],
        "audienceCombinations": [
          {
            "attributes": [
              {
                "entity": {
                  "knowledgeGraphMachineId": "/m/015c4z"
                }
              },
              {
                "entity": {
                  "knowledgeGraphMachineId": "/m/018bb_"
                }
              }
            ]
          },
          {
            "attributes": [
              {
                "entity": {
                  "knowledgeGraphMachineId": "/m/014trl"
                }
              }
            ]
          }
        ],
        "creatorAttributes": [
          {
            "entity": {
              "knowledgeGraphMachineId": "/m/014trl"
            }
          }
        ]
      }
    }

To fetch topic-based creators along with local creators, use `searchTopics` and
include `"LOCAL_CREATOR_DATA"` in `supplementalData`:

    POST https://googleads.googleapis.com/v26/customers/{customer_id}:generateCreatorInsights

    {
      "customerInsightsGroup": "Spring Skincare Campaign",
      "countryLocations": [
        {
          "geoTargetConstant": "geoTargetConstants/2840"
        }
      ],
      "supplementalData": [
        "LOCAL_CREATOR_DATA"
      ],
      "searchTopics": {
        "entities": [
          {
            "knowledgeGraphMachineId": "/m/014trl"
          }
        ]
      }
    }

To fetch insights for specific YouTube channels by channel ID or handle, use
`searchChannels`:

    POST https://googleads.googleapis.com/v26/customers/{customer_id}:generateCreatorInsights

    {
      "customerInsightsGroup": "Spring Skincare Campaign",
      "countryLocations": [
        {
          "geoTargetConstant": "geoTargetConstants/2840"
        }
      ],
      "searchChannels": {
        "youtubeChannels": [
          {
            "channelId": "UCxxxxxxxxxxxxxxxxxxxxxx"
          }
        ],
        "youtubeChannelHandles": [
          "@exampleskincare"
        ]
      }
    }

A successful [`GenerateCreatorInsightsResponse`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateCreatorInsightsResponse) returns
`creatorInsights[]` (and `localCreatorInsights[]` when `LOCAL_CREATOR_DATA` is
requested):

    {
      "creatorInsights": [
        {
          "creatorName": "Example Skincare Creator",
          "creatorChannels": [
            {
              "displayName": "Example Skincare Channel",
              "youtubeChannel": {
                "channelId": "UCxxxxxxxxxxxxxxxxxxxxxx"
              },
              "channelUrl": "https://www.youtube.com/channel/UCxxxxxxxxxxxxxxxxxxxxxx",
              "handle": "@exampleskincare",
              "publishDate": "2020-03-15",
              "countryLocation": {
                "geoTargetConstant": "geoTargetConstants/2840"
              },
              "dataSharingConsentGiven": true,
              "channelMetrics": {
                "subscriberCount": "450000",
                "viewsCount": "38200000",
                "videoCount": "210",
                "likesCount": "1950000",
                "commentsCount": "84000",
                "engagementRate": 0.056,
                "averageViewsPerVideo": 62000.0,
                "shortsViewsCount": "14500000",
                "shortsVideoCount": "95",
                "isActiveShortsCreator": true,
                "isActiveLiveStreamCreator": false,
                "partnershipOpportunities": [
                  "CREATOR_PARTNERSHIPS",
                  "PARTNERSHIP_ADS"
                ]
              }
            }
          ]
        }
      ],
      "localCreatorInsights": []
    }

## Generate trending insights

To generate trending insights, send a request to the
[`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateTrendingInsights) method. This method has a
limit of 5 queries per second (QPS). It accepts two types of input depending on
whether you want audience trends or topic trends, and requires a target country
location.

1. **Audience trends (`search_audience`):** Provide a list of audience
   attributes (such as age, gender, and user interests) in the
   `audience_attributes` field of [`search_audience`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsRequest#search_audience) and,
   optionally, use [`audience_combinations`](https://developers.google.com/google-ads/api/docs/insights/creator-insights#audience-combinations) to
   combine attributes with boolean `AND`/`OR` logic. The API returns a list of
   trending insights for those audiences, including metrics such as the
   percentage change in the trend's value over the comparison period.

   Developers with access to
   [`ContentCreatorInsightsService`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService) have
   automatic access to
   [`ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsService/ListAudienceInsightsAttributes) in
   `AudienceInsightsService` (see the [Audience insights
   guide](https://developers.google.com/google-ads/api/docs/insights/audience-insights#list-attributes)). Other endpoints in
   `AudienceInsightsService` require a separate allowlist.
2. **Topic trends (`search_topics`):** Provide a list of content topics in the
   [`search_topics`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsRequest#search_topics) field. The API returns trending
   insights for those topics, including the percentage change in the trend's
   value over the comparison period. You can also request local creators or
   brand sentiment insights by setting `supplemental_data`.

   `KNOWLEDGE_GRAPH` attributes returned by
   [`ListAudienceInsightsAttributes`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsService/ListAudienceInsightsAttributes) include
   one or more [`InsightsKnowledgeGraphEntityCapabilities`](https://developers.google.com/google-ads/api/reference/rpc/v26/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities)
   tags; entities tagged `CONTENT_TRENDING_INSIGHTS` are supported as topics
   in `GenerateTrendingInsights`.

### Supplemental data and local creators

Similar to generating creator insights, you can request optional features in
trending insights by setting the repeated field
[`supplemental_data`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsRequest#supplemental_data%5B%5D) to `LOCAL_CREATOR_DATA` or
`BRAND_SENTIMENT_DATA`:

- **Local creators (`LOCAL_CREATOR_DATA`):** When your trending request uses `search_topics` (and the topic is a Knowledge Graph entity tagged with the `CREATOR_TOPIC_INSIGHTS` capability), setting `supplemental_data` to `LOCAL_CREATOR_DATA` populates the [`related_local_creators`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight#related_local_creators%5B%5D) field on the returned [`TrendInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight) objects with related local creators who have consented to share their location data. Local creator discovery is incompatible with `sub_country_locations`.
- **Brand sentiment (`BRAND_SENTIMENT_DATA`):** When your trending request uses `search_topics` and the requested Knowledge Graph entity topic has the [`BRAND`](https://developers.google.com/google-ads/api/reference/rpc/v26/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities#BRAND) capability, setting `supplemental_data` to `BRAND_SENTIMENT_DATA` populates the [`brand_sentiment_insights`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight#brand_sentiment_insights%5B%5D) field on the returned [`TrendInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight) objects.

Measuring brand sentiment uses Gemini AI models to analyze YouTube video content
related to the brand, categorizing the sentiment as positive, negative, or
neutral. Only the video content itself is analyzed; user comments are not
included.

### Trending insights metadata

The [`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateTrendingInsights) method returns a list
of [`TrendInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight) objects, each containing:

- `trend_attribute`: The primary [`AudienceInsightsAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsAttributeMetadata) for the trend.
- `trend_metrics`: The metrics for the trend, such as percentage change over the comparison period.
- `trend`: An [`InsightsTrend`](https://developers.google.com/google-ads/api/reference/rpc/v26/InsightsTrendEnum.InsightsTrend) value (`EMERGING`, `RISING`, `SUSTAINED`, or `DECLINING`) indicating the direction of the trend. See `trend_metrics.trend_change_percent` for the size of the change.
- `trend_data_points`: Historical data points for the trend. Only populated for trends using `search_topics`.
- `related_videos`: A list of [`AudienceInsightsAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsAttributeMetadata) objects for trending videos associated with the trend's topic (only populated for trends using `search_topics`). For these attributes, the nested [`YouTubeVideoAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeVideoAttributeMetadata) is populated with video-level metadata (URL, thumbnail URL, view and like counts) and channel-level metadata (channel ID, name, and URL).
- `related_creators`: A list of `YouTubeCreatorInsights` objects for creators related to the trend's topic (only populated for trends using `search_topics`).
- `related_local_creators`: A list of `YouTubeCreatorInsights` objects for local creators related to the trend's topic who have consented to share their location data. Only populated when `LOCAL_CREATOR_DATA` is requested (see [Supplemental data, local creators, and brand
  sentiment](https://developers.google.com/google-ads/api/docs/insights/creator-insights#trending-supplemental-data)).
- `brand_sentiment_insights`: A list of [`BrandSentimentInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/BrandSentimentInsight) objects for the trend (populated when the request uses `search_topics` for an entity with the `BRAND` capability and requests `BRAND_SENTIMENT_DATA`). Each `BrandSentimentInsight` object contains:
  - `month`: The month that the brand sentiment represents in `YYYY-MM` format.
  - `has_insufficient_data`: Whether there is insufficient data to calculate the brand sentiment.
  - `sentiment_distributions`: Distribution of sentiment between positive, negative, and neutral, calculated as the proportion of views for videos corresponding to the brand with each sentiment.
  - `sentiment_summaries`: AI-generated summaries of positive and negative themes in content related to the brand, along with sample videos for each sentiment. Summaries are generated only for positive and negative sentiment, not neutral.

### `GenerateTrendingInsights` request and response reference

Call [`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateTrendingInsights) on
[`ContentCreatorInsightsService`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService) at the
following endpoint:

    POST https://googleads.googleapis.com/v26/customers/{customer_id}:generateTrendingInsights

The following table summarizes the fields on
[`GenerateTrendingInsightsRequest`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsRequest):

| Field path | Requirement | Format and constraints |
|---|---|---|
| `customer_id` | Required | 10-digit customer ID (`string`) without hyphens. |
| `customer_insights_group` | Required | User-defined name (`string`) of the customer or brand being planned for. |
| `country_location` | Required | Single country [`LocationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/LocationInfo) (`geo_target_constant`, such as `"geoTargetConstants/2840"`). |
| `sub_country_locations[]` | Optional | Sub-country [`LocationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/LocationInfo) filters; supported only for `search_audience` and incompatible with `LOCAL_CREATOR_DATA`. |
| `search_audience` | `criteria` (`oneof`) | [`SearchAudience`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsRequest#search_audience) containing: • `audience_attributes[]` (required): `age_range`, `gender`, `parental_status`, `income_range` (plus `user_interest`, `entity`, or `category` when `audience_combinations` is unused). • `audience_combinations[]` (optional): AND-of-ORs attribute groups. |
| `search_topics` | `criteria` (`oneof`) | [`SearchTopics`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsRequest#search_topics) containing `entities[]` ([`AudienceInsightsEntity`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsEntity) with `knowledge_graph_machine_id` tagged with `CONTENT_TRENDING_INSIGHTS`). |
| `supplemental_data[]` | Optional | [`ContentCreatorInsightsSupplementalData`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsSupplementalDataEnum.ContentCreatorInsightsSupplementalData) values: • `LOCAL_CREATOR_DATA`: Populates `related_local_creators[]` for `search_topics` entities with `CREATOR_TOPIC_INSIGHTS`. • `BRAND_SENTIMENT_DATA`: Populates `brand_sentiment_insights[]` for `search_topics` entities with `BRAND`. |
| `insights_application_info` | Optional | [`AdditionalApplicationInfo`](https://developers.google.com/google-ads/api/reference/rpc/v26/AdditionalApplicationInfo) metadata about the application issuing the request. |

The [`GenerateTrendingInsightsResponse`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsResponse) message returns
[`TrendInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight) entries in `trend_insights[]`:

| `TrendInsight` field | Type | Description |
|---|---|---|
| `trend_attribute` | [`AudienceInsightsAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsAttributeMetadata) | Primary attribute for the trend (`dimension`, `display_name`, `attribute`). |
| `trend_metrics` | [`TrendInsightMetrics`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsightMetrics) | Metrics over the 3-month comparison period (`views_count` and `views_indexed_value` for `search_topics`; `audience_share` for `search_audience`; `trend_change_percent`). |
| `trend` | [`InsightsTrend`](https://developers.google.com/google-ads/api/reference/rpc/v26/InsightsTrendEnum.InsightsTrend) | Direction of the trend (`EMERGING`, `RISING`, `SUSTAINED`, or `DECLINING`). |
| `trend_data_points[]` | [`TrendInsightDataPoint`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsightDataPoint) | Monthly historical data (`month` in `YYYY-MM` format and `trend_metrics`); populated for `search_topics`. |
| `related_videos[]` | [`AudienceInsightsAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v26/AudienceInsightsAttributeMetadata) | Trending videos with [`YouTubeVideoAttributeMetadata`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeVideoAttributeMetadata); populated for `search_topics`. |
| `related_creators[]` | [`YouTubeCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeCreatorInsights) | Creators related to the topic; populated for `search_topics`. |
| `related_local_creators[]` | [`YouTubeCreatorInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/YouTubeCreatorInsights) | Consenting local creators; populated for `search_topics` when `LOCAL_CREATOR_DATA` is requested on an entity with `CREATOR_TOPIC_INSIGHTS`. |
| `brand_sentiment_insights[]` | [`BrandSentimentInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/BrandSentimentInsight) | Monthly brand sentiment (`month`, `has_insufficient_data`, `sentiment_distributions[]`, `sentiment_summaries[]`); populated for `search_topics` when `BRAND_SENTIMENT_DATA` is requested on an entity with the [`BRAND`](https://developers.google.com/google-ads/api/reference/rpc/v26/InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities#BRAND) capability. |

### `GenerateTrendingInsights` REST request and response example

The following example calls
[`GenerateTrendingInsights`](https://developers.google.com/google-ads/api/reference/rpc/v26/ContentCreatorInsightsService/GenerateTrendingInsights) using `searchTopics` for
a Knowledge Graph brand entity (`/g/11example_brand`, tagged with
`CONTENT_TRENDING_INSIGHTS`, `CREATOR_TOPIC_INSIGHTS`, and `BRAND`) and requests
both `LOCAL_CREATOR_DATA` and `BRAND_SENTIMENT_DATA`:

    POST https://googleads.googleapis.com/v26/customers/{customer_id}:generateTrendingInsights

    {
      "customerInsightsGroup": "Spring Skincare Campaign",
      "countryLocation": {
        "geoTargetConstant": "geoTargetConstants/2840"
      },
      "supplementalData": [
        "LOCAL_CREATOR_DATA",
        "BRAND_SENTIMENT_DATA"
      ],
      "searchTopics": {
        "entities": [
          {
            "knowledgeGraphMachineId": "/g/11example_brand"
          }
        ]
      }
    }

A successful [`GenerateTrendingInsightsResponse`](https://developers.google.com/google-ads/api/reference/rpc/v26/GenerateTrendingInsightsResponse)
returns [`TrendInsight`](https://developers.google.com/google-ads/api/reference/rpc/v26/TrendInsight) entries in `trendInsights[]`:

    {
      "trendInsights": [
        {
          "trendAttribute": {
            "dimension": "KNOWLEDGE_GRAPH",
            "displayName": "Example Skincare Brand",
            "attribute": {
              "entity": {
                "knowledgeGraphMachineId": "/g/11example_brand"
              }
            }
          },
          "trendMetrics": {
            "viewsCount": "18500000",
            "viewsIndexedValue": "82",
            "trendChangePercent": 0.24
          },
          "trend": "RISING",
          "trendDataPoints": [
            {
              "month": "2026-05",
              "trendMetrics": {
                "viewsCount": "18500000",
                "viewsIndexedValue": "82",
                "trendChangePercent": 0.08
              }
            }
          ],
          "brandSentimentInsights": [
            {
              "month": "2026-05",
              "hasInsufficientData": false,
              "sentimentDistributions": [
                {
                  "sentiment": "SENTIMENT_POSITIVE",
                  "sentimentShare": 0.68
                },
                {
                  "sentiment": "SENTIMENT_NEUTRAL",
                  "sentimentShare": 0.25
                },
                {
                  "sentiment": "SENTIMENT_NEGATIVE",
                  "sentimentShare": 0.07
                }
              ]
            }
          ],
          "relatedVideos": [],
          "relatedCreators": [],
          "relatedLocalCreators": []
        }
      ]
    }

## Google Issue Tracker

Use Google Issue Tracker to ask support questions, report bugs, or submit
feature requests. Google tracks, prioritizes, and posts updates on your
requests directly in Issue Tracker. For more information, see [Create an issue
in Google Issue Tracker](https://developers.google.com/issue-tracker/guides/create-issue-ui).

Create an issue by using one of the following Issue Tracker templates:

- [Ask a general support question or submit documentation feedback](https://issuetracker.google.com/issues/new?component=2315943&template=2440256)
- [Report a technical bug](https://issuetracker.google.com/issues/new?component=2315943&template=2440158)
- [Submit an API feature request](https://issuetracker.google.com/issues/new?component=2315943&template=2440255)

Fill out all fields in the template with detailed information so that Google can
reproduce and prioritize your request. Google might close incomplete reports and
ask you to submit a new issue with the missing details.