Skip to content
scrapeatlas.Dashboard

Get video metadata

Try in Playground

Retrieve one Twitch video by numeric ID or public video URL. Supply exactly one of id or url.

GET/v1/twitch/videox-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
idstringquery

Numeric Twitch video ID. Supply id or url, exactly one.

Example3
urlstringquery

HTTPS twitch.tv/videos/{id} URL. Supply url or id, exactly one. Query parameters and fragments are removed from the canonical source URL.

max 2048 chars

Response fields
27

Video ID, title, creation/publication timestamps, duration, views, owner identity, nullable game and preview thumbnail.

video.idstring

Always included.

min 1 chars

video.titlestring

Always included.

video.createdAtstring

Always included.

video.publishedAtstring

Always included.

video.lengthSecondsinteger

Always included.

≥ 0

video.viewCountinteger

Always included.

≥ 0

Always included.

video.owner.idstring

Always included.

min 1 chars

video.owner.loginstring

Always included.

Always included.

video.game.idstring

Always included.

min 1 chars

video.game.namestring

Always included.

video.previewThumbnailURLstring

Always included.

requestIdstring

Operation identifier for correlation.

HTTP attempts initiated by this operation, decoded response bytes and elapsed milliseconds. A shared client bootstrap is counted by its initiating operation.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when the primary requested data is usable.

statusenum

success, partial, failed or challenged. Inspect coverage on HTTP 200.

one of: success, partial

sourceUrlstring

Canonical public Twitch page URL.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Coverage of the requested public metadata selection.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

up to 2 items

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.

Error codes
12
HTTPfailure.codeMeaning
200partialPrimary clip data is usable but a related-clips or viewer GraphQL query returned source errors.
400invalid_requestMissing or unsafe input, unknown parameters, invalid filter/sort, or duplicate parameters.
401unauthorizedMissing or invalid dedicated worker API key.
403restricted_pageUnpublished clip, denied or expired playback token, or unexpected authenticated viewer.
404not_foundThe requested channel, video or clip is missing, or the route is unknown.
429upstream_rate_limitedTwitch rate limited retrieval.
502upstream_challenged public_client_unavailableTwitch challenged the request or its public client identifier could not be determined.
502upstream_graphql_error unsupported_pagePrimary query failure or incomplete, unexpected or mismatched data.
502response_too_large payload_too_complexByte, depth or JSON node limit exceeded.
502unsafe_redirect request_limit upstream_errorBounded transport could not complete.
503busyAll worker admission slots are occupied.
504timeoutThe total request deadline expired.