# YouTube Brand Mention Finder - Who Promotes a Brand (`seemuapps/youtube-brand-mention-finder`) Actor

Find every YouTube creator promoting a brand, domain or promo code - with the sponsor line, affiliate link, discount code, views and subscriber count.

- **URL**: https://apify.com/seemuapps/youtube-brand-mention-finder.md
- **Developed by:** [Seemu Scraping](https://apify.com/seemuapps) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 brand mentions

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## YouTube Brand Mention Finder - Who Promotes a Brand

Type in a brand, a domain or a discount code and get back every YouTube creator talking about it — with the sponsor line from the description, the affiliate link they use, the promo code they give out, their subscriber count and how many views each mention pulled.

This is a sponsorship search run backwards: instead of "what does this creator promote?", it answers "who is promoting this brand?" — the question brands, agencies and competitors actually need answered.

### What you get

Per video mention:

- **mentionType** — `sponsored`, `affiliate_link`, `promo_code`, `link` or `mention`
- **isLikelySponsored** — true when there is a sponsor disclosure, a tracking link or a discount code
- **brandLinks** — the actual destination URLs, unwrapped from YouTube's redirect
- **brandPromoCodes** — codes tied to this brand (`SBR10`, `CYBERNEWS10`), plus every other code found in **promoCodes**
- **sponsorPhrases** — the disclosure text itself ("sponsored by …", "thanks to … for sponsoring")
- **mentionSnippet** — the surrounding description text so you can read the pitch
- **matchedIn** — whether the brand appeared in the title, description, a link or a code
- Video and channel data: **title**, **videoUrl**, **views**, **uploadDate**, **durationSeconds**, **channelTitle**, **channelUrl**, **subscribers**

In **creator mode** each row is one channel instead: **mentionCount**, **sponsoredMentionCount**, **totalViewsOnMentions**, **avgViewsOnMentions**, all their codes and links, and the list of videos.

### Use cases

- **Competitor sponsorship tracking** — see exactly which creators your competitor pays, and what codes they hand out
- **Influencer prospecting** — build an outreach list of creators already talking about your category
- **Affiliate program audits** — find who is using your links, and who is promoting you without one
- **Campaign verification** — confirm sponsored videos went live and capture the disclosure text
- **Brand monitoring** — catch unauthorised or off-message use of your name and codes

### How to use

1. Enter one or more **Brands, domains or promo codes** — `Squarespace`, `athleticgreens.com` and `NORD20` are all valid. Each line is searched separately, so add variants (brand name, product name, domain) to widen the net.
2. Set **Videos to check per brand** — this is search depth; videos that do not actually mention the brand are dropped.
3. Choose **Output**: one row per video mention, or one row per creator.
4. Optionally turn on **Sponsored mentions only**, set **Uploaded within** to track a live campaign, or raise **Minimum views**.
5. Run the actor — results land in the **Dataset** tab.

### Output format

```json
{
  "brand": "Squarespace",
  "mentionType": "affiliate_link",
  "isLikelySponsored": true,
  "matchedIn": ["title", "description", "link", "promo code"],
  "title": "Squarespace Pricing Explained",
  "videoUrl": "https://www.youtube.com/watch?v=VIDEO_ID",
  "views": 33326,
  "uploadDate": "Jul 1, 2025",
  "channelTitle": "Steve Builds Websites",
  "channelUrl": "https://www.youtube.com/channel/UC...",
  "subscribers": 101000,
  "brandLinks": ["https://squarespace.syuh.net/VxdKvR"],
  "brandPromoCodes": ["SBR10"],
  "sponsorPhrases": [],
  "mentionSnippet": "Squarespace — https://squarespace.syuh.net/VxdKvR 10% off code: SBR10 …"
}
```

### Notes

- Detection works on what creators publish publicly: the video title, the description, the links in it and the codes they list. A spoken-only mention with nothing in the description will not be found.
- A domain term also matches the spaced form of the name, so `athleticgreens.com` finds "Athletic Greens" in a description.
- `affiliate_link` is assigned when the brand link points at a tracking domain rather than the brand's own site — that is usually the strongest signal of a paid relationship.

# Actor input Schema

## `brands` (type: `array`):

What to look for, one per line: a brand name (Squarespace), a domain (athleticgreens.com) or a promo code (NORD20). Each line is searched separately - add your own variants to widen the net.

## `maxVideosPerBrand` (type: `integer`):

How many search results to open and read per brand term. Videos that do not actually mention the brand are dropped, so this is the search depth, not the result count.

## `mode` (type: `string`):

Per-video rows give you every mention; per-creator rows give you an outreach list with each creator's mentions grouped together.

## `sponsoredOnly` (type: `boolean`):

Keep only videos with a sponsor disclosure, an affiliate link or a discount code - drop videos that merely name the brand.

## `uploadedWithin` (type: `string`):

Limit the search to recent uploads - useful for tracking a campaign that is running now.

## `sortBy` (type: `string`):

How YouTube orders the videos that get checked.

## `minViews` (type: `integer`):

Skip videos with fewer views than this. 0 keeps everything.

## `proxyConfiguration` (type: `object`):

Optional proxy. Not normally needed - leave it off unless you are checking hundreds of videos per run.

## Actor input object example

```json
{
  "brands": [
    "Squarespace"
  ],
  "maxVideosPerBrand": 50,
  "mode": "videos",
  "sponsoredOnly": false,
  "uploadedWithin": "any",
  "sortBy": "relevance",
  "minViews": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Per video: brand, mentionType, isLikelySponsored, matchedIn, videoId, videoUrl, title, uploadDate, views, durationSeconds, channelTitle, channelId, channelUrl, subscribers, brandLinks, promoCodes, sponsorPhrases, mentionSnippet. In creator mode: channel details plus mentionCount, sponsoredMentionCount, totalViewsOnMentions, avgViewsOnMentions, promoCodes, brandLinks and the list of videos.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "brands": [
        "Squarespace"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("seemuapps/youtube-brand-mention-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "brands": ["Squarespace"] }

# Run the Actor and wait for it to finish
run = client.actor("seemuapps/youtube-brand-mention-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "brands": [
    "Squarespace"
  ]
}' |
apify call seemuapps/youtube-brand-mention-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,seemuapps/youtube-brand-mention-finder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Sjla5jLTyhnC7amOs/builds/ytDjaKzIv22svlmxt/openapi.json
