See how a YouTube channel actually makes money beyond AdSense: its own products (courses, ebooks, communities, SaaS, merch), sponsorships, and affiliate deals — with prices, landing-page funnel data (member counts, monthly pricing), and which videos drove each promotion.
Two tools work together. get_channel_promotions answers everything from NexLev's pre-scraped promotions database — instantly and cheaply. get_channel_promotions_realtime is the fallback for channels that haven't been analyzed yet: it reads the channel live and saves the result, so every follow-up question is served from the database.
Prerequisites
- Connected AI assistant — Claude, ChatGPT, or any other supported platform
- Active NexLev account — Connect to your AI assistant to get started. Upgrade to Pro for higher quota limits.
Tools
get_channel_promotions
Queries NexLev's promotions database. One tool, four query modes — your assistant chooses based on what you asked.
| Mode | Question it answers | Requires |
|---|---|---|
channelProfile | What does this channel promote and sell? | channelId |
brandSearch | Which brands promote across the most channels? | — |
priceBenchmark | What does a product type sell for across YouTube? | productType |
videoAttribution | Which videos on a channel drove product mentions? | channelId |
channelProfile — one channel's full monetization picture
Everything a single channel promotes, plus a rollup: what it sells, store URLs, self-promo vs sponsor counts, and a recurring-revenue signal.
Example prompts:
Show me every product this channel promotes, with prices: https://www.youtube.com/@channelname
Does this channel have a paid community or membership, and what does it cost?
What courses does this channel sell, and include the per-video mentions
brandSearch — platform-wide brand intelligence
Which brands run third-party promotions (sponsorships, affiliate deals, partner mentions) across the most channels, with up to 10 sample channel IDs per brand. Does not take a channelId.
Example prompts:
Which brands sponsor the most channels in the SaaS space — paid sponsorships only
priceBenchmark — what a product type sells for
Median, min, max, and average prices for one product type across every scraped channel, grouped by billing period and currency.
Example prompts:
videoAttribution — which videos drove the promotion
The videos on a channel that mentioned products, sorted by views.
Example prompts:
Show me which videos drove the most views to their paid community
Parameters:
| Parameter | Type | Description |
|---|---|---|
query | enum | Required. channelProfile, brandSearch, priceBenchmark, or videoAttribution |
channelId | string | 24-char UC… ID. Required for channelProfile and videoAttribution |
productType | enum | Single type to benchmark. Required for priceBenchmark |
dealTypes | enum[] | sponsorship, affiliate, selfPromo, promo, collaboration, partnerMention, other |
productTypes | enum[] | course, ebook, digitalProduct, saas, toolSoftware, physical, merch, community, membership, newsletter, serviceLeadgen, licensing, sponsorLink, other |
brand | string | brandSearch only — match a brand by name, e.g. "NordVPN" |
brandDomain | string | brandSearch only — match a brand domain, e.g. "nordvpn.com" |
minChannels | number | brandSearch only — only brands promoted on at least this many channels |
pricePeriod | enum | priceBenchmark only — oneTime, monthly, or yearly |
productSlug | string | videoAttribution only — narrow attribution to one product |
creatorOwnedOnly | boolean | Restrict to the creator's own products (channelProfile, priceBenchmark) |
includeMentions | boolean | channelProfile only — include the 5 most recent per-video mentions per product. Default false |
includePending | boolean | Also include lower-confidence rows (confidence < 0.85). Default false |
limit | number | Max results — 1–50, default 20 |
get_channel_promotions_realtime
The fallback for channels not yet in the promotions database. It analyzes the channel live — reading recent video descriptions and the product landing pages they link to — and returns the same off-platform earnings breakdown.
How you'll normally use it: you don't call it directly. When get_channel_promotions reports a channel hasn't been analyzed yet (scraped: false), your assistant offers the live analysis as the fallback.
Example prompts:
This channel isn't covered yet — run a live analysis and tell me what they sell
Analyze this channel live and read its last 20 videos instead of just 5
Run the live promotions analysis but skip the landing pages — I just want the product names fast
What happens next: the result is saved to the database, so every follow-up question about that channel is answered instantly by get_channel_promotions — filters, attribution, everything — without spending another live-analysis call.
Parameters:
| Parameter | Type | Description |
|---|---|---|
channelId | string | Required. 24-char UC… ID. @handles are not supported — resolve first |
limit | number | How many recent long-form videos to read — 1–50. Defaults to 5. More videos = more products found, but slower |
enrich | boolean | Fetch product landing pages — this is where prices come from. Default true |
maxPages | number | Cap on landing pages fetched per call — 0–50, default 10 |
minDuration | number | Ignore videos shorter than this many seconds (Shorts filter). Default 60 |
withComments | boolean | Also read the creator's pinned comment. Default false |
maxAgeHours | number | If already analyzed within this many hours (0–8760), return stored data instantly — but it still consumes quota |
Example Workflows
Full monetization teardown of a competitor
Analyze how @channelname makes money — their own products with prices, who sponsors them, and which videos push each product hardest
Your assistant resolves the handle, runs channelProfile, then videoAttribution for the products worth digging into.
Find sponsors to pitch in your niche
Which brands sponsor the most personal finance channels? For the top 3, show me example channels they've sponsored and roughly what those channels look like
brandSearch first, then Channel Analytics on the sample channel IDs it returns.
Price your own product
I'm launching a paid community. What do creators typically charge monthly, and what do the top-earning communities in my niche include?
priceBenchmark with pricePeriod: monthly, then channelProfile on comparable channels.
Cover a channel that isn't in the database yet
What does this channel sell? If it hasn't been analyzed, run the live analysis and then break down their products by price
get_channel_promotions → scraped: false → get_channel_promotions_realtime → follow-ups served from the database.
Good to Know
- No data ≠ sells nothing. An empty result means the channel hasn't been analyzed yet. Check the
scrapedflag before drawing conclusions, and use the live analysis if you need that specific channel. Coverage grows continuously. - High-confidence by default. Results include only rows at confidence ≥ 0.85. Ask to "include lower-confidence results" to see rows still pending review.
- Prices are scraped signals, not verified revenue. They come from the product landing pages the analysis visited.
- Never mix price groups. Benchmarks are split by billing period and currency — one-time and monthly prices are never summed, and currencies are never converted.
Troubleshooting
"Channel not found" or an empty profile
- The channel isn't in the promotions database yet. Ask for a live analysis — see Live Analysis.
@handle rejected
- Both tools need the 24-character
UC…ID. Ask your assistant to resolve the handle first with Channel Resolver.
brandSearch returns nothing for a brand you know exists
brandSearchcovers third-party promotions only. Try the brand domain instead of the display name, dropminChannels, or check the channel directly withchannelProfile.
priceBenchmark returns very few rows
- Some product types are rarely priced publicly. Drop
pricePeriod, or setcreatorOwnedOnlytofalseto widen the pool.
Live analysis found no products
- The default is the 5 most recent long-form videos. Ask for more coverage (up to 50) if the channel only promotes occasionally, and make sure landing-page enrichment is on — prices come from those pages.
Live analysis is taking a long time
- 20–60 seconds is normal; a real analysis is running. Lower
maxPagesor turn offenrichif you want speed over prices.
Quota limit reached
- If you've hit your daily limit, Upgrade to Pro for higher quota limits, or enable usage credits to keep going past it.
Rate Limits
| Tool | Free | Lite | Pro |
|---|---|---|---|
Channel promotionsget_channel_promotionsDatabase-backed — profiles, brands, benchmarks, attribution | 5 | 100 | 250 |
Live promotions analysisget_channel_promotions_realtimeLive scrape of one channel — 20–60 s per call | 2 | 10 | 20 |
Per user · resets every 24 hours
Upgrade to Pro →Beyond your allowance (pay as you go)
With usage credits enabled in your NexLev account, calls past your daily limit are billed from your credit balance:
| Tool | Over-limit price |
|---|---|
get_channel_promotions | $0.02 per call |
get_channel_promotions_realtime | $0.05 per call |
Without usage credits, both tools pause at your daily limit and tell you when it resets.
What's Next?
- CMS Networks — Find which YouTube network a channel is signed to
- Monetization — AdSense-side signals: eligibility, RPM, and revenue estimates
- Channel Analytics — Size up the channels behind the brands and products
- Niche Overview — Audience profile and brand fit for any niche
- Channel Resolver — Turn any URL or
@handleinto theUC…ID these tools need