> **For AI agents:** this page is a focused, LLM-optimized view of a
> single Fiber AI operation. Before calling it, fetch the routing
> instructions at [`https://api.fiber.ai/llms.txt`](https://api.fiber.ai/llms.txt) and the full operation
> index at [`https://api.fiber.ai/ai-docs/index.md`](https://api.fiber.ai/ai-docs/index.md).

# youtubeVideoDetails

`POST /v1/youtube/video-details`

**Tags:** `YouTube`

Fetch YouTube video details

**Endpoint:** `https://api.fiber.ai/v1/youtube/video-details`

## Description

Fetches detailed metadata for a YouTube video including title, view count, like count, channel information, chapters, key moments, and available transcript languages.

⚡ Rate limit: 300 requests per 1 minute

💰 Cost: 2 credits per request ⓘ

## Request body (JSON Schema)

```json
{
  "type": "object",
  "properties": {
    "apiKey": {
      "type": "string",
      "description": "Your Fiber API key"
    },
    "videoId": {
      "type": "string",
      "minLength": 1,
      "description": "YouTube video ID or full URL. Accepts a bare 11-character ID (e.g. '094y1Z2wpJg') or a full YouTube URL (e.g. 'https://www.youtube.com/watch?v=094y1Z2wpJg')."
    }
  },
  "required": [
    "apiKey",
    "videoId"
  ]
}
```

## Response — success (JSON Schema)

```json
{
  "type": "object",
  "properties": {
    "output": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "YouTube video ID — the unique identifier found in the URL. For example, in 'https://www.youtube.com/watch?v=094y1Z2wpJg', the video ID is '094y1Z2wpJg'."
        },
        "title": {
          "type": "string",
          "description": "Video title."
        },
        "viewCount": {
          "type": [
            "number",
            "null"
          ],
          "description": "Number of views."
        },
        "likeCount": {
          "type": [
            "number",
            "null"
          ],
          "description": "Number of likes."
        },
        "author": {
          "type": [
            "string",
            "null"
          ],
          "description": "Video uploader name."
        },
        "category": {
          "type": [
            "string",
            "null"
          ],
          "description": "Video category."
        },
        "publishedAt": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "date": {
              "type": "string",
              "description": "ISO 8601 date string (e.g. '2024-03-15T00:00:00.000Z')."
            },
            "estimated": {
              "type": "boolean",
              "description": "True when the date was estimated from an approximate time string (e.g. '2 years ago'). False when an exact date was available."
            }
          },
          "required": [
            "date",
            "estimated"
          ],
          "description": "Publication date. When YouTube only provides approximate time (e.g. '2 years ago'), we estimate the date and set `estimated: true`."
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "Video description."
        },
        "thumbnailUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL of the video thumbnail."
        },
        "durationSeconds": {
          "type": [
            "number",
            "null"
          ],
          "description": "Video duration in seconds."
        },
        "channel": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "id": {
              "type": [
                "string",
                "null"
              ],
              "description": "YouTube channel ID."
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "Channel display name."
            },
            "url": {
              "type": [
                "string",
                "null"
              ],
              "description": "URL to the channel page."
            },
            "subscriberCount": {
              "type": [
                "number",
                "null"
              ],
              "description": "Number of subscribers."
            }
          },
          "description": "Channel information."
        },
        "commentCount": {
          "type": [
            "number",
            "null"
          ],
          "description": "Total number of comments."
        },
        "chapters": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "Chapter title."
              },
              "startSeconds": {
                "type": "number",
                "description": "Start time of the chapter in seconds."
              }
            },
            "required": [
              "title",
              "startSeconds"
            ]
          },
          "description": "Author-defined chapters with timestamps. These are manually set by the video creator in the description."
        },
        "keyMoments": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "Key moment title."
              },
              "startSeconds": {
                "type": "number",
                "description": "Start time in seconds."
              }
            },
            "required": [
              "title",
              "startSeconds"
            ]
          },
          "description": "Auto-generated key moments identified by YouTube's algorithms. These are distinct from author-defined chapters."
        },
        "availableTranscriptLanguages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "description": "BCP-47 language code (e.g. 'en' or 'pt-BR')."
              },
              "name": {
                "type": "string",
                "description": "Human-readable language name (e.g. 'English' or 'Portuguese (Brazil)')."
              }
            },
            "required": [
              "code",
              "name"
            ]
          },
          "description": "Languages for which transcripts are available."
        }
      },
      "required": [
        "id",
        "title",
        "chapters",
        "keyMoments",
        "availableTranscriptLanguages"
      ]
    },
    "chargeInfo": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charged-now"
              ]
            },
            "creditsCharged": {
              "type": "number"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsCharged"
          ],
          "description": "Credits were charged immediately for this operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charging-later"
              ]
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "message"
          ],
          "description": "Credits will be charged after the operation completes"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charged-for-async-process"
              ]
            },
            "creditsCharged": {
              "type": "number"
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsCharged",
            "message"
          ],
          "description": "Credits that were charged for an asynchronous operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "free"
              ]
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "message"
          ],
          "description": "No credits were charged for this operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "credits-refunded"
              ]
            },
            "creditsRefunded": {
              "type": "number"
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsRefunded",
            "message"
          ],
          "description": "Credits were refunded for this operation"
        }
      ]
    },
    "warnings": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "Full path to extraneous field (e.g., 'searchParams.ExtraField')"
          },
          "message": {
            "type": "string",
            "description": "Warning message"
          }
        },
        "required": [
          "field",
          "message"
        ]
      },
      "description": "Warnings about extraneous fields in request"
    },
    "advice": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Tips, recommendations, and suggestions for using this API effectively."
    }
  },
  "required": [
    "output",
    "chargeInfo"
  ],
  "additionalProperties": false
}
```

---

Canonical JSON: [`https://api.fiber.ai/openapi.json`](https://api.fiber.ai/openapi.json)
Operation index: [`https://api.fiber.ai/ai-docs/index.md`](https://api.fiber.ai/ai-docs/index.md)
