# YouTube Search Scraper (By Keyword & All Results Available) 🚀 (`scrapestorm/youtube-search-scraper-by-keyword-all-results-available`)

🔍 Crawl and scrape YouTube videos 🎥 to extract detailed data like channel name 📺, likes 👍, view count 👀, and subscriber count 🔔 with no limits or quotas 🚫📊. Enjoy complete freedom for your projects!

- **URL**: https://beta-securitybyobscurity.apify.com/scrapestorm/youtube-search-scraper-by-keyword-all-results-available.md
- **Developed by:** [Storm\_Scraper](https://beta-securitybyobscurity.apify.com/scrapestorm) (community)
- **Categories:** Videos, Social media, Lead generation
- **Stats:** 34 total users, 5 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## 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

# README

### 🎥 YouTube Video Data Scraper (All Results Available) 🚀

Unlock the power of YouTube data with our advanced YouTube Video Data Scraper! Whether you're a content creator, marketer, or researcher, this tool allows you to effortlessly extract key data from specific YouTube videos by simply providing their URL. Get the insights you need with just a few clicks:
Features:

- Video Title 📛: Instant access to the video’s title.
- Video URL 🌐: Direct link to the video for easy reference.
- Thumbnail URL 🖼️: Get the thumbnail image URL to use for previews or sharing.
- Channel Name 📺: Retrieve the name of the channel that published the video.
- Date of Publication 📅: Find out when the video was published.
- View Count 👁️‍🗨️: See the total number of views (both in text and numeric format).
- Video Duration ⏱️: Get the full length of the video.
- Additional Info ℹ️: Discover even more valuable information about the video and the channel.

### Why Choose Us?

We've taken the limits to the extreme with our scraping capabilities!
🚀 You can even define maxitems to control the number of items to scrape, giving you full flexibility over the data collection process. 📊🔧

### ⚡ Maximum Results, Extreme Capabilities

We’ve pushed the limits of data scraping to provide all available results, ensuring you get the most out of each search. However, please note that YouTube typically limits search results to 1,000 videos per query.

If you have specific needs or want to customize the tool further, don’t hesitate to reach out!

📩 Have questions or special requests? Contact us at randomus075@gmail.com.

### 🛠️ How to Use

Enter Data: Input the keyword of the YouTube videos you wish to scrape.
Start Scraping: Click the "Start" button to begin the scraping process. The scraper will navigate to the video and extract the data.
Download Your Data: Once the extraction is complete, download the results in the format that suits you best (JSON, CSV, XML, HTML, etc.).

### 💸 Pricing

This scraper operates on a pay-per-month basis at a cost of 19.90$/month.

### Related Actors ℹ️

If you're interested in other YouTube scraping solutions, check out these related actors:

- [💬 YouTube Comments Scraper](https://apify.com/scrapestorm/youtube-comments-scraper---rental-fast-and-cheap)
- [🏎 YouTube Scraper (By Keyword) ](https://apify.com/scrapestorm/youtube)
- [🔴 Youtube Channel Scraper (Rental)](https://apify.com/scrapestorm/youtube-channel-scraper)
- [🌐 Youtube Shorts Scraper 📺 (Rental)](https://apify.com/scrapestorm/youtube-shorts-scraper-rental---fast-cheap)

***

You can even apply sentiment analysis on the transcript text we've extracted! 😃📊:

- [Sentiment Analysis Text Classification 📈](https://apify.com/scrapestorm/sentiment-analysis-text-classification)

### 🔑 Youtube Scraper Input

The YouTube Video Data Scraper requires a specific input format:
a JSON object with the URL of the YouTube video you wish to scrape.

```
{
    "keyword": "gaming",
    "max_items": 1000
}

```

### 📊 YouTube Scraper Data Output

The YouTube Video Data Scraper will extract the following information and store it in the Apify dataset. After the run is finished,
you can download the data in various formats, including JSON, CSV, XML, RSS, and HTML Table.

```
{
    "Title": "Awesome Video Title",
    "Video URL": "https://www.youtube.com/watch?v=XXXXXXXXXXX",
    "Thumbnail URL": "https://i.ytimg.com/vi/XXXXXXXXXXX/maxresdefault.jpg",
    "Channel": "Awesome Channel",
    "Date of publication": "2024-11-13",
    "View count (text)": "1.2M views",
    "View count (integer)": 1200000,
    "Duration": "10:23",
    "Duration label": "10 minutes and 23 seconds",
    "Channel name": "Awesome Channel",
    "Link to channel": "https://www.youtube.com/c/AwesomeChannel"
}

```

### 📫 Support

😊 Leave us a star ⭐ if you are satisfied with the product!
🌍 For any questions, specific needs or issues, please reach out through Apify's platform or via email - [Storm\_Scraper 🌪️🌩️](https://apify.com/scrapestorm)

# Actor input Schema

## `keyword` (type: `string`):

The keyword you want to use to get video metadata from YouTube.

## `max_items` (type: `integer`):

The maximum number of offers to fetch 🔢

## Actor input object example

```json
{
  "keyword": "USA",
  "max_items": 60
}
```

# 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 = {
    "keyword": "USA",
    "max_items": 60
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapestorm/youtube-search-scraper-by-keyword-all-results-available").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 = {
    "keyword": "USA",
    "max_items": 60,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapestorm/youtube-search-scraper-by-keyword-all-results-available").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 '{
  "keyword": "USA",
  "max_items": 60
}' |
apify call scrapestorm/youtube-search-scraper-by-keyword-all-results-available --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapestorm/youtube-search-scraper-by-keyword-all-results-available",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Search Scraper (By Keyword & All Results Available) 🚀",
        "description": "🔍 Crawl and scrape YouTube videos 🎥 to extract detailed data like channel name 📺, likes 👍, view count 👀, and subscriber count 🔔 with no limits or quotas 🚫📊. Enjoy complete freedom for your projects!",
        "version": "0.0",
        "x-build-id": "urXJ0rrlGr2ECi38m"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapestorm~youtube-search-scraper-by-keyword-all-results-available/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapestorm-youtube-search-scraper-by-keyword-all-results-available",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapestorm~youtube-search-scraper-by-keyword-all-results-available/runs": {
            "post": {
                "operationId": "runs-sync-scrapestorm-youtube-search-scraper-by-keyword-all-results-available",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapestorm~youtube-search-scraper-by-keyword-all-results-available/run-sync": {
            "post": {
                "operationId": "run-sync-scrapestorm-youtube-search-scraper-by-keyword-all-results-available",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "The keyword you want to use to get video metadata from YouTube.",
                        "type": "string",
                        "description": "The keyword you want to use to get video metadata from YouTube.",
                        "default": ""
                    },
                    "max_items": {
                        "title": "Max offers you want to scrape 🔢",
                        "type": "integer",
                        "description": "The maximum number of offers to fetch 🔢",
                        "default": 60
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
