Finding a creator is the easy half. Deciding whether a sponsorship is worth buying means knowing how many people actually watch, who those people are, whether the channel already takes brand deals, and whether it is still uploading. This reads a channel and answers those questions from its recent uploads and its real comments.
Audience language is inferred from what viewers write, not from what the channel declares. A channel can be produced in one language and watched in another, and the declared setting is often the language of the person who set up the account years ago.
The price it returns is an estimate built from a CPM you supply, so it is a calculation against your own economics rather than a quote. Change the CPM and the number changes.
Inputs
- channelUrlsarray of strings
- Channel handles (@name), full channel URLs, or channel IDs beginning UC. The three are interchangeable and can be mixed in one run.
- CPMnumber
- Your own cost per thousand views. The estimated price range is derived from it, so it is your assumption rather than the Actor's.
Outputs
- expected_views
- What a new upload is likely to reach, from the performance of recent ones rather than from subscriber count.
- audience_language and audience_language_share
- The language the audience actually writes in, with the share of sampled comments that support it. The share is reported so the reader can judge the call rather than trust it.
- takes_sponsorships
- Whether the channel already carries brand deals.
- estimated_price_low_usd and estimated_price_high_usd
- A range calculated from expected views and the CPM you supplied.
- latest_upload_age_days
- How long since the last upload. A channel that has stopped is a different proposition from one that is slow.
- competitors_mentioned
- Brands already named in the channel's own videos.
- status and an evidence view
- Why a row came out the way it did, including the material the audience call was made from.
Delivered as Apify dataset, CSV.
What it does not do
It declines to name an audience language when the evidence is too thin, rather than picking the most likely one. Below its confidence threshold the answer is undetermined, and undetermined is a real answer that means the sample would not support a call. Treating it as an exclusion is a mistake, and a costly one: the channels that trigger it most often are the mixed-language audiences a multilingual campaign exists to reach.
It cannot read an audience that does not comment. A channel with real viewers but a quiet comment section yields no language call, and this is common enough that a whole shortlist can come back undetermined. That is a property of the evidence available, not a fault in the channel.
The price is an estimate from your own CPM, not a rate card and not an offer. It tells you what a placement is worth on your assumptions. Two people running the same channel through it with different CPMs will get different numbers, and both will be right.
Expected views are drawn from recent uploads, so a channel that has just changed format, or gone viral once, will be read from the new pattern rather than the old one. It is a projection and it can be wrong in either direction.
It reports whether a channel takes sponsorships, not whether it would take yours, and not whether the audience overlaps with your market. Fit is a judgement the numbers inform rather than make.
Where it is used
- Sizing a creator shortlist before spending anything, so the budget goes to reach that exists rather than to subscriber counts.
- Filtering a long candidate list down to channels whose audience actually speaks the language a campaign is written in.
- Spotting channels that have quietly stopped uploading before including them in a plan.
- Checking which brands a creator has already worked with, before an approach rather than after it.
From an agent
It runs as an Apify Actor, so any MCP client can call it through Apify's hosted server at mcp.apify.com. Nothing extra was built for this. It is not loaded by default, so an agent either finds it through Apify's search tool or is given the name:
salomon-dot-labs--youtube-channel-analyzer
The description a model reads before deciding to call it is the same sentence that heads this page. Every input listed above is optional, so a model can start it with far less than a full configuration.
Worth knowing when you wire it up: the call returns a pointer rather than the rows. An agent gets the dataset id, the item count and the available field names, then fetches the results in a second step. That is how Apify exposes every Actor, not something particular to this one, and it means budgeting two round trips per answer.
It runs on Apify. Inputs, output schema and pricing are all on the listing, and a run can be started from the browser without writing any code.
Open on Apify