Skip to content
scrapeatlas.Dashboard

Get a Kwai post

Try in Playground

Retrieve a public Kwai video post by /@handle/photo/id URL, with music, tags and media metadata. Responses retain null values and coverage.

GET/v1/kwai/postx-api-key
x-api-keystringrequiredheader

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

Query parameters
1
urlstringrequiredquery

Required canonical HTTPS Kwai /@handle/photo/numeric-id URL. Short/share links, other URL formats and query strings are unsupported.

max 350 chars

Examplehttps://www.kwai.com/@example/photo/5193363430624671876
Response fields
40
requestIdstring

Request correlation identifier.

Upstream attempts, combined decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable public data was retrieved.

statusenum

success, partial, failed or challenged. Inspect coverage even for HTTP 200.

one of: success, partial

sourceUrlstring

Canonical public Kwai profile or post URL.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Complete means this supported bounded response has no known omissions; it does not mean an entire account was enumerated.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

Provider data. Unknown fields are null; unknown counts are never zero-filled.

data.idstring

Exact authoritative string post ID. Use this for storage and requests.

data.photo_idinteger

Source numeric alias, which may be rounded in JavaScript for 64-bit IDs. Use id for exact identity.

≥ 0

data.urlstring

Always included.

absolute HTTPS URL

data.captionstringnullable

Source caption or null.

data.created_atstringnullable

Source millisecond timestamp as UTC ISO 8601, or null when unavailable.

data.created_at_textstringnullable

Source display timestamp without timezone conversion.

data.video_urlstringnullable

First public playback URL; may expire and is never fetched.

data.cover_urlstringnullable

First source thumbnail URL.

data.view_countintegernullable

Public view count or null. Like, comment and forward counts follow the same rule.

-9007199254740991 – 9007199254740991

data.like_countintegernullable

Always included.

-9007199254740991 – 9007199254740991

data.comment_countintegernullable

Always included.

-9007199254740991 – 9007199254740991

data.forward_countintegernullable

Always included.

-9007199254740991 – 9007199254740991

Public numeric ID, handle, display name, avatar and verification metadata. Encrypted source author IDs are verified against the public profile before returning its numeric ID.

data.author.idinteger

Always included.

-9007199254740991 – 9007199254740991

data.author.handlestring

Always included.

data.author.usernamestring

Always included.

data.author.avatar_urlstringnullable

Always included.

data.author.verifiedbooleannullable

Always included.

data.author.verified_descriptionstringnullable

Always included.

Available music ID, name, artist and URL. Null with music_unavailable when the detail source omits it.

data.music.idinteger

Always included.

-9007199254740991 – 9007199254740991

data.music.namestringnullable

Always included.

data.music.artiststringnullable

Always included.

data.music.urlstringnullable

Always included.

data.tagsJSON[]nullable

Source tags array. Null with tags_unavailable when absent; an empty array stays empty.

data.pinnedbooleanoptional

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
200partialKnown omissions: profile_counts_unavailable, privacy_unavailable, music_unavailable, tags_unavailable, post_counts_unavailable, media_unavailable, timestamp_unavailable or album_limit.
400invalid_requestMissing, duplicate, ambiguous, unsafe or unsupported inputs.
401unauthorizedMissing or invalid worker API key.
403restrictedThe requested feed or post is private or restricted.
404not_foundThe source returned no requested profile or post.
429upstream_rate_limitedSource throttling; no retry.
502upstream_challengedThe source challenged the request; no retry.
502unsupported_pageMalformed response, mismatched identity, or invalid pagination.
502response_too_large payload_too_complexByte, depth or node bounds exceeded.
502unsafe_redirect request_limit upstream_errorThe bounded source request failed.
503busyAll worker slots are occupied.
504timeoutTotal request deadline expired.