---
title: "Get a video or Short"
method: GET
path: "/v1/youtube/video"
tags: ["YouTube"]
---

# Get a video or Short

`GET /v1/youtube/video`

## Request

- Base URL: `https://api.scrapeatlas.com`
- URL: `https://api.scrapeatlas.com/v1/youtube/video`
- Auth: API key in header `x-api-key`

Retrieve a YouTube video with title, description, engagement, publication date, uploader, chapters, recommendations, genre, duration, caption tracks, format metadata, replay graph and paid-promotion information. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `url` string, required
- `language` string

## Response `200`

Inspect the response status and failure or coverage fields.

- union
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `type` union, required
      - 'video'
      - 'short'
    - `id` string, required
    - `title` string, required
    - `description` string, nullable, required
    - `descriptionLinks` string[], required
    - `commentCountText` string, nullable, required
    - `commentCountInt` integer, nullable, required
    - `likeCountText` string, nullable, required
    - `likeCountInt` integer, nullable, required
    - `viewCountText` string, nullable, required
    - `viewCountInt` integer, nullable, required
    - `publishDateText` string, nullable, required
    - `collaborators` object[], required
      - `id` string, nullable, required
      - `url` string, nullable, required
      - `handle` string, nullable, required
      - `title` string, nullable, required
      - `thumbnail` string, nullable, required
    - `channel` object, required
      - `id` string, nullable, required
      - `url` string, nullable, required
      - `handle` string, nullable, required
      - `title` string, nullable, required
      - `thumbnail` string, nullable, required
    - `chapters` object[], required
      - `title` string, required
      - `timeDescription` string, nullable, required
      - `startSeconds` integer, nullable, required
    - `watchNextVideos` object[], required
      - `id` string, required
      - `title` string, required
      - `thumbnail` string, nullable, required
      - `channel` object, required
        - `title` string, nullable, required
        - `url` string, nullable, required
        - `handle` string, nullable, required
        - `id` string, nullable, required
      - `publishedTimeText` string, nullable, required
      - `publishedTime` string, date-time, nullable, required
      - `publishDateText` string, nullable, required
      - `publishDate` string, date-time, nullable, required
      - `viewCountText` string, nullable
      - `viewCountInt` integer, nullable, required
      - `lengthText` string, nullable
      - `lengthInSeconds` integer, nullable
      - `videoUrl` string, uri, required
    - `thumbnail` string, uri, required
    - `publishDate` string, nullable, required
    - `keywords` string[], required
    - `genre` string, nullable, required
    - `durationMs` integer, nullable, required
    - `durationFormatted` string, nullable, required
    - `captionTracks` object[], required
      - `baseUrl` string, uri, required
      - `name` object, required
        - `simpleText` string, required
      - `vssId` string, required
      - `languageCode` string, required
      - `kind` string
      - `isTranslatable` boolean
      - `trackName` string
    - `downloadOptions` object, nullable, required
      - `expiresInSeconds` string, nullable, required
      - `hlsManifestUrl` string, nullable, required
      - `dashManifestUrl` string, nullable, required
      - `formats` object[], required
        - `itag` integer, required
        - `url` string, nullable, required
        - `cdnUrl` string, nullable, required
        - `expiresAt` string, date-time, nullable, required
        - `mimeType` string, nullable, required
        - `codecs` string, nullable, required
        - `bitrate` integer, nullable, required
        - `width` integer, nullable, required
        - `height` integer, nullable, required
        - `quality` string, nullable, required
        - `qualityLabel` string, nullable, required
        - `fps` integer, nullable, required
        - `audioQuality` string, nullable, required
        - `audioSampleRate` string, nullable, required
        - `audioChannels` integer, nullable, required
        - `approxDurationMs` string, nullable, required
        - `projectionType` string, nullable, required
        - `hasVideo` boolean, required
        - `hasAudio` boolean, required
        - `requiresSignatureDecipher` boolean, required
        - `signatureCipher` object
          - `url` string, nullable, required
          - `signature` string, nullable, required
          - `signatureParameter` string, nullable, required
          - `expiresAt` string, date-time, nullable, required
      - `note` string, required
    - `most_replayed` object, nullable, required
      - `markers` object[], required
        - `startMillis` integer, required
        - `durationMillis` integer, required
        - `intensityScoreNormalized` number, required
      - `ranges` object[], required
        - `visibleTimeRangeStartMillis` integer, required
        - `visibleTimeRangeEndMillis` integer, required
        - `decorationTimeMillis` integer, required
        - `label` string, nullable, required
    - `isPaidPromotion` boolean, required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_page' | 'public_api', required
      - `complete` boolean, required
      - `warnings` string[], required
      - `order` 'newest_first' | 'oldest_first' | 'ranked' | 'relevance' | 'source_order'
      - `window` object
        - `since` string, date-time
        - `until` string, date-time
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'restricted_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex' | 'invalid_continuation' | 'age_restricted', required
      - `message` string, required

## Other responses

- `400`: Request could not complete; inspect error or failure.code.
- `401`: Request could not complete; inspect error or failure.code.
- `402`: Request could not complete; inspect error or failure.code.
- `403`: Request could not complete; inspect error or failure.code.
- `404`: Request could not complete; inspect error or failure.code.
- `408`: Request could not complete; inspect error or failure.code.
- `413`: Request could not complete; inspect error or failure.code.
- `429`: Request could not complete; inspect error or failure.code.
- `500`: Request could not complete; inspect error or failure.code.
- `502`: Request could not complete; inspect error or failure.code.
- `503`: Request could not complete; inspect error or failure.code.
- `504`: Request could not complete; inspect error or failure.code.

---

[API](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api.md) · [All operations](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/revisions/9ba049316894?raw)
