Get a Kwai post
Retrieve a public Kwai video post by /@handle/photo/id URL, with music, tags and media metadata. Responses retain null values and coverage.
/v1/kwai/postx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Required canonical HTTPS Kwai /@handle/photo/numeric-id URL. Short/share links, other URL formats and query strings are unsupported.
max 350 chars
https://www.kwai.com/@example/photo/5193363430624671876Request correlation identifier.
Upstream attempts, combined decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable public data was retrieved.
success, partial, failed or challenged. Inspect coverage even for HTTP 200.
one of: success, partial
Canonical public Kwai profile or post URL.
absolute HTTPS URL
UTC retrieval time.
Complete means this supported bounded response has no known omissions; it does not mean an entire account was enumerated.
Always included.
Always included.
Always included.
Provider data. Unknown fields are null; unknown counts are never zero-filled.
Exact authoritative string post ID. Use this for storage and requests.
Source numeric alias, which may be rounded in JavaScript for 64-bit IDs. Use id for exact identity.
≥ 0
Always included.
absolute HTTPS URL
Source caption or null.
Source millisecond timestamp as UTC ISO 8601, or null when unavailable.
Source display timestamp without timezone conversion.
First public playback URL; may expire and is never fetched.
First source thumbnail URL.
Public view count or null. Like, comment and forward counts follow the same rule.
-9007199254740991 – 9007199254740991
Always included.
-9007199254740991 – 9007199254740991
Always included.
-9007199254740991 – 9007199254740991
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.
Always included.
-9007199254740991 – 9007199254740991
Always included.
Always included.
Always included.
Always included.
Always included.
Available music ID, name, artist and URL. Null with music_unavailable when the detail source omits it.
Always included.
-9007199254740991 – 9007199254740991
Always included.
Always included.
Always included.
Source tags array. Null with tags_unavailable when absent; an empty array stays empty.
Optional.
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 | Known omissions: profile_counts_unavailable, privacy_unavailable, music_unavailable, tags_unavailable, post_counts_unavailable, media_unavailable, timestamp_unavailable or album_limit. |
| 400 | invalid_request | Missing, duplicate, ambiguous, unsafe or unsupported inputs. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 403 | restricted | The requested feed or post is private or restricted. |
| 404 | not_found | The source returned no requested profile or post. |
| 429 | upstream_rate_limited | Source throttling; no retry. |
| 502 | upstream_challenged | The source challenged the request; no retry. |
| 502 | unsupported_page | Malformed response, mismatched identity, or invalid pagination. |
| 502 | response_too_large payload_too_complex | Byte, depth or node bounds exceeded. |
| 502 | unsafe_redirect request_limit upstream_error | The bounded source request failed. |
| 503 | busy | All worker slots are occupied. |
| 504 | timeout | Total request deadline expired. |