# Youtube channel scraper (`dainty_screw/youtube-channel-scraper`) Actor

This tool allows you to automatically gather information about YouTube bloggers, including their nickname, avatar, country, introduction, joining date, video count, view count, and subscriber count. Simply provide the URLs, IDs, or channel IDs to get started.

- **URL**: https://apify.com/dainty\_screw/youtube-channel-scraper.md
- **Developed by:** [codemaster devops](https://apify.com/dainty_screw) (community)
- **Categories:** Automation, Social media
- **Stats:** 289 total users, 4 monthly users, 100.0% runs succeeded, 19 bookmarks
- **User rating**: 4.93 out of 5 stars

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## YouTube Channel Scraper (Apify Actor) — Simple start\_urls Input

**YouTube channel scraper** that extracts public **YouTube channel metadata** using a straightforward **start\_urls** input. No API key required. Ideal for **YouTube competitor research**, **SEO analysis**, and **editorial planning**.

### What this actor does

- Scrapes public **YouTube channel** pages provided via `start_urls`
- Extracts key metadata you already output (name, handle/URL, description, counts, images, etc.)
- Built for production use on Apify (proxy-friendly; works with public pages)

### Quick start (60 seconds)

1. Click **Try for free** on Apify
2. Paste this input:

```json
{
  "start_urls": [
    { "url": "https://www.youtube.com/@Officialwealthwisdom", "method": "GET" }
  ]
}
```

3. Run. Export results from the dataset as JSON/CSV/XLSX.

### Input parameters

- `start_urls` (array of objects, required)
- `url` (string): Full YouTube channel URL (e.g., https://www.youtube.com/@ChannelHandle)
- `method` (string): Use "GET"

✅ Strict compatibility: Inputs/outputs are unchanged. This actor keeps your existing automation stable.

### Example usage (API & automation)

#### cURL

```
curl -X POST "https://api.apify.com/v2/acts/dainty_screw~youtube-channel-scraper/runs?token=YOUR_TOKEN" \
  -H "content-type: application/json" \
  -d '{
        "start_urls":[{"url":"https://www.youtube.com/@Officialwealthwisdom","method":"GET"}]
      }'
```

#### Python

```python
import requests
payload = {
  "start_urls": [
    {"url": "https://www.youtube.com/@Officialwealthwisdom", "method": "GET"}
  ]
}
r = requests.post(
  "https://api.apify.com/v2/acts/dainty_screw~youtube-channel-scraper/runs?token=YOUR_TOKEN",
  json=payload, headers={"content-type":"application/json"}
)
print(r.json())
```

### Tips to avoid rate limits

- Use Apify Proxy when scraping multiple channels.
- Avoid hammering the same channel repeatedly; space out runs.

### Troubleshooting

- Invalid URL → Ensure the URL is a channel (/@handle or /channel/...).
- Empty dataset → Channel may be restricted/hidden; try a different target.

### Common use cases

- YouTube competitor research and channel benchmarking
- SEO planning for content/topic strategy
- Media & editorial channel profiling

### FAQ

#### Do I need a YouTube API key?

No. This actor uses publicly available channel pages—no API key required.

#### Can I pass search terms or playlists?

This actor takes channel URLs via start\_urls only (no schema changes).

<script type="application/ld+json">
{
 "@context":"https://schema.org",
 "@type":"FAQPage",
 "mainEntity":[
  {
    "@type":"Question",
    "name":"Does this YouTube channel scraper require an API key?",
    "acceptedAnswer":{"@type":"Answer","text":"No. Provide channel URLs via start_urls with method GET and run the actor; it uses public pages."}
  },
  {
    "@type":"Question",
    "name":"How do I run the actor?",
    "acceptedAnswer":{"@type":"Answer","text":"Paste the channel URL into start_urls with method GET, start the run, then export the dataset in JSON/CSV/XLSX."}
  }
 ]
}
</script>

<meta property="og:title" content="YouTube Channel Scraper — Apify Actor (start_urls input)" />
<meta property="og:description" content="Scrape public YouTube channel metadata with a simple start_urls input. No API key required. CSV/JSON export. Perfect for competitor research and SEO planning." />

# Actor input Schema

## `start_urls` (type: `array`):

Paste and input the YouTube homepage URLs,also supports channel URLs

## `ids` (type: `string`):

Paste and input the YouTube ids, also supports channel ids, multiple inputs are separated by ','

## Actor input object example

```json
{
  "start_urls": [
    {
      "url": "https://www.youtube.com/channel/UCyBD3P9YOFWNIMTuDzqeObg"
    }
  ],
  "ids": "UCyBD3P9YOFWNIMTuDzqeObg"
}
```

# 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 = {
    "start_urls": [
        {
            "url": "https://www.youtube.com/channel/UCyBD3P9YOFWNIMTuDzqeObg"
        }
    ],
    "ids": "UCyBD3P9YOFWNIMTuDzqeObg"
};

// Run the Actor and wait for it to finish
const run = await client.actor("dainty_screw/youtube-channel-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 = {
    "start_urls": [{ "url": "https://www.youtube.com/channel/UCyBD3P9YOFWNIMTuDzqeObg" }],
    "ids": "UCyBD3P9YOFWNIMTuDzqeObg",
}

# Run the Actor and wait for it to finish
run = client.actor("dainty_screw/youtube-channel-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "start_urls": [
    {
      "url": "https://www.youtube.com/channel/UCyBD3P9YOFWNIMTuDzqeObg"
    }
  ],
  "ids": "UCyBD3P9YOFWNIMTuDzqeObg"
}' |
apify call dainty_screw/youtube-channel-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=dainty_screw/youtube-channel-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/4jlgagmDczFVfh7ao/builds/MpOSgpuIAfGBf2qbK/openapi.json
