Get a video or Short
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.
/v1/youtube/videox-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
YouTube video or Short URL (youtube.com/watch?v=…, youtu.be/…, /shorts/…, /embed/…, /live/…; www, m and music subdomains) or a bare 11-character video ID.
max 2048 chars
https://www.youtube.com/watch?v=Vid0000001aOptional language code (en, es, pt-BR) sent as the page's Accept-Language; YouTube may still localise differently.
Operation identifier for correlation.
Upstream HTTP attempts, decoded bytes and duration.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data was returned; inspect status and coverage.
success, partial (coverage.warnings names the omission), failed or challenged.
one of: success, partial
Always video, for Shorts too.
Video ID from the player response, checked against the request.
Video title.
The description as YouTube renders it (long links shortened with an ellipsis), with line breaks; the raw player description when the rendered text is absent; null when empty.
Every link in the description in text order: external links unwrapped from YouTube's redirect, hashtag pages, channel links and timestamp links as youtube.com URLs.
up to 200 items
Displayed comment count from the comments panel ("2.4M"); null when comments are off.
Comment count parsed from commentCountText.
Exact like count as YouTube publishes it in the page metadata; null when hidden.
Like count as an integer.
Exact view count with thousands separators.
Exact view count.
Displayed date text ("Oct 24, 2009", "Premiered …", "Streamed live on …").
Collaborating channels when YouTube lists them on the watch page.
up to 20 items
Always included.
Always included.
Always included.
Always included.
Always included.
Uploader: id, url (canonical channel URL), handle ("Name", or "channel/UC…" for channels without a handle), title and 48 px thumbnail.
Always included.
Always included.
Always included.
Always included.
Always included.
Description chapters (auto chapters when none are written): title, timeDescription ("3:54") and startSeconds. Empty when the video has none.
up to 500 items
Always included.
Always included.
Always included.
Recommended videos shown next to the video (up to 100): id, title, thumbnail, channel {title, url, handle, id}, publishedTimeText, publishedTime, publishDateText, publishDate, viewCountText (present when a count is shown), viewCountInt, lengthText and lengthInSeconds (present when a duration is shown) and videoUrl. Recommendations differ between requests.
up to 100 items
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Optional.
Always included.
Optional.
Optional.
Always included.
absolute HTTPS URL
https://img.youtube.com/vi/<id>/maxresdefault.jpg.
absolute HTTPS URL
Publish timestamp with the channel's UTC offset, from the page metadata.
Video keywords (tags) as published; empty when none.
up to 500 items
YouTube category ("Music", "Entertainment").
Published duration in milliseconds (the microformat length).
Duration as HH:MM:SS.
Caption tracks the web player lists: baseUrl, name.simpleText, vssId, languageCode, kind (asr for auto-generated), isTranslatable, trackName. URLs are returned as data and expire; use the transcript operation to read one.
up to 100 items
Always included.
absolute HTTPS URL
Always included.
Always included.
Always included.
Always included.
Optional.
Optional.
Optional.
Muxed audio+video formats the web player exposes, or null: expiresInSeconds, hlsManifestUrl, dashManifestUrl, formats (itag, url, cdnUrl, expiresAt, mimeType, codecs, bitrate, width, height, quality, qualityLabel, fps, audioQuality, audioSampleRate, audioChannels, approxDurationMs, projectionType, hasVideo, hasAudio, requiresSignatureDecipher and signatureCipher {url, signature, signatureParameter, expiresAt} when the URL is ciphered) and a note. Nothing is downloaded.
Always included.
Always included.
Always included.
Always included.
up to 50 items
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Optional.
Always included.
Always included.
Always included.
Always included.
Always included.
YouTube's public Most replayed graph, or null: markers (startMillis, durationMillis, intensityScoreNormalized) and ranges (visibleTimeRangeStartMillis, visibleTimeRangeEndMillis, decorationTimeMillis, label).
Always included.
up to 1000 items
Always included.
≥ 0
Always included.
≥ 0
Always included.
Always included.
up to 100 items
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
Always included.
True when the player shows the "Includes paid promotion" disclosure.
Public YouTube URL the operation represents (page or API route).
absolute HTTPS URL
UTC retrieval timestamp.
source is public_page; no warnings are defined for this operation.
Always included.
one of: public_page, public_api
Always included.
Always included.
up to 8 items
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, malformed, duplicate or conflicting parameters, unsupported parameters or an unsafe URL. |
| 400 | invalid_continuation | YouTube rejected the supplied continuation token. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 403 | restricted_page | The channel, video, playlist or post is terminated, private, members-only or otherwise unavailable. |
| 403 | age_restricted | The video is age restricted and cannot be read logged out. |
| 404 | not_found | YouTube reports no channel, video, playlist or post for the identifier. |
| 429 | upstream_rate_limited | YouTube rate limited the request; no automatic retry. |
| 502 | upstream_challenged | YouTube rejected or challenged the request. |
| 502 | unsupported_page | The response lacks the embedded data, the data is malformed, or the resolved identity does not match the request. |
| 502 | response_too_large payload_too_complex | The response exceeded byte, depth or node limits. |
| 502 | unsafe_redirect request_limit upstream_error | The bounded request could not complete. |
| 503 | busy | All worker slots are in use. |
| 504 | timeout | The total retrieval deadline expired. |