Kwai
GET /v1/kwai/post

Kwai Post API

Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits).

2 credits per request
TL;DR
Single Kwai video — caption ("" when none), hashtags[], author, mp4 (2 credits). The Kwai Post API (Kwai) is a single authenticated GET request to /v1/kwai/post that responds with clean JSON and costs 2 credits. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.

What is the Kwai Post API?

Pass a Kwai video URL and get one post as clean JSON: same core card as a user-posts row (text = caption only, empty string when the post has none — never SEO title boilerplate; hashtags[] always present — [] when none; author{}, engagement, videoUrl/videoType, mediaUrlsExpireAt, transcript when Kwai exposes auto-captions). Flat 2 credits — priced in line with one list item, not the old 17-credit Apify-era rate. Shares _normalize_post with /kwai/user-posts.

What you get

  • text = caption only ("" when none)
  • hashtags[] always present ([] when none)
  • author{} + engagement{}
  • videoUrl / videoType / mediaUrlsExpireAt

Platform limits

Honest ceilings from the upstream platform surface — not Captapi bugs. Unexpected truncation here is usually the platform, not us.

  • text is never synthesised from meta description, og:description, author name, or audio title — empty caption → "".
  • hashtags is never omitted — empty caption / no tags → [].

Try it

Open in Playground

Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).

Parameters

Sign in to run live
curl "https://api.captapi.com/v1/kwai/post?url=https%3A%2F%2Fwww.kwai.com%2F%40topfilmeseseriesnatv%2Fvideo%2F5240932700689736196" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

Edit the parameters and the code updates instantly. Switch languages and hit copy.

Example response

{
  "success": true,
  "data": {
    "platform": "kwai",
    "id": "5240932700689736196",
    "url": "https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196",
    "transcript": "BANDIDO ESTAVA ESPERANDO ELE NA SAIDA DO BANCO.",
    "publishedAt": "2026-01-24T00:50:13Z",
    "durationSeconds": 156,
    "thumbnailUrl": "https://aws-br-pic.kwai.net/upic/2026/01/24/08/BMjAyNjAxMjQwODQ4MTNfMTUwMDAxNDU1MDE5OTQ1XzE1MDExMDI4NTA4NDg3NF8yXzM=_oscn2_Befd2f922b58f2b5f72e4cb3c375d043d.webp",
    "videoUrl": "https://aws-br-cdn.kwai.net/upic/2026/01/24/08/BMjAyNjAxMjQwODQ4MTNfMTUwMDAxNDU1MDE5OTQ1XzE1MDExMDI4NTA4NDg3NF8yXzM=_b_Bf1ce0ec42b4fe4482cd50678b3abd2d4.mp4?tag=1-1784753172-s-0-afgxvdpz8w-4a78f339bd4accdf",
    "author": {
      "id": "3x9mhse7ekkvfa9",
      "username": "topfilmeseseriesnatv",
      "displayName": "Topseriesfilmetv",
      "avatar": "https://aws-br-pic.kwai.net/bs2/overseaHead/20250507231107_BMTUwMDAxNDU1MDE5OTQ1_s.jpg",
      "url": "https://www.kwai.com/@topfilmeseseriesnatv"
    },
    "engagement": {
      "views": 138841,
      "likes": 9232,
      "comments": 91,
      "shares": 169
    },
    "videoType": "mp4",
    "mediaUrlsExpireAt": "2026-07-22T20:46:12.000Z"
  }
}

Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.

Response structure

A successful call returns success, cached, creditsUsed, and a data object with the following fields:

Top-level fields

  • platformAlways "kwai" on this endpoint.
  • idStable platform ID for the item.
  • urlCanonical URL of the item.
  • transcriptAuto-caption text from Kwai JSON-LD when present (deduped). Omitted when Kwai does not expose captions.
  • publishedAtPublish date (ISO 8601) when the platform exposes an absolute timestamp.
  • durationSecondsLength in seconds for this item (full media length, or a segment span when the endpoint documents a start/end).
  • thumbnailUrlThumbnail image URL.
  • videoUrlSigned progressive playback URL (usually mp4). Check videoType; re-fetch before mediaUrlsExpireAt.
  • videoTypePlayback type: "mp4" (progressive) or "hls" (.m3u8).
  • mediaUrlsExpireAtISO expiry for signed videoUrl, parsed from Kwai's tag= query param.

Author

The author object contains:

  • idStable platform ID for the item.
  • usernameAccount username / handle.
  • displayNameDisplay name of the account. Canonical across profile endpoints (prefer over name).
  • avatarAvatar / profile picture URL. Canonical across profile endpoints.
  • urlCanonical URL of the item.

Engagement

The engagement object contains:

  • viewsView count when the platform exposes one.
  • likesLike count (number).
  • commentsComment count.
  • sharesShare count. Null when the platform does not expose a public share metric (e.g. YouTube).

Parameters

NameTypeRequiredDescription
urlstringYesKwai video URL, e.g. https://www.kwai.com/@topfilmeseseriesnatv/video/5240932700689736196. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits.

Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 2 credits. Pass cache=true for a free 24h cache hit; default is always fresh.

Using an AI agent? This endpoint is the MCP tool kwai_post via @captapi/mcp. Set it up →

How it works

  1. 1. Sign up — get 100 free credits, no card required.
  2. 2. Create a key from your dashboard.
  3. 3. Send one request to /v1/kwai/post and parse the JSON response.

Use cases

Post enrichment

Resolve a Kwai video URL to caption, hashtags, author, and engagement.

Playback

Play or download via videoUrl when videoType is mp4; re-fetch before mediaUrlsExpireAt.

Captions

Read transcript when Kwai exposes auto-captions (deduped); omitted when unavailable.

Frequently asked questions

What does the Kwai Post API do?+

The Kwai Post API lets you fetch full metadata and key stats from a public Kwai post using one GET request to /v1/kwai/post. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Kwai Post API cost?+

Each successful call costs 2 credits. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a Kwai API key or OAuth?+

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Is the Kwai Post API suitable for production use?+

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

More Kwai APIs

Ready to use the Kwai Post API?

Sign up, grab your key, and make your first call in 60 seconds.