EasyDown API Docs
Platform Video Downloader APIs

Kuaishou / Kwai Video Downloader API

Use EasyDown's Kuaishou / Kwai video downloader API for supported public URLs. Return downloadable video, images, audio, and sanitized platform data.

Share links are resolved to a photo ID when possible, then normalized video, cover, dimension, and duration fields are returned without provider-specific response objects.

Use it to add Kuaishou or Kwai video downloader support for compatible public post and short-link formats.

Use this endpoint when you need platform-specific fields in addition to stable downloadable media.

Endpoints

POST https://api.easydown.org/api/v1/platforms/kuaishou/parse

Supported URL formats

  • kuaishou.com/short-video/{id}
  • v.kuaishou.com/{code}
  • kwai.com/@{user}/video/{id}

Accepted examples

  • https://v.kuaishou.com/JuuRuozy
  • https://www.kuaishou.com/short-video/3x2cvn2u7fq8k8s
  • https://www.kwai.com/@volana390/video/5207718655495282041

What the platform response contains

Every available public video URL and content cover is returned, with dimensions and duration when the source exposes them.

Published platform data fields

The API preserves additional public fields from the final target object after recursive sensitive-field filtering. The documented fields below remain stable for this platformDataVersion.

FieldTypeDescription
data.mediaobjectNormalized images, videos, audios, title, thumbnail, and duration.
data.platformDataVersionstringPublished data contract version for Kuaishou / Kwai; currently 1.
data.platformData.photoIdstringKuaishou or Kwai photo identifier.
data.platformData.captionstringPublic post caption.
data.platformData.authorobjectPublic creator profile fields.
data.platformData.mainMvUrlsarrayDirect playable video renditions.
data.platformData.manifestobjectAdaptive stream metadata when exposed.
data.platformData.coverUrlsarrayPublic cover image candidates.
data.platformData.durationnumberVideo duration reported by the platform.
data.platformData.widthnumberSource video width.
data.platformData.heightnumberSource video height.
{
  "status": 200,
  "data": {
    "media": {
      "platform": "kuaishou",
      "title": "Example public post",
      "thumbnail": "https://public-cdn.example/cover.jpg",
      "duration": 18,
      "images": [],
      "videos": [
        {
          "url": "https://public-cdn.example/video.mp4",
          "quality": "1080p",
          "mimeType": "video/mp4",
          "width": 1920,
          "height": 1080,
          "hasAudio": true,
          "source": "direct"
        }
      ],
      "audios": []
    },
    "platformData": {
      "photoId": "3x2cvn2u7fq8k8s",
      "caption": "Example public Kuaishou video",
      "author": {
        "name": "Example creator"
      },
      "mainMvUrls": [
        {
          "quality": "720p",
          "url": "https://media.example/video.mp4"
        }
      ],
      "coverUrls": [
        {
          "url": "https://media.example/cover.jpg"
        }
      ],
      "duration": 12000,
      "width": 720,
      "height": 1280
    },
    "platformDataVersion": "1"
  },
  "msg": "success"
}

Download and proxy guidance

Use Referer: https://www.kuaishou.com/, a browser User-Agent, and forwarded Range headers. Proxy large video files as streams rather than loading them fully into server memory.

Limits and behavior

Profiles, live rooms, search pages, collections, private works, deleted works, expired share tokens, and region-unavailable videos are unsupported.

Only public content is supported. Private, deleted, age-restricted, region-restricted, live, or otherwise unavailable content can fail without a credit charge.

A response is charged only after downloadable media is returned. Each successful parse costs 1 credit. Authentication, validation, permission, unavailable-content, no-media, and upstream failures are not charged.

Troubleshooting

  • Submit the share text or full URL when a short token is used.
  • Stream large videos and forward Range for resume support.
  • Re-parse when a resolved photo URL expires.

Common questions

Does a failed request consume credits?

No. A credit is charged only after the API returns downloadable media.

The post can be deleted, private, region-restricted, live, missing media, or temporarily unavailable upstream.

Interactive API reference

The curl, JavaScript, and Python examples and schemas below are rendered from the production OpenAPI 3.1 contract.

The Try it panel sends requests directly to api.easydown.org. Its token is held in React memory only and disappears on reload.

POST

Try it

A successful response with downloadable media costs 1 credit. Failed requests are not charged.

The token stays only in this page memory and is cleared when the page is closed or reloaded.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/platforms/kuaishou/parse" \  -H "Content-Type: application/json" \  -d '{}'
{  "status": 200,  "data": {    "media": {      "platform": "tiktok",      "title": "string",      "thumbnail": "string",      "duration": 0,      "images": [        {          "url": "http://example.com",          "width": 0,          "height": 0        }      ],      "videos": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "width": 0,          "height": 0,          "hasAudio": true,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ],      "audios": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "bitrate": 0,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ]    },    "platformData": {      "photoId": "string",      "caption": "string",      "author": {},      "mainMvUrls": [        null      ],      "manifest": {},      "coverUrls": [        null      ],      "duration": 0,      "width": 0,      "height": 0    },    "platformDataVersion": "1"  },  "msg": "success"}