Skip to content
scrapeatlas.Dashboard

Get channel clips

Try in Playground

Retrieve a channel’s top clips by views for a period, with broadcaster, curator, game, views, duration, creation time and thumbnail.

GET/v1/twitch/user/clipsx-api-key
x-api-keystringrequiredheader

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

Query parameters
5
handlestringrequiredquery

Required Twitch login, 1–25 letters, digits or underscores. Normalized to lowercase.

Exampleexample
limitintegerdefault: 20query

Number of clip cards to request: 1–20, default 20.

default: 20 · 1 – 20

Example20
periodenumquery

last_day, last_week, last_month or all_time. Omitted: the shortest period covering since, else all_time.

one of: last_day, last_week, last_month, all_time

Examplelast_week
sincenumber | stringquery

Earliest publication time to include, ISO 8601 or Unix seconds.

untilnumber | stringquery

Publication time to stop before, ISO 8601 or Unix seconds; later than since.

Response fields
54
idstring

Requested channel ID.

min 1 chars

handlestring

Required Twitch login, 1–25 letters, digits or underscores. Normalized to lowercase.

Top clip cards by views, including slug, clipTitle, clipViewCount, broadcaster, curator, clipGame, durationSeconds, createdAt, thumbnailURL and guest participants.

up to 20 items

clips.idstring

Always included.

min 1 chars

clips.slugstring

Always included.

clips.clipTitlestring

Always included.

clips.clipViewCountinteger

Always included.

≥ 0

Always included.

clips.curator.idstring

Always included.

min 1 chars

clips.curator.loginstring

Always included.

clips.curator.displayNamestring

Always included.

clips.curator.__typenamestring

Always included.

Always included.

clips.clipGame.idstring

Always included.

min 1 chars

clips.clipGame.slugstring

Always included.

clips.clipGame.namestring

Always included.

clips.clipGame.__typenamestring

Always included.

clips.clipGame.displayNamestring

Always included.

clips.clipGame.boxArtURLstring

Always included.

Always included.

clips.broadcaster.idstring

Always included.

min 1 chars

clips.broadcaster.loginstring

Always included.

clips.broadcaster.displayNamestring

Always included.

clips.broadcaster.__typenamestring

Always included.

clips.broadcaster.profileImageURLstringnullable

Always included.

clips.broadcaster.primaryColorHexstringnullable

Always included.

Always included.

clips.broadcaster.roles.isPartnerboolean

Always included.

clips.broadcaster.roles.__typenamestring

Always included.

clips.thumbnailURLstring

Always included.

clips.createdAtstring

Always included.

clips.durationSecondsnumber

Always included.

≥ 0

clips.isFeaturedboolean

Always included.

clips.guestStarParticipantsJSON

Always included.

clips.__typenamestring

Always included.

hasNextPageboolean

Whether the source reports more clip records.

cursorstringnullable

Always null; this endpoint returns one page.

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.

order is ranked: top clips by views, so coverage is never complete.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

up to 4 items

coverage.orderenumoptional

Optional.

one of: newest_first, oldest_first, ranked, relevance, source_order

Optional.

coverage.window.sincestringoptional

Optional.

coverage.window.untilstringoptional

Optional.

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.