---
title: "Kwai Profile API"
method: GET
path: "/v1/kwai/profile"
tags: ["Kwai"]
---

# Kwai Profile API

`GET /v1/kwai/profile`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/kwai/profile`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Fetch Kwai profile — display name, bio, counts, and verification as structured JSON.

Pass a Kwai profile URL or @handle and get the public account as clean JSON — one fixed key set on every profile: id (Kwai's opaque eid string — no twin eid key), username, displayName, bio, avatar, verified, verifiedDescription, gender, followers, following, likedCount, publicPostCount, privatePostCount, postCount (= public + private when both known), isPrivate. Sparse fields are null, never omitted (verifiedDescription / gender / privatePostCount included). No videoCount (Kwai posts are videos — structurally equal to postCount). No verifiedNumber (Kwai's verified_num is an undocumented enum; use verified + verifiedDescription). No redundant raw{}. Parsed from Kwai's public web page (JSON-LD + Nuxt SSR state). Note: Kwai's web surface sometimes stubs follower/following to 1; when that happens we prefer schema.org counts for followers and set following to null rather than ship a fake 1. Flat 1 credit.

Docs: https://captapi.com/apis/kwai-profile

## Query parameters

- `url` string, required
- `cache` boolean

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `platform` string: Always "kwai" on this endpoint.
    - `id` string: Kwai opaque profile eid (same value as eid).
    - `eid` string: Kwai opaque profile eid.
    - `url` string: Canonical URL of the item.
    - `username` string: Account username / handle.
    - `displayName` string: Display name of the account. Canonical across profile endpoints (prefer over name).
    - `bio` string: Profile bio when Kwai's public page exposes it.
    - `avatar` string: Avatar / profile picture URL. Canonical across profile endpoints.
    - `verified` boolean: Whether Kwai shows a verified badge on this profile.
    - `verifiedDescription` string: Kwai verification label text when present (e.g. Conta Oficial).
    - `verifiedNumber` integer: Kwai verification tier number when present.
    - `followers` integer: Follower count when Kwai exposes a non-stub value.
    - `likedCount` integer: Total likes received across the creator's posts.
    - `publicPostCount` integer: Public posts count.
    - `privatePostCount` integer: Private posts count when Kwai exposes it.
    - `postCount` integer: Public post/video count (same as publicPostCount / videoCount).
    - `isPrivate` boolean: Whether the account is private.
    - `videoCount` integer: Alias of postCount — public video/post count for cadence joins.

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
