# YouTube Video Scraper

**Use case:** 

Scrape any YouTube video by URL or ID: title, channel, stats and a signal layer. Bulk video IDs supported. JSON or CSV, no API key.

## Input

```json
{
  "mode": "videos",
  "channels": [],
  "maxRecentVideosPerChannel": 50,
  "includeShortsInVideoList": true,
  "includeTranscripts": false,
  "videos": [
    "msFxQ7OYPj8"
  ],
  "enrichChannel": true,
  "includeTranscript": false,
  "includeCommentsSample": false,
  "commentsSamplePerVideo": 0,
  "playlists": [],
  "maxVideosPerPlaylist": 100,
  "searchQuery": "AI coding tutorials",
  "videoType": "any",
  "country": "US",
  "language": "en",
  "dateRange": "any",
  "uploadOrder": "relevance",
  "rankBy": "breakoutPotential",
  "maxResults": 50,
  "maxShortsPerChannel": 50,
  "oldestPostDate": "",
  "outputProfile": "signals",
  "watchlistName": "",
  "enableCommentThemes": true,
  "rateLimitPerSecond": 2,
  "circuitBreakerThreshold": 3,
  "runtimeBudgetSeconds": 3000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

## Output

```json
{
  "title": {
    "label": "Title"
  },
  "viewCount": {
    "label": "View count"
  },
  "likes": {
    "label": "Likes"
  },
  "channelName": {
    "label": "Channel name"
  },
  "channelUrl": {
    "label": "Channel url"
  },
  "duration": {
    "label": "Duration"
  },
  "date": {
    "label": "Date"
  },
  "url": {
    "label": "Url"
  },
  "hashtags": {
    "label": "Hashtags"
  },
  "description": {
    "label": "Description"
  }
}
```

## About this Actor

This example demonstrates how to use [YouTube Scraper: Attention Queue, Breakout Detection](https://apify.com/ryanclinton/youtube-scraper) with a specific input configuration. Visit the [Actor detail page](https://apify.com/ryanclinton/youtube-scraper) to learn more, explore other use cases, and run it yourself.