# Youtube Search Channel Id Scraper (`alpha-scraper/youtube-search-channel-id-scraper`) Actor

Scrape YouTube channel IDs from keywords, channel URLs, and video URLs with Youtube Channel Id Scraper Pro. Collect structured channel IDs and public metadata for channel discovery, research, dataset creation, and automated YouTube data workflows.

- **URL**: https://apify.com/alpha-scraper/youtube-search-channel-id-scraper.md
- **Developed by:** [Alpha Scraper](https://apify.com/alpha-scraper) (community)
- **Categories:** Videos, Other, Social media
- **Stats:** 4 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Channel ID Scraper Pro

YouTube Channel ID Scraper Pro is an Apify Actor for extracting YouTube channel IDs and related public metadata from YouTube search results and supported YouTube channel or video URLs. It is intended for channel discovery, research, dataset creation, and data workflows where a structured channel identifier is useful.

You can provide one or multiple search keywords. For each keyword, the Actor collects up to the configured `maxItems` of unique channels and can return the channel URL, channel ID, result title, channel name, and originating keyword. The underlying code also supports direct URL processing through `startUrls`.

The supplied Actor description states that login or cookies are not required. Results are pushed to the Apify dataset as individual JSON records.

### What Is a YouTube Channel ID Scraper?

A YouTube Channel ID Scraper identifies the unique channel ID associated with a YouTube channel or with a video that belongs to a channel. Channel IDs commonly begin with `UC` and help distinguish channels even when display names are similar.

This Actor supports two practical workflows. Keyword search helps discover channels around topics, brands, games, or other search terms. Direct URL processing can attempt to resolve the channel ID from a submitted channel or video URL.

The result is structured data rather than an unformatted list, so channel identifiers can be reviewed and incorporated into research or dataset workflows.

### Key Features

| Feature                     | Description                                                            | User Benefit                                |
| --------------------------- | ---------------------------------------------------------------------- | ------------------------------------------- |
| Keyword channel discovery   | Search YouTube with one or multiple keywords.                          | Find channels related to chosen topics.     |
| Per-keyword limit           | Set `maxItems` for each keyword.                                       | Control collection size.                    |
| Unique channels per keyword | Duplicate channel IDs are filtered within each keyword search.         | Reduces repeated channels in one search.    |
| URL processing              | Process supported channel or video URLs through `startUrls`.           | Resolve a channel ID from a specific URL.   |
| Structured output           | Records are pushed individually to the Apify dataset.                  | Easier review and reuse.                    |
| Public metadata             | Keyword results can include title, channel name, URL, ID, and keyword. | Adds useful context to each channel record. |
| No login or cookies         | Stated in the supplied Actor description.                              | Simple setup for normal use.                |

### What Data Can You Extract?

Keyword-search records can contain:

- `youtubeChannelUrl` — the channel URL associated with the result.
- `channelId` — the extracted YouTube channel identifier.
- `title` — the title associated with the YouTube search entry.
- `channelName` — the channel name available in the result.
- `keyword` — the search term that produced the record.

Direct URL records contain `youtubeChannelUrl` and `channelId`. Therefore, not every dataset item will have the same fields.

When an ID cannot be resolved, `channelId` can be `null`. This is preferable to returning an invented identifier.

### Why Use YouTube Channel ID Scraper Pro?

A channel ID is a precise identifier for organizing YouTube channel data. It can be more useful for structured datasets than relying only on a channel's display name or custom URL.

The Actor automates repetitive searches and can process several keywords in a single run. Search-derived records also retain the `keyword` value, helping users understand which search term surfaced a channel.

### Benefits

The Actor is useful for:

- Automating repetitive channel-ID collection.
- Discovering channels across multiple topics.
- Controlling the number of channels collected per keyword.
- Keeping search context with the `keyword` field.
- Creating structured YouTube channel datasets.
- Preparing public channel information for research or analysis.

### How to Use the YouTube Channel ID Scraper Pro

1. Enter one or more values in `keywords`.
2. Set `maxItems` to the desired number of channels per keyword.
3. Start the Actor.
4. Review the resulting dataset records.
5. Use the channel IDs and related fields in your data workflow.

The current `actor.json` exposes `keywords` and `maxItems`. The underlying code also accepts `startUrls` for direct URL processing, but `startUrls` is not currently exposed as a property in the supplied input schema.

### Input

| Field      | Type             | Required | Default                                                   | Description                                                                   |
| ---------- | ---------------- | -------- | --------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `keywords` | Array of strings | No       | Schema prefill: `["pubg ", "freefire", "clash of clans"]` | Search keywords used to find YouTube channels. Multiple values are supported. |
| `maxItems` | Integer          | No       | `20` in the current schema                                | Maximum number of unique channels collected for each keyword.                 |

For raw JSON input, the code also recognizes `startUrls` as an array containing URL strings or objects with a `url` property. A legacy single `keyword` value is also recognized when `keywords` is absent.

Use specific search terms when channel discovery needs a clear topic. The `maxItems` value is applied separately to each keyword, so several keywords can produce more records than one keyword's limit. There is no final global deduplication across different keywords.

### Input Example

```json
{
  "keywords": [
    "PUBG",
    "Free Fire",
    "Clash of Clans"
  ],
  "maxItems": 10
}
```

Direct URL processing through raw input can use:

```json
{
  "startUrls": [
    "https://www.youtube.com/@ExampleChannel",
    "https://www.youtube.com/watch?v=example"
  ]
}
```

The actual channel ID returned depends on the public information available for the submitted URL.

### Output

The Actor pushes each result as an individual dataset item.

| Field               | Description                                                             |
| ------------------- | ----------------------------------------------------------------------- |
| `youtubeChannelUrl` | YouTube channel URL associated with the result or processed input.      |
| `channelId`         | Extracted YouTube channel ID; can be `null` when it cannot be resolved. |
| `title`             | Search-result title; present for keyword-search records when available. |
| `channelName`       | Channel name from the search result when available.                     |
| `keyword`           | Keyword associated with the search result.                              |

Keyword-search and direct-URL records can therefore have different output shapes.

### Output Example

Keyword-search result:

```json
{
  "youtubeChannelUrl": "https://www.youtube.com/@ExampleGaming",
  "channelId": "UC0123456789abcdefghijkl",
  "title": "Example Gaming - Latest Gameplay",
  "channelName": "Example Gaming",
  "keyword": "PUBG"
}
```

Direct URL result:

```json
{
  "youtubeChannelUrl": "https://www.youtube.com/@ExampleGaming",
  "channelId": "UC0123456789abcdefghijkl"
}
```

When resolution is unsuccessful:

```json
{
  "youtubeChannelUrl": "https://www.youtube.com/@ExampleGaming",
  "channelId": null
}
```

### Use Cases

YouTube Channel ID Scraper Pro fits workflows where channel identification or discovery is the main requirement.

- Market and audience research around specific topics.
- Content research and channel discovery.
- Building structured channel datasets.
- Preparing public YouTube information for analytics.
- Research workflows that need channel IDs as identifiers.
- Automated collection of channels associated with several keywords.

These uses concern public information returned by the Actor and do not imply access to private channel data.

### Advantages

The Actor focuses on a specific task: discovering or resolving YouTube channel IDs. Its keyword input supports multiple search terms, while `maxItems` provides a simple per-keyword collection control.

For keyword research, the `keyword` field preserves search context alongside the extracted channel information. For direct URL processing, the output is intentionally compact around the URL and channel ID.

### Limitations

- `startUrls` is supported by the underlying code but is not exposed in the current input schema.
- A channel ID may be returned as `null` when it cannot be resolved from the available public information.
- `maxItems` is a per-keyword limit, not a global run limit.
- Duplicate channel IDs are removed within each keyword search, but a channel may appear for multiple different keywords.
- Metadata fields such as `title` and `channelName` are associated with keyword-search records and may not be present for direct URL results.

### Pros and Cons

| Pros                           | Cons                                                  |
| ------------------------------ | ----------------------------------------------------- |
| Multiple keyword support       | Direct URL input is not exposed in the current schema |
| Per-keyword collection control | Channel ID resolution can return `null`               |
| Structured dataset output      | Different input paths can produce different fields    |
| Keyword context is preserved   | No global deduplication across keywords               |
| Focused channel-ID workflow    | Search results depend on available public information |

### Comparison With Alternative Approaches

| Capability                 | YouTube Channel ID Scraper Pro    | Manual / Typical Alternative          |
| -------------------------- | --------------------------------- | ------------------------------------- |
| Keyword channel discovery  | Supported                         | Often requires repeated searches      |
| Multiple keywords          | Supported                         | Usually handled separately            |
| Per-keyword limit          | Supported                         | Manual counting or filtering          |
| Structured dataset records | Supported                         | Manual formatting is common           |
| Channel ID extraction      | Supported                         | Manual identification may be required |
| Search keyword context     | Included in keyword results       | May be lost during copying            |
| Direct URL processing      | Supported through raw `startUrls` | Usually handled manually              |

This comparison describes workflow differences and does not guarantee a particular level of completeness or accuracy.

### Competitive Advantages

The Actor's practical strengths are its focused scope, simple keyword configuration, and structured output. Users can group searches by keyword, control the number of channels collected for each term, and retain the originating keyword with search-derived records.

That combination can be useful when building topic-specific YouTube channel lists without manually copying identifiers from individual results.

### Best Practices

- Start with a small `maxItems` value and review the output before larger runs.
- Use specific and meaningful keywords for better-defined channel discovery.
- Check for `channelId: null` before downstream processing.
- Handle keyword-search and direct-URL records as different possible output shapes.
- Expect a channel to appear under multiple keywords when it matches several searches.
- Validate important data before using it for critical decisions.

### Troubleshooting

**Invalid Input:** Make sure `keywords` is an array of strings in the current schema. For raw `startUrls`, use URL strings or objects containing a `url` field.

**Empty Results:** Confirm that at least one keyword or supported URL was provided. Review the input format and try a more specific search term.

**Partial Results:** A keyword can return fewer unique channels than `maxItems`. Treat the limit as a maximum, not a guarantee.

**Missing Fields:** Direct URL records normally contain fewer fields than keyword-search records. Check the record type before expecting `title`, `channelName`, or `keyword`.

**Missing Channel ID:** A `null` ID means the Actor could not resolve a channel identifier for that result or input.

**Temporary Failure:** Retry with valid input and a smaller test scope when diagnosing an issue.

### Frequently Asked Questions

**What does the YouTube Channel ID Scraper Pro do?**
It searches YouTube with keywords and can process supported channel or video URLs to extract channel IDs and related public metadata.

**What is a YouTube channel ID?**
It is a unique YouTube channel identifier, commonly represented by a value beginning with `UC`.

**Can I use multiple keywords?**
Yes. The `keywords` field accepts an array, so several search terms can be processed in one run.

**How does `maxItems` work?**
It sets the maximum number of unique channels collected for each keyword.

**Does it support YouTube video URLs?**
Yes. The underlying URL-processing code accepts video URLs through raw `startUrls` and attempts to resolve the associated channel ID.

**Does it require login or cookies?**
The supplied Actor description states that login or cookies are not required.

**What output does the Actor produce?**
It pushes individual JSON records to the Apify dataset. Keyword results can include channel URL, channel ID, title, channel name, and keyword.

**Why can `channelId` be null?**
The Actor may be unable to resolve a channel ID from the public information available for a particular result or URL.

**Can the same channel appear more than once?**
Yes. Duplicate IDs are filtered inside an individual keyword search, but the same channel can appear under different keywords.

**Should I test with a small run first?**
Yes. A small run helps verify your keywords, collection limit, and expected output before expanding the search scope.

### NLP Keywords

- YouTube channel ID
- YouTube channel metadata
- YouTube channel URL
- YouTube video URL
- channel ID extraction
- YouTube search keywords
- YouTube search results
- channel name
- video title
- structured YouTube data
- public YouTube metadata
- channel discovery
- channel data extraction
- YouTube data scraper
- channel URL resolution
- YouTube dataset
- search-based channel scraping
- channel identification
- metadata extraction
- public channel information

### Related Keywords

- YouTube channel ID scraper
- YouTube channel ID extractor
- scrape YouTube channel ID
- extract channel ID from YouTube URL
- get YouTube channel ID
- YouTube channel URL scraper
- YouTube video channel ID
- YouTube channel metadata scraper
- YouTube search channel scraper
- YouTube channel finder
- channel ID from video URL
- channel ID from channel URL
- bulk YouTube channel search
- YouTube keyword scraper
- YouTube channel data extraction
- YouTube public metadata scraper
- structured YouTube channel data
- YouTube channel research tool
- YouTube channel discovery scraper
- YouTube channel dataset scraper

### Final Overview

YouTube Channel ID Scraper Pro provides a focused way to discover YouTube channels from keywords or resolve channel IDs from supported YouTube URLs. It returns structured dataset records containing channel identifiers and, for keyword searches, contextual metadata such as channel URL, title, channel name, and originating keyword.

For channel research, dataset creation, public YouTube data collection, and automated discovery workflows, the Actor provides a straightforward input-to-output process. Start with a small test, review the returned records, and then expand the search scope as needed.

*Contact me:* <Alphascraper69@gmail.com>

# Actor input Schema

## `keywords` (type: `array`):

Enter keywords to search for YouTube channels. The actor will scrape channel IDs from the search results for each keyword.

## `maxItems` (type: `integer`):

Maximum number of channels to scrape when using a keyword search. Default is 5.

## Actor input object example

```json
{
  "keywords": [
    "pubg ",
    "freefire",
    "clash of clans"
  ],
  "maxItems": 20
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "keywords": [
        "pubg ",
        "freefire",
        "clash of clans"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("alpha-scraper/youtube-search-channel-id-scraper").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 = { "keywords": [
        "pubg ",
        "freefire",
        "clash of clans",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("alpha-scraper/youtube-search-channel-id-scraper").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 '{
  "keywords": [
    "pubg ",
    "freefire",
    "clash of clans"
  ]
}' |
apify call alpha-scraper/youtube-search-channel-id-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alpha-scraper/youtube-search-channel-id-scraper"
        }
    }
}
```

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/2uuIEovgGHcYjEKyN/builds/1buur6bxvBppMkNar/openapi.json
