---
title: "Fetch YouTube video details"
method: POST
path: "/v1/youtube/video-details"
tags: ["YouTube"]
---

# Fetch YouTube video details

`POST /v1/youtube/video-details`

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

<span>⚡ <strong>Rate limit:</strong> 300 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> 2 credits per request&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `videoId` string, required — 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').

## Response `200`

Default Response

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

## Other responses

- `400` — Default Response
- `401` — Default Response
- `402` — Default Response
- `403` — Default Response
- `404` — Default Response
- `422` — Default Response
- `429` — Default Response
- `500` — Default Response
- `503` — Default Response

---

[API](https://skmtc.net/fiber/apis/fiber-ai-api.md) · [All operations](https://skmtc.net/fiber/apis/fiber-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiber/fiber-ai-api/revisions/87ad9a3ecc4c/schema)
