Skip to content
scrapeatlas.Dashboard

Get a Kick clip

Try in Playground

Retrieve one public Kick clip from the public player metadata API with current counters. Media and thumbnail URLs are returned without downloading their contents.

GET/v1/kick/clipx-api-key
x-api-keystringrequiredheader

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

Query parameters
1
urlstringrequiredquery

Required HTTPS Kick clip URL. Canonical /<channel>/clips/<clip_id> and legacy /<channel>?clip=<clip_id> forms are supported. Duplicate/conflicting clip IDs are rejected.

max 2048 chars · absolute HTTPS URL

Examplehttps://kick.com/example/clips/clip_01JGJHB6CEVFCQRYTVPM8DW892
Response fields
53
requestIdstring

Operation identifier for correlation.

Upstream HTTP attempts, decoded response bytes and duration. DNS lookups are transport setup and are not counted as HTTP requests. Error response bodies are discarded.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True only when the complete supported clip object validates.

statusstring

success on complete retrieval; failed or challenged with a failure object otherwise.

Full public clip object, including source extensions and nested category, creator, channel and optional VOD metadata. Fields are not renamed or coerced.

clip.idstring

Kick clip ID; must match the requested clip.

clip.livestream_idstringnullable

Source livestream ID as a string, or null.

clip.category_idstringnullable

Source category ID as a string, or null; preserved separately from category.id.

clip.channel_idinteger

Numeric owner channel ID, verified against channel.id.

≥ 0

clip.user_idintegernullable

Numeric clip creator ID, verified against creator.id when available. Null is preserved.

clip.titlestring

Original clip title, including empty strings.

clip.clip_urlstringnullable

Published media URL; may be an HLS playlist or direct media. Returned as data without downloading.

clip.thumbnail_urlstringnullable

Source thumbnail URL; never fetched.

clip.privacyenum

Source public privacy representation, public or CLIP_PRIVACY_PUBLIC. Other privacy values are rejected.

one of: CLIP_PRIVACY_PUBLIC, public

clip.likesintegernullable

Source like count; explicit nulls are preserved.

clip.likedboolean

Upstream logged-out liked flag. No viewer session is supplied.

clip.viewsintegernullable

Source view count at retrieval time. Live counters can change between requests.

clip.durationnumbernullable

Source duration in seconds; fractional values and nulls are preserved.

clip.started_atstringnullable

Source start timestamp string, with original precision, or null.

clip.created_atstringnullable

Source creation timestamp string, with original precision, or null.

clip.vod_starts_atnumbernullableoptional

Optional source VOD offset. Omitted when Kick omits it; explicit nulls are preserved.

clip.is_matureboolean

Published maturity metadata; no age/consent flow is performed.

clip.video_urlstringnullable

Source media alias. Preserved independently from clip_url.

clip.view_countintegernullable

Source view-count alias, preserved independently from views.

clip.likes_countintegernullable

Source likes alias, preserved independently from likes.

Optional VOD object with id and any public source extensions, or null. Not synthesized when absent; no VOD lookup or media fetch.

clip.vod.idstring

Always included.

min 1 chars

Category id, name, slug, responsive, banner, parent_category and extensions, or null.

clip.category.idinteger

Always included.

≥ 0

clip.category.namestring

Always included.

clip.category.slugstring

Always included.

clip.category.responsivestringnullable

Always included.

clip.category.bannerstringnullable

Always included.

clip.category.parent_categorystringnullable

Always included.

Clip creator: id, username, slug, profile_picture and extensions, or null.

clip.creator.idinteger

Always included.

≥ 0

clip.creator.usernamestring

Always included.

clip.creator.slugstring

Always included.

min 1 chars

clip.creator.profile_picturestringnullable

Always included.

Owner channel: id, username, slug, profile_picture and extensions. The slug is checked against the requested channel.

clip.channel.idinteger

Always included.

≥ 0

clip.channel.usernamestring

Always included.

clip.channel.slugstring

Always included.

min 1 chars

clip.channel.profile_picturestringnullable

Always included.

sourceUrlstring

Canonical Kick clip page URL.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Complete validated public clip metadata. Missing required fields fail the request; no reduced-field success is returned.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

up to 0 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
11
HTTPfailure.codeMeaning
400invalid_requestMissing/unsafe clip URL, ambiguous clip IDs, duplicate URL or unsupported parameters.
401unauthorizedMissing or invalid worker API key.
403restricted_pageThe clip is private or requires access/consent.
404not_foundKick reports a missing or deleted clip.
429upstream_rate_limitedKick rate limited the request; no automatic retry.
502upstream_challengedKick rejected or challenged the request.
502unsupported_pageMalformed, incomplete, unexpected, or mismatched clip metadata.
502response_too_large payload_too_complexThe JSON exceeded byte, depth or node limits.
502unsafe_redirect request_limit upstream_errorThe bounded request could not complete.
503busyAll worker slots are in use.
504timeoutThe total retrieval deadline expired.