Get a Twitch clip
Retrieve public Twitch clip and playback metadata. Numeric keys group clip information, related clips and viewer data.
/v1/twitch/clipx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Required HTTPS clips.twitch.tv/<slug> or twitch.tv/<channel>/clip/<slug>. Tracking queries/fragments are removed; credentials, ports and embedded URLs are rejected.
max 2048 chars
https://clips.twitch.tv/SyntheticClipPrimary GraphQL response at 0.data.clip, including extensions and videoURL.
Always included.
Always included.
Public clip ID.
min 1 chars
Clip slug verified against the requested URL.
Always included.
Always included.
Always included.
Current source views.
≥ 0
Always included.
Always included.
All selected source assets, render states, thumbnail URLs, quality variants and portrait metadata.
up to 20 items
Always included.
min 1 chars
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
up to 20 items
Always included.
Always included.
Public clip creator, or null.
Always included.
min 1 chars
Always included.
Always included.
Always included.
Always included.
Public game metadata, or null.
Always included.
min 1 chars
Always included.
Always included.
Always included.
Always included.
Always included.
Associated broadcast ID and title, or null.
Always included.
min 1 chars
Always included.
Always included.
Owner profile, partner flag, follower total, stream, last broadcast and logged-out self metadata.
Always included.
min 1 chars
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Must be true for successful retrieval.
Clip duration in seconds.
≥ 0
Source badge metadata or null.
Expiring public playback signature and JSON value returned by Twitch. They vary by request and are not logged or cached.
Always included.
min 1 chars
Always included.
min 1 chars
Always included.
Associated video ID/type/title, or null.
Source video offset or null.
Published source media URLs; never downloaded by this worker.
up to 20 items
Always included.
Always included.
Logged-out edit restriction flag. It does not imply that public viewing is restricted.
Source crop metadata or null.
Original GraphQL source type.
First video-quality source URL signed with the current public playback signature/token. Expires with that token; request a fresh clip response when needed.
absolute HTTPS URL
Optional.
up to 100 items
Always included.
Optional.
Optional.
Optional.
Optional.
Related-clips GraphQL response. Source errors are retained and produce partial coverage.
Optional.
Optional.
up to 100 items
Always included.
Optional.
Optional.
Optional.
Optional.
Logged-out viewer response; data.user is null. No Twitch account session is used.
Optional.
Optional.
up to 100 items
Always included.
Optional.
Optional.
Optional.
Optional.
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.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when the primary requested data is usable.
success, partial, failed or challenged. Inspect coverage on HTTP 200.
one of: success, partial
Canonical public Twitch page URL.
absolute HTTPS URL
UTC retrieval timestamp.
Public GraphQL coverage. Clip auxiliary query errors produce partial with auxiliary_graphql_error; missing required primary fields fail.
Always included.
Always included.
Always included.
up to 2 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 |
|---|---|---|
| 200 | partial | Primary clip data is usable but a related-clips or viewer GraphQL query returned source errors. |
| 400 | invalid_request | Missing or unsafe input, unknown parameters, invalid filter/sort, or duplicate parameters. |
| 401 | unauthorized | Missing or invalid dedicated worker API key. |
| 403 | restricted_page | Unpublished clip, denied or expired playback token, or unexpected authenticated viewer. |
| 404 | not_found | The requested channel, video or clip is missing, or the route is unknown. |
| 429 | upstream_rate_limited | Twitch rate limited retrieval. |
| 502 | upstream_challenged public_client_unavailable | Twitch challenged the request or its public client identifier could not be determined. |
| 502 | upstream_graphql_error unsupported_page | Primary query failure or incomplete, unexpected or mismatched data. |
| 502 | response_too_large payload_too_complex | Byte, depth or JSON node limit exceeded. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded transport could not complete. |
| 503 | busy | All worker admission slots are occupied. |
| 504 | timeout | The total request deadline expired. |