> ## Documentation Index
> Fetch the complete documentation index at: https://api-tools.memories.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# YouTube Video Detail

> Get detailed information for YouTube videos.

<Info>
  **Product**: Visual Intelligence — Social Media Scraping
  **Use case**: Fetch video metadata, transcripts, captions, and comments from YouTube, Instagram, TikTok, and Twitter/X
  **Host**: `https://mavi-backend.memories.ai/serve/api/v2`
  **Auth**: `Authorization: sk-mavi-...` (no `Bearer` prefix)
</Info>

This API is used to get detailed information for YouTube videos.

<Note>
  Channel routing guide: see [Social Media Scraping Overview](/visual-intelligence/social-media-scraping-overview). Endpoints with a `channel` request field let you choose `apify`, `rapid`, or `memories.ai`; endpoints without this field use managed routing.
</Note>

<Note>
  Each API call costs **\$0.01 USD**.
</Note>

### Channel Options

If your request supports a `channel` option, use it to control how scraper data is sourced:

| Channel       | What it means                                                                                    | Typical trade-off                                                       |
| ------------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
| `apify`       | Uses [Apify](https://apify.com/), a dedicated web scraping platform with broad content coverage. | Most stable and most complete results, but usually more expensive.      |
| `rapid`       | Uses [RapidAPI](https://rapidapi.com/), a lower-cost aggregation platform.                       | Lower cost, but less stable and often narrower coverage.                |
| `memories.ai` | Managed routing by Memories.ai.                                                                  | Automatically selects the best price/performance path for your request. |

<Note>
  Recommendation: Start with `memories.ai` unless you need to force a specific provider.
</Note>

### Code Example

<CodeGroup>
  ```python Python theme={null}
  import requests

  BASE_URL = "https://mavi-backend.memories.ai/serve/api/v2"
  API_KEY = "sk-mavi-..."
  HEADERS = {
      "Authorization": f"{API_KEY}",
      "Content-Type": "application/json"
  }

  def youtube_video_detail(video_id: str):
      url = f"{BASE_URL}/youtube/video/detail"
      data = {"video_id": video_id}
      resp = requests.post(url, json=data, headers=HEADERS)
      return resp.json()

  # Usage example
  result = youtube_video_detail("your_youtube_video_id")
  print(result)
  ```

  ```javascript JavaScript theme={null}
  const axios = require('axios');

  const BASE_URL = 'https://mavi-backend.memories.ai/serve/api/v2';
  const API_KEY = 'sk-mavi-...';

  const headers = {
      'Authorization': API_KEY,
      'Content-Type': 'application/json'
  };

  async function youtubeVideoDetail(videoId) {
      const response = await axios.post(
          `${BASE_URL}/youtube/video/detail`,
          { video_id: videoId },
          { headers }
      );
      return response.data;
  }

  // Usage example
  youtubeVideoDetail('your_youtube_video_id')
      .then(result => console.log(result));
  ```

  ```bash cURL theme={null}
  curl -X POST "https://mavi-backend.memories.ai/serve/api/v2/youtube/video/detail" \
    -H "Authorization: sk-mavi-..." \
    -H "Content-Type: application/json" \
    -d '{
      "video_id": "your_youtube_video_id"
    }'
  ```
</CodeGroup>

### Request Body

| Field     | Type   | Required | Description                                                     |
| --------- | ------ | -------- | --------------------------------------------------------------- |
| video\_id | string | Yes      | YouTube video ID — the `v` parameter from the YouTube video URL |

<Tip>
  **How to get the `video_id`**: Extract the `v` parameter from a YouTube video URL.

  For example, from `https://www.youtube.com/watch?v=Y2y4OpzKIK4`, the `video_id` is `Y2y4OpzKIK4`.
</Tip>

### Response

Returns detailed information for the YouTube video.

<ResponseExample>
  ```json theme={null}
  {
    "code": 200,
    "msg": "success",
    "data": {
      "id": "otECntwBTVU",
      "title": "Finding Empty Restaurants, Then Bringing 100 Customers",
      "url": "https://www.youtube.com/watch?v=otECntwBTVU",
      "author_id": "UCJv5T2W-D3K3fYO0prgv5uw",
      "author_url": "https://www.youtube.com/channel/UCJv5T2W-D3K3fYO0prgv5uw",
      "description": "FOLLOW ME ON SNAP TO WIN $: ...",
      "tags": ["viral", "kindness content", "tipping"],
      "publish_time": "2026-01-10T14:30:53Z",
      "view_count": "8797038",
      "like_count": "413902",
      "comment_count": "9489",
      "duration_seconds": "692"
    }
  }
  ```
</ResponseExample>

### Response Parameters

| Parameter              | Type    | Description                                                                                                                                                                                                                                                                                                   |
| ---------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code                   | integer | Response code (`200` on success)                                                                                                                                                                                                                                                                              |
| msg                    | string  | Response message                                                                                                                                                                                                                                                                                              |
| data                   | object  | Video information                                                                                                                                                                                                                                                                                             |
| data.id                | string  | YouTube video ID (the `v` parameter from the URL)                                                                                                                                                                                                                                                             |
| data.title             | string  | Video title                                                                                                                                                                                                                                                                                                   |
| data.url               | string  | Canonical YouTube watch URL. Note: this is the page URL, **not** a direct media stream — there is no mp4 download URL in the response. To download the file, use [Visual Search `/scraper_url`](/visual-search/upload-from-post-urls) followed by [Visual Search `/download`](/visual-search/download-video). |
| data.author\_id        | string  | Channel ID (the `UC...` segment from the channel URL)                                                                                                                                                                                                                                                         |
| data.author\_url       | string  | Channel page URL                                                                                                                                                                                                                                                                                              |
| data.description       | string  | Video description                                                                                                                                                                                                                                                                                             |
| data.tags              | array   | Creator-provided tags                                                                                                                                                                                                                                                                                         |
| data.publish\_time     | string  | Publish time, ISO 8601                                                                                                                                                                                                                                                                                        |
| data.view\_count       | string  | View count (returned as string)                                                                                                                                                                                                                                                                               |
| data.like\_count       | string  | Like count (returned as string)                                                                                                                                                                                                                                                                               |
| data.comment\_count    | string  | Comment count (returned as string)                                                                                                                                                                                                                                                                            |
| data.duration\_seconds | string  | Video duration in seconds (returned as string). Convert with `int(...)` for arithmetic.                                                                                                                                                                                                                       |

<Note>
  Channel metadata is limited to `author_id` and `author_url`. To get the channel name, subscriber count, or per-channel statistics, follow up with a dedicated channel endpoint.
</Note>


## OpenAPI

````yaml POST /youtube/video/detail
openapi: 3.1.0
info:
  title: Scraper API Reference
  description: REST APIs for scraping TikTok and YouTube video data
  version: v1.0.0
servers:
  - url: https://mavi-backend.memories.ai/serve/api/v2
security:
  - ApiKeyAuth: []
paths:
  /youtube/video/detail:
    post:
      summary: YouTube Video Detail
      description: >-
        Get detailed information for YouTube videos. Each API call costs $0.01
        USD.
      operationId: youtube_video_detail
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                video_id:
                  type: string
                  description: YouTube video ID
                  example: Y2y4OpzKIK4
              required:
                - video_id
      responses:
        '200':
          description: Successfully returned video detailed information
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: 200
                    description: Response code, indicates the operation result status
                  msg:
                    type: string
                    example: success
                    description: Response message, describes the operation result
                  data:
                    type: object
                    description: Response data object, contains video detailed information
                  success:
                    type: boolean
                    example: true
                    description: Indicates whether the operation was successful
                  failed:
                    type: boolean
                    example: false
                    description: Indicates whether the operation failed
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization

````