DouyinData & transcription

Douyin video data

Parse public aweme metadata. No native captions—submit a speech transcription job for timed text.

API flow

Video metadata

POST /api/douyin/detail

Captions · transcription

POST /api/transcribe/submit

GET /api/transcribe/{job_id}

User profile

POST /api/douyin/user/detail

More endpoints in the API docs →

Common workflows

Video detail

POST /api/douyin/detail — public aweme URL or share text.

Search

POST /api/douyin/search — keyword search with cursor paging.

User profile

POST /api/douyin/user/detail — sec_user_id or profile URL.

User search

POST /api/douyin/user/search — find users by keyword.

User videos

POST /api/douyin/user/works — paginated user uploads.

Transcription

No caption API—use POST /api/transcribe/submit for timed text.

Copy and run

Replace YOUR_API_KEY with a console key. POST /api/douyin/detail for metadata; for captions, POST /api/transcribe/submit then GET /api/transcribe/{job_id}.

import requests

API_BASE = "https://www.dataspider.ai/api"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

detail = requests.post(
    f"{API_BASE}/douyin/detail",
    headers=HEADERS,
    json={"url": "https://www.douyin.com/video/7123456789012345678"},
)
print(detail.json())

job = requests.post(
    f"{API_BASE}/transcribe/submit",
    headers=HEADERS,
    json={
        "source": {"type": "platform_url", "url": "https://www.douyin.com/video/7123456789012345678"},
        "engine": "paraformer",
        "language": "",
        "enable_speaker": False,
    },
).json()["data"]
print(job)

result = requests.get(f"{API_BASE}/transcribe/{job['job_id']}", headers=HEADERS)
print(result.json())

JSON response

response.json
{
  "code": 200,
  "message": "ok",
  "success": true,
  "data": {
    "aweme_detail": {
      "aweme_id": "7123456789012345678",
      "desc": "示例作品描述",
      "author": {
        "nickname": "示例"
      }
    }
  }
}

What you get

Video data

  • Title, author, description
  • Duration and cover
  • Aweme ID and stats
  • Public URL parsing

Transcription (captions)

  • Submit a Douyin URL to a transcription job
  • Poll the job until the transcript is ready
  • Timed text segments in the response
  • Same transcription APIs as YouTube and TikTok

Other platforms

Ready to integrate?

Create an API key, try a URL in Playground, then wire it into your app.