Douyin User Videos API (by sec_user_id)¶
Overview¶
This API retrieves a list of videos from a Douyin user/channel via the TikHub API, returning aweme_id, description, video URL and share URL.
Pagination is supported via the max_cursor parameter.
Pricing¶
35 credits per request
Fixed cost per request, regardless of the number of videos returned.
Endpoint¶
- URL:
POST https://api.revidapi.com/paid/douyin/user/download - Method:
POST
Request¶
Headers¶
x-api-key: Required (if the API requires authentication). Get your key fromhttps://revidapi.com/.
Query parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
sec_user_id |
string | ✅ | Douyin sec_user_id of the user (taken from the Douyin profile URL) |
max_cursor |
string | ❌ | Pagination cursor; first call send "0" or omit, subsequent calls send the max_cursor returned earlier. Default "0" |
Examples¶
Get first page (20 videos)¶
curl -X POST "https://api.revidapi.com/paid/douyin/user/download?sec_user_id=MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE" \
-H "x-api-key: YOUR_API_KEY"
Get next page (using max_cursor)¶
curl -X POST "https://api.revidapi.com/paid/douyin/user/download?sec_user_id=MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE&max_cursor=1734567890123" \
-H "x-api-key: YOUR_API_KEY"
Response¶
Success Response (200)¶
{
"sec_user_id": "MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE",
"videos": [
{
"aweme_id": "7123456789012345678",
"description": "Video description",
"video_url": "https://.../video.mp4",
"share_url": "https://www.douyin.com/video/7123456789012345678"
}
],
"max_cursor": "1734567890123",
"has_more": true,
"total_fetched": 20
}
Response fields¶
| Field | Type | Description |
|---|---|---|
sec_user_id |
string | sec_user_id sent in the query |
videos |
array | List of videos |
videos[].aweme_id |
string | Douyin video ID |
videos[].description |
string | Video description (from Douyin desc field) |
videos[].video_url |
string | null | Direct video file URL (play/download) returned by backend |
videos[].share_url |
string | null | Public video page URL on www.douyin.com |
max_cursor |
string | int | Cursor for the next page (send back as max_cursor in the next request) |
has_more |
bool | true if there is another page |
total_fetched |
int | Number of videos included in the current response |
Pagination¶
- First call: leave
max_cursorempty or send"0". - Subsequent calls: send the
max_cursorvalue returned by the previous response.
Error Responses¶
| Status | Description |
|---|---|
| 503 | Revidapi not configured – server has not been configured with the required Revidapi credentials/API key |
| 502 | Error from Revidapi backend (details in detail field) or network/invalid parameter error |
Usage Notes¶
- Sec user id: you can extract
sec_user_idfrom the Douyin profile URL in the browser (usually a long value likeMS4wLjAB...). - Combine with Download API: after listing, use
videos[].share_urlas the input URL for the/douyin/downloadendpoint in the Social Download API to download each video. - Limits: Revidapi may limit the number of videos or request rate; for large channels, start with small pages and paginate gradually.
- Stability: if you see frequent 502 errors, consider reducing how often you call the endpoint or adding retries/backoff in your client.