YouTube Channel Search Scraper avatar

YouTube Channel Search Scraper

Pricing

from $1.00 / 1,000 channel results

Go to Apify Store
YouTube Channel Search Scraper

YouTube Channel Search Scraper

Find YouTube creators by keyword. Subscriber count, handle, description and verified badge for every channel, with filters for minimum/maximum subscribers and verified-only. 1.00 USD per 1,000 channels, no minimum charge per run.

Pricing

from $1.00 / 1,000 channel results

Rating

0.0

(0)

Developer

Brahim Sliti

Brahim Sliti

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

Give it a keyword, get back the YouTube channels that match it. You get one row per channel: name, handle, URL, subscriber count, description and verified badge.

You only pay for channels that pass your filters. A channel removed by a subscriber range or by "verified only" never reaches your dataset, and is never charged.

What people use it for

  • Creator discovery for a niche. Search "coffee roasting" and get every channel talking about it, ranked the same way YouTube's own search ranks them.
  • Building an influencer shortlist. Set a minimum subscriber count so only channels big enough to matter come back.
  • Checking which creators in a space are verified. Turn on "Verified channels only" to skip personal or small accounts.
  • Watching several related keywords in one run. Add a few search terms at once; a channel that matches more than one still only costs you once.

How to use it

  1. Add your keywords in Search terms, one per line, just like you would type them into YouTube's search bar.
  2. Set Max channels per search term (default 50).
  3. Optionally set Minimum subscribers, Maximum subscribers, Verified channels only, or Exclude these channels (handles or ids, always free).
  4. Click Start. Export as JSON, CSV or Excel, or pull the results through the API.
{
"searchTerms": ["coffee roasting"],
"maxChannelsPerSearchTerm": 50,
"minSubscribers": 10000
}

What you get

{
"channelId": "UCSJAOU3yrZztkTYQNKKKq1g",
"channelName": "Coffee | One Roast at a Time",
"channelHandle": "@CoffeeOneRoastataTime",
"channelUrl": "https://www.youtube.com/@CoffeeOneRoastataTime",
"description": "Home coffee roasting with the Gene Cafe CBR-301.",
"numberOfSubscribers": 154,
"subscriberCountText": "154 subscribers",
"channelTotalVideos": null,
"isVerified": false,
"avatarUrl": "https://yt3.ggpht.com/avatar.jpg",
"searchTerm": "coffee roasting",
"rank": 1
}
  • numberOfSubscribers: null only when YouTube's own search result did not carry a subscriber count at all, never a guess.
  • channelTotalVideos: usually null on a plain search result. Turn on Add About data below to fill it in from the channel's own About page.
  • searchTerm/rank: which of your search terms first found this channel, and its position in that term's results. A channel matching several terms keeps the term and rank of its first hit only.
  • isVerified: YouTube's verified (check mark) badge.

Add About data (optional)

Turning on Add About data: total views, joined date, country, links adds channelTotalViews, channelJoinedDate, channelLocation and channelDescriptionLinks to every channel, from one extra request per channel, at no extra charge.

Pricing

1.00 USD per 1,000 channels. A channel removed by a filter, or seen again under a later search term, is never returned and never charged. Error rows are also free.

No monthly fee, no charge for the Apify platform usage on top. Example: 2 search terms with 50 channels each, all passing your filters and none overlapping, costs 100 x 0.001 = 0.10 USD.

Good to know

  • Subscriber counts are read from YouTube's own search result text, the same text you would see on youtube.com.
  • Filters (subscribers, verified) are applied to YouTube's channel search results, which are ranked by relevance, not size. A narrow filter can return fewer channels than asked: you then get a free NO_MORE_RESULTS row saying how many matched.
  • You don't need a proxy or a YouTube account.
  • Looking for a channel's videos instead of the channel itself? See youtube-channel-videos. Looking for a channel's email? See youtube-channel-email.

Use it from n8n, Make or an API

  • Small inputs: call run-sync-get-dataset-items and read the items back directly. Set Time budget (seconds) (default 240) to how long you are willing to wait: the actor stops starting new search terms before that point and returns what it already has, so you never hit Apify's 300 second run-sync limit and lose the whole run. A term left unfinished comes back as a TIME_BUDGET_EXCEEDED row instead of being silently dropped.
  • Big inputs: start the run with POST /v2/acts/vakitek~youtube-channel-search/runs, poll GET /v2/actor-runs/<runId> (or add waitForFinish=60) until the status is SUCCEEDED, then read GET /v2/datasets/<datasetId>/items. Set Time budget (seconds) to 0 (no limit) for this pattern.

Errors

A bad input never crashes the run. It becomes a row with an error code, and you are not charged for it.

errorWhat happenedRetry?
NO_RESULTSA search term matched no channelNo
NO_MORE_RESULTSYour filters left fewer channels than you asked for, after scanning YouTube's results for that term (free, the channels found are still delivered)No
INVALID_INPUTA search term or option value is invalidNo
BLOCKEDYouTube refused us for now, even after trying every proxy tierYes
UPSTREAM_ERRORSomething went wrong on YouTube's side or oursYes
UPSTREAM_UNAVAILABLEOur API was unreachableYes
TIME_BUDGET_EXCEEDEDThe time budget ran out before this search term finishedYes

FAQ

I already use another YouTube channel search actor. Do I have to change my code? Probably not much. We use the same keyword-based search and the same output fields buyers care about: channelId, channelName, channelHandle, numberOfSubscribers, isVerified.

Can I call it from my code or from an AI agent? Yes, like any Apify actor: REST API, the Python and JavaScript clients, or the Apify MCP server. The examples are in the API tab.

Something broke or a result looks wrong? Open an issue on this page. We read every one and usually answer within a day.