Get a Kwai user’s posts
Retrieve a public Kwai feed page with albums, post IDs and media metadata in feed order. Pass data.cursor as cursor for continuation.
/v1/kwai/user/postsx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Kwai handle without @. Exactly one of handle or url is required. ASCII letters, digits, underscore, hyphen and dot; starts with a letter or digit, at most 100 characters.
exampleCanonical HTTPS kwai.com or www.kwai.com /@handle URL. Queries, fragments, short links, credentials and nonstandard ports are rejected.
max 300 chars
Posts per page, 1–50; defaults to 20.
20Previous data.cursor, a numeric source token up to 32 characters. Bound to the same profile by the caller; do not alter it.
Request 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.
Ordered post records with exact string id, numeric photo_id alias, caption, UTC and display timestamps, media URLs, source counters, author, music and tags.
up to 50 items
Always included.
Always included.
≥ 0
Always included.
absolute HTTPS URL
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
-9007199254740991 – 9007199254740991
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
-9007199254740991 – 9007199254740991
Always included.
Always included.
Always included.
Always included.
Source album metadata, at most 50; contents are not fetched. The source omits this metadata on later pages, returned as []. albumIdStr is the exact identifier where present.
up to 50 items
Source continuation token or null at the end. Repeated or empty advancing pages fail explicitly.
Whether the source supplied a continuation token.
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. |