# TikTok Profile Videos API (`novi/tiktok-user-api`) Actor

Scrape TikTok Profile feeds with NO watermarks! Get video URLs, descriptions, music, stats, and more.  Extract data by username, URL, or User ID.  Control output with a limit. #tiktok #scraper #nowatermark

- **URL**: https://apify.com/novi/tiktok-user-api.md
- **Developed by:** [Novi](https://apify.com/novi) (community)
- **Categories:** Social media, Automation
- **Stats:** 1,551 total users, 148 monthly users, 99.9% runs succeeded, 12 bookmarks
- **User rating**: 1.00 out of 5 stars

## Pricing

from $0.30 / 1,000 dataset items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Introduction

Scrape TikTok user feeds *without watermarks* using this powerful and efficient Apify Actor. This Actor provides an
unofficial API to retrieve data from TikTok user profiles, including videos, music details, and user information.

### Features

- **No Watermarks:** Get direct URLs to videos without TikTok watermarks.
- **Multiple Input Options:**  Fetch data using:
  - TikTok Username (e.g., `@nickiminaj`)
  - TikTok Profile URL (e.g., `https://www.tiktok.com/@nickiminaj`)
  - TikTok User ID (e.g., `6714563164218679553`)
- **Video Data:** Extract comprehensive data for each video, including:
  - Video URL (without watermark)
  - Description
  - Creation Time
  - Music Information (title, author, ID, cover image URLs)
  - Statistics (likes, comments, shares, plays)
  - Associated Hashtags
  - And much more! (See "Output Example" below)
- **User information**: Get user details, like:
  - User Id
  - Unique Id
  - Nickname
  - Avatar
  - Signature
  - ...
- **Limit Control:** Specify the maximum number of posts to retrieve (`limit` parameter).
- **Fast and Efficient:** Optimized for speed and minimal compute unit consumption.
- **Comment data**: Get comments data from specify video, including
  - Comment Id
  - Comment text
  - Comment User
  - Create time
  - Digg Count
  - ...

### Why Use This Actor?

- **Bypass API Limitations:** TikTok's official API is restrictive. This Actor provides a way to access the data you
  need.
- **Content Analysis:** Analyze trends, track competitor activity, and monitor user engagement.
- **Content Creation:**  Gather data to inform your own TikTok content strategy.
- **Research:** Collect data for academic or market research.
- **Automation:** Integrate with other Apify Actors to build complex workflows.

### Input

The Actor accepts the following input options (provided as a JSON object):

#### Main Inputs

| Field        | Type      | Description                                                           | Required | Default          | Example                                 |
|:-------------|:----------|:----------------------------------------------------------------------|:---------|:-----------------|:----------------------------------------|
| `usernames`  | `array`   | List of TikTok usernames (e.g., `["nike", "nickiminaj"]`).            | No       |                  | `["nike"]`                              |
| `userIds`    | `array`   | List of TikTok user IDs (numeric strings, e.g., `["6714563164..."]`). | No       |                  | `["6714563164218679553"]`               |
| `urls`       | `array`   | List of TikTok user URLs (e.g., `["https://www.tiktok.com/@nike"]`).  | No       |                  | `["https://www.tiktok.com/@nickiminaj"]`|
| `limit`      | `integer` | The maximum number of posts to retrieve *per target*. *Minimum: 2*    | Yes      | `20`. Minimum: 2 | `50`                                    |

#### Legacy Inputs (Optional)

| Field      | Type      | Description                                                     | Required | Default | Example                              |
|:-----------|:----------|:----------------------------------------------------------------|:---------|:--------|:-------------------------------------|
| `username` | `string`  | Single TikTok username.                                         | No       |         | `nickiminaj`                         |
| `url`      | `string`  | Single TikTok user profile URL.                                | No       |         | `https://www.tiktok.com/@nickiminaj` |
| `userId`   | `string`  | Single TikTok user ID (numerical string).                       | No       |         | `6714563164218679553`                |

**Important Input Notes:**

- You must provide *at least one* input target (username, URL, or ID).
- All provided targets (across both main and legacy inputs) will be processed uniquely.
- The `limit` parameter is a *soft limit* applied to *each* target individually.
- `usernames` (and the legacy `username`) have the highest priority during user account resolution.
- Ensure `userIds` are provided as *strings*, even though they are numerical.

**Input Example (Multiple Usernames):**

```json
{
  "usernames": ["nike", "nickiminaj"],
  "limit": 50
}
```

**Input Example (using `urls`):**

```json
{
  "urls": [
    "https://www.tiktok.com/@nike",
    "https://www.tiktok.com/@nickiminaj"
  ],
  "limit": 30
}
```

**Input Example (Legacy `username`):**

```json
{
  "username": "nickiminaj",
  "limit": 50
}
```

### Output

The Actor stores the scraped data in the Apify dataset. Each video is stored as a separate item in the dataset. Here's
an example of the output structure for a *single* video (the dataset will contain an array of these objects):

```json
[
  {
    "added_sound_music_info": {
      "album": "",
      "artists": [],
      "audition_duration": 54,
      "author": "VTV Giai Tri Official",
      "author_deleted": false,
      "author_position": null,
      "avatar_medium": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=Nq4qV8EaKGCuXuy1BNauD7klTH0%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D"
        ],
        "width": 720
      },
      "avatar_thumb": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=FHXsU3jZ8YKoyxCWYxnwF3W3o2w%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=AbJ3SuoZHmlN4DCbqkYoVmpbci8%3D"
        ],
        "width": 720
      },
      "binded_challenge_id": 0,
      "can_not_reuse": false,
      "collect_stat": 0,
      "commercial_right_type": 2,
      "cover_large": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=y9%2Fv5Fnzgc6JHvd%2Fu7gW2Pvz6L4%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=7FvoANBrpBQ6BeEnRWZzFg8gCHY%3D"
        ],
        "width": 720
      },
      "cover_medium": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=Nq4qV8EaKGCuXuy1BNauD7klTH0%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D"
        ],
        "width": 720
      },
      "cover_thumb": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=FHXsU3jZ8YKoyxCWYxnwF3W3o2w%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=AbJ3SuoZHmlN4DCbqkYoVmpbci8%3D"
        ],
        "width": 720
      },
      "dmv_auto_show": false,
      "duration": 54,
      "duration_high_precision": {
        "audition_duration_precision": 54.7,
        "duration_precision": 54.7,
        "shoot_duration_precision": 54.7,
        "video_duration_precision": 54.7
      },
      "external_song_info": [],
      "extra": "{\"aed_music_dur\":1,\"beats\":{},\"can_read\":true,\"can_reuse\":true,\"erase_type\":0,\"erase_uid\":0,\"from_user_id\":0,\"has_edited\":0,\"is_ugc_mapping\":false,\"is_used\":0,\"owner_id\":6812490744957256705,\"resource_status\":0,\"review_unshelve_reason\":0,\"reviewed\":0,\"schedule_search_time\":0}",
      "id": 7229168247013182210,
      "id_str": "7229168247013182210",
      "is_audio_url_with_cookie": false,
      "is_author_artist": false,
      "is_commerce_music": true,
      "is_matched_metadata": false,
      "is_original": false,
      "is_original_sound": true,
      "is_pgc": false,
      "is_play_music": false,
      "is_shooting_allow": true,
      "lyric_short_position": null,
      "mid": "7229168247013182210",
      "multi_bit_rate_play_info": null,
      "mute_share": false,
      "offline_desc": "",
      "owner_handle": "vtvgiaitriofficial",
      "owner_id": "6812490744957256705",
      "owner_nickname": "VTV Giai Tri Official",
      "play_url": {
        "height": 720,
        "uri": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tiktok-obj/7229168238650166018.mp3",
        "url_list": [
          "https://sf16-ies-music-sg.tiktokcdn.com/obj/tiktok-obj/7229168238650166018.mp3"
        ],
        "width": 720
      },
      "position": null,
      "prevent_download": false,
      "preview_end_time": 0,
      "preview_start_time": 0,
      "recommend_status": 100,
      "search_highlight": null,
      "sec_uid": "MS4wLjABAAAAcmWx88_xRFU57rY2YUYFPBarAgam7vOnfxR-TvpyfvKtkFEAsihLpdILoRLvqYjV",
      "shoot_duration": 54,
      "source_platform": 24,
      "status": 1,
      "tag_list": null,
      "title": "original sound - vtvgiaitriofficial",
      "tt_to_dsp_song_infos": null,
      "user_count": 0,
      "video_duration": 54
    },
    "anchors": null,
    "anchors_extras": "",
    "author": {
      "accept_private_policy": false,
      "account_labels": null,
      "account_region": "",
      "ad_cover_url": null,
      "advance_feature_item_order": null,
      "advanced_feature_info": null,
      "apple_account": 0,
      "authority_status": 0,
      "avatar_168x168": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d~c5_168x168.webp?x-expires=1683439200&x-signature=EZgY2zBsY%2FsguEcz5u9%2FZsZ78f8%3D",
          "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d~c5_168x168.jpeg?x-expires=1683439200&x-signature=pYatTidlUIwOx%2Bf6w99kydOl%2Fss%3D"
        ],
        "width": 720
      },
      "avatar_300x300": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d~c5_300x300.webp?x-expires=1683439200&x-signature=8%2BSgQSGrkVrU9GhImQQMSDnKu5w%3D",
          "https://p16-sign-sg.tiktokcdn.com/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d~c5_300x300.jpeg?x-expires=1683439200&x-signature=Dpu9ST3GbZxtmhGvEWXtOQG7VX4%3D"
        ],
        "width": 720
      },
      "avatar_larger": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=y9%2Fv5Fnzgc6JHvd%2Fu7gW2Pvz6L4%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=7FvoANBrpBQ6BeEnRWZzFg8gCHY%3D"
        ],
        "width": 720
      },
      "avatar_medium": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=Nq4qV8EaKGCuXuy1BNauD7klTH0%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D"
        ],
        "width": 720
      },
      "avatar_thumb": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=FHXsU3jZ8YKoyxCWYxnwF3W3o2w%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=AbJ3SuoZHmlN4DCbqkYoVmpbci8%3D"
        ],
        "width": 720
      },
      "avatar_uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
      "aweme_count": 0,
      "bind_phone": "",
      "bold_fields": null,
      "can_message_follow_status_list": null,
      "can_set_geofencing": null,
      "cha_list": null,
      "comment_filter_status": 1,
      "comment_setting": 0,
      "commerce_user_level": 0,
      "cover_url": [
        {
          "height": 720,
          "uri": "musically-maliva-obj/1612555907887110",
          "url_list": [
            "https://p16-amd-va.tiktokcdn.com/obj/musically-maliva-obj/1612555907887110"
          ],
          "width": 720
        }
      ],
      "create_time": 0,
      "custom_verify": "Verified account",
      "cv_level": "",
      "download_prompt_ts": 0,
      "download_setting": 3,
      "duet_setting": 0,
      "enterprise_verify_reason": "",
      "events": null,
      "favoriting_count": 0,
      "fb_expire_time": 0,
      "follow_status": 0,
      "follower_count": 0,
      "follower_status": 0,
      "followers_detail": null,
      "following_count": 0,
      "friends_status": 0,
      "gender": 0,
      "geofencing": null,
      "google_account": "",
      "has_email": false,
      "has_facebook_token": false,
      "has_insights": false,
      "has_orders": false,
      "has_twitter_token": false,
      "has_youtube_token": false,
      "hide_search": false,
      "homepage_bottom_toast": null,
      "ins_id": "",
      "is_ad_fake": false,
      "is_block": false,
      "is_discipline_member": false,
      "is_phone_binded": false,
      "is_star": false,
      "item_list": null,
      "language": "en",
      "live_agreement": 0,
      "live_commerce": false,
      "live_verify": 0,
      "mention_status": 1,
      "mutual_relation_avatars": null,
      "need_points": null,
      "need_recommend": 0,
      "nickname": "VTV Giai Tri Official",
      "platform_sync_info": null,
      "prevent_download": false,
      "react_setting": 0,
      "region": "VN",
      "relative_users": null,
      "room_id": 0,
      "search_highlight": null,
      "sec_uid": "MS4wLjABAAAAcmWx88_xRFU57rY2YUYFPBarAgam7vOnfxR-TvpyfvKtkFEAsihLpdILoRLvqYjV",
      "secret": 0,
      "share_info": {
        "now_invitation_card_image_urls": null,
        "share_desc": "",
        "share_desc_info": "",
        "share_qrcode_url": {
          "height": 720,
          "uri": "",
          "url_list": [],
          "width": 720
        },
        "share_title": "",
        "share_title_myself": "",
        "share_title_other": "",
        "share_url": ""
      },
      "share_qrcode_uri": "",
      "shield_comment_notice": 0,
      "shield_digg_notice": 0,
      "shield_edit_field_info": null,
      "shield_follow_notice": 0,
      "short_id": "0",
      "show_image_bubble": false,
      "signature": "Mời các bạn tải ứng dụng VTV GiảiTrí để xem trọn bộ phim hay độc quyền",
      "special_account": {
        "special_account_list": null
      },
      "special_lock": 1,
      "status": 1,
      "stitch_setting": 0,
      "total_favorited": 0,
      "tw_expire_time": 0,
      "twitter_id": "",
      "twitter_name": "",
      "type_label": null,
      "uid": "6812490744957256705",
      "unique_id": "vtvgiaitriofficial",
      "unique_id_modify_time": 1683353131,
      "user_canceled": false,
      "user_mode": 1,
      "user_period": 0,
      "user_profile_guide": null,
      "user_rate": 1,
      "user_tags": null,
      "verification_type": 0,
      "verify_info": "",
      "video_icon": {
        "height": 720,
        "uri": "",
        "url_list": [],
        "width": 720
      },
      "white_cover_url": null,
      "with_commerce_entry": false,
      "with_shop_entry": false,
      "youtube_channel_id": "UCuJ5k3GndbHnXLYyiIR6Z8Q",
      "youtube_channel_title": "VTV Giải Trí Official",
      "youtube_expire_time": 0
    },
    "author_user_id": 6812490744957256705,
    "aweme_acl": {
      "download_general": {
        "code": 1,
        "extra": "101",
        "mute": false,
        "show_type": 0,
        "transcode": 1
      },
      "download_mask_panel": {
        "code": 1,
        "extra": "101",
        "mute": false,
        "show_type": 0,
        "transcode": 1
      },
      "platform_list": null,
      "share_general": {
        "code": 1,
        "extra": "101",
        "mute": false,
        "show_type": 1,
        "toast_msg": "This action isn't allowed for this post",
        "transcode": 1
      },
      "share_list_status": 0
    },
    "aweme_id": "7229167805625847041",
    "aweme_type": 0,
    "behind_the_song_music_ids": null,
    "behind_the_song_video_music_ids": null,
    "bodydance_score": 0,
    "branded_content_accounts": null,
    "cc_template_info": {
      "author_name": "",
      "clip_count": 0,
      "desc": "",
      "duration_milliseconds": 0,
      "related_music_id": "",
      "template_id": ""
    },
    "cha_list": [
      {
        "author": {
          "account_labels": null,
          "ad_cover_url": null,
          "advance_feature_item_order": null,
          "advanced_feature_info": null,
          "bold_fields": null,
          "can_message_follow_status_list": null,
          "can_set_geofencing": null,
          "cha_list": null,
          "cover_url": null,
          "events": null,
          "followers_detail": null,
          "geofencing": null,
          "homepage_bottom_toast": null,
          "item_list": null,
          "mutual_relation_avatars": null,
          "need_points": null,
          "platform_sync_info": null,
          "relative_users": null,
          "search_highlight": null,
          "shield_edit_field_info": null,
          "type_label": null,
          "user_profile_guide": null,
          "user_tags": null,
          "white_cover_url": null
        },
        "banner_list": null,
        "cha_attrs": null,
        "cha_name": "cuocdoivandepsao",
        "cid": "1670903934915585",
        "collect_stat": 0,
        "connect_music": [],
        "desc": "",
        "extra_attr": {
          "is_live": false
        },
        "hashtag_profile": "",
        "is_challenge": 0,
        "is_commerce": false,
        "is_pgcshow": false,
        "schema": "aweme://aweme/challenge/detail?cid=1670903934915585",
        "search_highlight": null,
        "share_info": {
          "bool_persist": 0,
          "now_invitation_card_image_urls": null,
          "share_desc": "Check out #cuocdoivandepsao on TikTok!",
          "share_desc_info": "Check out #cuocdoivandepsao on TikTok!",
          "share_quote": "",
          "share_signature_desc": "",
          "share_signature_url": "",
          "share_title": "It is a becoming a big trend on TikTok now! Click here: cuocdoivandepsao",
          "share_title_myself": "",
          "share_title_other": "",
          "share_url": "https://www.tiktok.com/tag/cuocdoivandepsao?_r=1&name=cuocdoivandepsao&u_code=0&_d=e7km4e8ee8j7d2&share_challenge_id=1670903934915585&sharer_language=en&source=h5_m"
        },
        "show_items": null,
        "sub_type": 0,
        "type": 1,
        "use_count": 0,
        "user_count": 0,
        "view_count": 0
      }
    ],
    "challenge_position": null,
    "cmt_swt": false,
    "collect_stat": 0,
    "commerce_config_data": null,
    "commerce_info": {
      "adv_promotable": false,
      "auction_ad_invited": false,
      "with_comment_filter_words": false
    },
    "content_desc": "",
    "content_desc_extra": [],
    "cover_labels": null,
    "create_time": 1683171893,
    "desc": "Cô chủ trọ cho thuê căn phòng hết nước chấm thật #Cuocdoivandepsao",
    "desc_language": "vi",
    "disable_search_trending_bar": false,
    "distance": "",
    "distribute_type": 1,
    "follow_up_publish_from_id": 0,
    "geofencing": null,
    "geofencing_regions": null,
    "green_screen_materials": null,
    "group_id": "7228596161530039558",
    "group_id_list": {
      "GroupdIdList0": null,
      "GroupdIdList1": null
    },
    "has_vs_entry": false,
    "have_dashboard": false,
    "hybrid_label": null,
    "image_infos": null,
    "interact_permission": {
      "allow_adding_to_story": 1,
      "allow_create_sticker": {
        "status": 0
      },
      "duet": 0,
      "duet_privacy_setting": 0,
      "stitch": 0,
      "stitch_privacy_setting": 0,
      "upvote": 0
    },
    "interaction_stickers": null,
    "is_ads": false,
    "is_description_translatable": true,
    "is_hash_tag": 1,
    "is_on_this_day": 0,
    "is_pgcshow": false,
    "is_preview": 0,
    "is_relieve": false,
    "is_text_sticker_translatable": false,
    "is_top": 0,
    "is_vr": false,
    "item_comment_settings": 0,
    "item_duet": 0,
    "item_react": 0,
    "item_stitch": 0,
    "label_top": {
      "height": 720,
      "uri": "tiktok-obj/1598708589477025.PNG",
      "url_list": [
        "https://p16-sg.tiktokcdn.com/obj/tiktok-obj/1598708589477025.PNG"
      ],
      "width": 720
    },
    "label_top_text": null,
    "long_video": null,
    "mask_infos": [],
    "misc_info": "{}",
    "muf_comment_info_v2": null,
    "music": {
      "album": "",
      "artists": [],
      "audition_duration": 54,
      "author": "VTV Giai Tri Official",
      "author_deleted": false,
      "author_position": null,
      "avatar_medium": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=Nq4qV8EaKGCuXuy1BNauD7klTH0%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D"
        ],
        "width": 720
      },
      "avatar_thumb": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=FHXsU3jZ8YKoyxCWYxnwF3W3o2w%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=AbJ3SuoZHmlN4DCbqkYoVmpbci8%3D"
        ],
        "width": 720
      },
      "binded_challenge_id": 0,
      "can_not_reuse": false,
      "collect_stat": 0,
      "commercial_right_type": 2,
      "cover_large": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=y9%2Fv5Fnzgc6JHvd%2Fu7gW2Pvz6L4%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/1080x1080/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=7FvoANBrpBQ6BeEnRWZzFg8gCHY%3D"
        ],
        "width": 720
      },
      "cover_medium": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=Nq4qV8EaKGCuXuy1BNauD7klTH0%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D"
        ],
        "width": 720
      },
      "cover_thumb": {
        "height": 720,
        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.webp?x-expires=1683439200&x-signature=FHXsU3jZ8YKoyxCWYxnwF3W3o2w%3D",
          "https://p16-sign-sg.tiktokcdn.com/aweme/100x100/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=AbJ3SuoZHmlN4DCbqkYoVmpbci8%3D"
        ],
        "width": 720
      },
      "dmv_auto_show": false,
      "duration": 54,
      "duration_high_precision": {
        "audition_duration_precision": 54.7,
        "duration_precision": 54.7,
        "shoot_duration_precision": 54.7,
        "video_duration_precision": 54.7
      },
      "external_song_info": [],
      "extra": "{\"aed_music_dur\":1,\"beats\":{},\"can_read\":true,\"can_reuse\":true,\"erase_type\":0,\"erase_uid\":0,\"from_user_id\":0,\"has_edited\":0,\"is_ugc_mapping\":false,\"is_used\":0,\"owner_id\":6812490744957256705,\"resource_status\":0,\"review_unshelve_reason\":0,\"reviewed\":0,\"schedule_search_time\":0}",
      "id": 7229168247013182210,
      "id_str": "7229168247013182210",
      "is_audio_url_with_cookie": false,
      "is_author_artist": false,
      "is_commerce_music": true,
      "is_matched_metadata": false,
      "is_original": false,
      "is_original_sound": true,
      "is_pgc": false,
      "is_play_music": false,
      "is_shooting_allow": true,
      "lyric_short_position": null,
      "mid": "7229168247013182210",
      "multi_bit_rate_play_info": null,
      "mute_share": false,
      "offline_desc": "",
      "owner_handle": "vtvgiaitriofficial",
      "owner_id": "6812490744957256705",
      "owner_nickname": "VTV Giai Tri Official",
      "play_url": {
        "height": 720,
        "uri": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tiktok-obj/7229168238650166018.mp3",
        "url_list": [
          "https://sf16-ies-music-sg.tiktokcdn.com/obj/tiktok-obj/7229168238650166018.mp3"
        ],
        "width": 720
      },
      "position": null,
      "prevent_download": false,
      "preview_end_time": 0,
      "preview_start_time": 0,
      "recommend_status": 100,
      "search_highlight": null,
      "sec_uid": "MS4wLjABAAAAcmWx88_xRFU57rY2YUYFPBarAgam7vOnfxR-TvpyfvKtkFEAsihLpdILoRLvqYjV",
      "shoot_duration": 54,
      "source_platform": 24,
      "status": 1,
      "tag_list": null,
      "title": "original sound - vtvgiaitriofficial",
      "tt_to_dsp_song_infos": null,
      "user_count": 0,
      "video_duration": 54
    },
    "music_begin_time_in_ms": 0,
    "music_selected_from": "",
    "music_title_style": 1,
    "need_trim_step": false,
    "need_vs_entry": false,
    "nickname_position": null,
    "no_selected_music": false,
    "origin_comment_ids": null,
    "playlist_blocked": false,
    "playlist_info": {
      "index": 6,
      "item_total": 43,
      "mix_id": "7220755092813777691",
      "name": "Cuộc đời vẫn đẹp sao"
    },
    "poi_re_tag_signal": 0,
    "position": null,
    "prevent_download": false,
    "products_info": null,
    "question_list": null,
    "rate": 12,
    "reference_tts_voice_ids": null,
    "reference_voice_filter_ids": null,
    "region": "VN",
    "risk_infos": {
      "content": "",
      "risk_sink": false,
      "type": 0,
      "vote": false,
      "warn": false
    },
    "search_highlight": null,
    "share_info": {
      "bool_persist": 0,
      "now_invitation_card_image_urls": null,
      "share_desc": "Check out VTV Giai Tri Official's video! #TikTok",
      "share_desc_info": "TikTok: Make Every Second CountCheck out VTV Giai Tri Official’s video! #TikTok > ",
      "share_link_desc": "",
      "share_quote": "",
      "share_signature_desc": "",
      "share_signature_url": "",
      "share_title": "Check out VTV Giai Tri Official’s video! #TikTok > ",
      "share_title_myself": "",
      "share_title_other": "",
      "share_url": "https://www.tiktok.com/@vtvgiaitriofficial/video/7229167805625847041?_r=1&u_code=0&preview_pb=0&sharer_language=en&_d=e7km4e8ee8j7d2&share_item_id=7229167805625847041&source=h5_m",
      "whatsapp_desc": "Download TikTok and watch more fun videos:"
    },
    "share_url": "https://www.tiktok.com/@vtvgiaitriofficial/video/7229167805625847041?_r=1&u_code=0&preview_pb=0&sharer_language=en&_d=e7km4e8ee8j7d2&share_item_id=7229167805625847041&source=h5_m",
    "sort_label": "",
    "statistics": {
      "aweme_id": "7229167805625847041",
      "collect_count": 743,
      "comment_count": 183,
      "digg_count": 25006,
      "download_count": 0,
      "forward_count": 0,
      "lose_comment_count": 0,
      "lose_count": 0,
      "play_count": 585709,
      "share_count": 492,
      "whatsapp_share_count": 0
    },
    "status": {
      "allow_comment": true,
      "allow_share": true,
      "aweme_id": "7229167805625847041",
      "download_status": 0,
      "in_reviewing": false,
      "is_delete": false,
      "is_prohibited": false,
      "private_status": 0,
      "review_result": {
        "review_status": 0
      },
      "reviewed": 1,
      "self_see": false
    },
    "text_extra": [
      {
        "end": 66,
        "hashtag_id": "1670903934915585",
        "hashtag_name": "cuocdoivandepsao",
        "is_commerce": false,
        "sec_uid": "",
        "start": 49,
        "type": 1,
        "user_id": ""
      }
    ],
    "text_sticker_major_lang": "un",
    "tts_voice_ids": null,
    "uniqid_position": null,
    "user_digged": 0,
    "video": {
      "CoverTsp": 47,
      "ai_dynamic_cover": {
        "uri": "tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895?x-expires=1683439200&x-signature=8Dfb9ZLKsy0h2BMmAKuEOpwyl7w%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=dynamic_cover&l=20230506060531760EDB96FF74C50AB8A9"
        ]
      },
      "ai_dynamic_cover_bak": {
        "uri": "tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895?x-expires=1683439200&x-signature=8Dfb9ZLKsy0h2BMmAKuEOpwyl7w%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=dynamic_cover&l=20230506060531760EDB96FF74C50AB8A9"
        ]
      },
      "animated_cover": {
        "uri": "tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895?x-expires=1683439200&x-signature=8Dfb9ZLKsy0h2BMmAKuEOpwyl7w%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=dynamic_cover&l=20230506060531760EDB96FF74C50AB8A9"
        ]
      },
      "big_thumbs": [],
      "bit_rate": [
        {
          "HDR_bit": "",
          "HDR_type": "",
          "bit_rate": 720348,
          "dub_infos": null,
          "gear_name": "adapt_540_1",
          "is_bytevc1": 1,
          "play_addr": {
            "data_size": 4919529,
            "file_cs": "c:0-46577-c445",
            "file_hash": "9728438cd1b5d434a4f2406088dfcb11",
            "height": 1024,
            "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
            "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_bytevc1_540p_720348",
            "url_list": [
              "https://v19.tiktokcdn-us.com/422f47cb49d0e1ec92bc607815c11cfb/645642c1/video/tos/alisg/tos-alisg-pve-0037/oQRhWKrsICLBo5KA3TBzNAnKUBAfQsZwEpxyEb/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1406&bt=703&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=11&rc=O2k5PGc2NWk7O2g0Zzc7M0BpanF0OWU6ZjNsazMzODgzNEBeLmIyLTQ2NmAxMy40Xl40YSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
              "https://v16m.tiktokcdn-us.com/ea4a3ce313ed5bc55ba0850bad2aa0af/645642c1/video/tos/alisg/tos-alisg-pve-0037/oQRhWKrsICLBo5KA3TBzNAnKUBAfQsZwEpxyEb/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1406&bt=703&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=11&rc=O2k5PGc2NWk7O2g0Zzc7M0BpanF0OWU6ZjNsazMzODgzNEBeLmIyLTQ2NmAxMy40Xl40YSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
              "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&is_play_url=1&source=PackSourceEnum_CHALLENGE_AWEME&file_id=70a8a47d116e48c89f92730d59e61fa8"
            ],
            "width": 576
          },
          "quality_type": 28
        },
        {
          "HDR_bit": "",
          "HDR_type": "",
          "bit_rate": 433533,
          "dub_infos": null,
          "gear_name": "lower_540_1",
          "is_bytevc1": 1,
          "play_addr": {
            "data_size": 2960761,
            "file_cs": "c:0-46577-3aaa",
            "file_hash": "43bb5f5414642afe67a889a0676d4f40",
            "height": 1024,
            "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
            "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_bytevc1_540p_433533",
            "url_list": [
              "https://v19.tiktokcdn-us.com/41d17fc3ea00730d9fc0bc04843557fa/645642c1/video/tos/alisg/tos-alisg-pve-0037/oUaBohneeFvCUVmgpVbOABXCEWtQIQgbgky2XD/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=846&bt=423&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=4&rc=O2hnOzlpOjNnZ2dnODZpaUBpanF0OWU6ZjNsazMzODgzNEBhMzQ0LTJhXjUxLjZiNS4xYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
              "https://v16m.tiktokcdn-us.com/f9b6970b26af4979e5554971270e3a8a/645642c1/video/tos/alisg/tos-alisg-pve-0037/oUaBohneeFvCUVmgpVbOABXCEWtQIQgbgky2XD/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=846&bt=423&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=4&rc=O2hnOzlpOjNnZ2dnODZpaUBpanF0OWU6ZjNsazMzODgzNEBhMzQ0LTJhXjUxLjZiNS4xYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
              "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&is_play_url=1&source=PackSourceEnum_CHALLENGE_AWEME&file_id=4f1f83e59d1d4d8da0d75f06787d6ed8"
            ],
            "width": 576
          },
          "quality_type": 24
        },
        {
          "HDR_bit": "",
          "HDR_type": "",
          "bit_rate": 326575,
          "dub_infos": null,
          "gear_name": "lowest_540_1",
          "is_bytevc1": 1,
          "play_addr": {
            "data_size": 2230308,
            "file_cs": "c:0-46577-dc2c",
            "file_hash": "92afe33b36efdff5e79191a20bc47b58",
            "height": 1024,
            "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
            "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_bytevc1_540p_326575",
            "url_list": [
              "https://v19.tiktokcdn-us.com/b686f9936cb312033f0f3981868a71d6/645642c1/video/tos/alisg/tos-alisg-pve-0037/o0WTB3wKNAIYxUJNQzKybwAnKhAofBIrCZCEEL/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=636&bt=318&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=5&rc=NWhlZDY6M2Y2ZTVnOmc0ZkBpanF0OWU6ZjNsazMzODgzNEAzYi9iXl8vNi0xNC82MTQxYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
              "https://v16m.tiktokcdn-us.com/ec78270a56e33141e23bc7071b410ab9/645642c1/video/tos/alisg/tos-alisg-pve-0037/o0WTB3wKNAIYxUJNQzKybwAnKhAofBIrCZCEEL/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=636&bt=318&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=5&rc=NWhlZDY6M2Y2ZTVnOmc0ZkBpanF0OWU6ZjNsazMzODgzNEAzYi9iXl8vNi0xNC82MTQxYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
              "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&is_play_url=1&source=PackSourceEnum_CHALLENGE_AWEME&file_id=4c714d972d724b039c20b7a3ea2bee62"
            ],
            "width": 576
          },
          "quality_type": 25
        }
      ],
      "cdn_url_expired": 0,
      "cla_info": {
        "caption_infos": [
          {
            "caption_format": "webvtt",
            "cla_subtitle_id": 7229169230560692994,
            "complaint_id": 7229169230560692994,
            "expire": 1683374785,
            "is_auto_generated": true,
            "is_original_caption": true,
            "lang": "vie-VN",
            "language_code": "vi",
            "language_id": 10,
            "sub_id": -1289841497,
            "sub_version": "1",
            "translator_id": 0,
            "url": "https://v19.tiktokcdn-us.com/01f200890f3cb8c887707356082a3871/645642c1/video/tos/alisg/tos-alisg-pv-0037/4f2d9320a67e422e91c906d5337bf903/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=16336&bt=8168&cs=0&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=13&rc=anF0OWU6ZjNsazMzODgzNEBpanF0OWU6ZjNsazMzODgzNEBna24ucjRnaDZgLS1kLy1zYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9"
          }
        ],
        "captions_type": 1,
        "creator_edited_caption_id": 0,
        "enable_auto_caption": 0,
        "has_original_audio": 0,
        "hide_original_caption": false,
        "original_language_info": {
          "can_translate_realtime": true,
          "is_burnin_caption": false,
          "lang": "vie-VN",
          "language_code": "vi",
          "language_id": 10,
          "original_caption_type": 1
        },
        "vertical_positions": null
      },
      "cover": {
        "height": 720,
        "uri": "tos-alisg-p-0037/e9f6d5a15ef4490d95a3c0229c6be3b1_1683171894",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/e9f6d5a15ef4490d95a3c0229c6be3b1_1683171894?x-expires=1683439200&x-signature=apgWeewzC2eGSiqMHuoKkU1WBLY%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=cover&l=20230506060531760EDB96FF74C50AB8A9"
        ],
        "width": 720
      },
      "cover_is_custom": true,
      "download_addr": {
        "data_size": 9472112,
        "height": 720,
        "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
        "url_list": [
          "https://v19.tiktokcdn-us.com/9f47f3002207837dc9085f8832348578/645642c1/video/tos/alisg/tos-alisg-pve-0037/ogbKkQJnyJAYv3WTALfhwUzBBKAKyACEICNroZ/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2708&bt=1354&cs=0&ds=3&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=0&rc=PGc3ZjQ2M2dlNjg8aWg0ZkBpanF0OWU6ZjNsazMzODgzNEBfMGIyLjIyNjIxMmMtNWAxYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://v16m.tiktokcdn-us.com/71ed404409cee1d7fbe4e8e4598a4465/645642c1/video/tos/alisg/tos-alisg-pve-0037/ogbKkQJnyJAYv3WTALfhwUzBBKAKyACEICNroZ/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2708&bt=1354&cs=0&ds=3&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=0&rc=PGc3ZjQ2M2dlNjg8aWg0ZkBpanF0OWU6ZjNsazMzODgzNEBfMGIyLjIyNjIxMmMtNWAxYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&watermark=1&logo_name=tiktok&source=CHALLENGE_AWEME&file_id=4cc18e0ff955435b9d5053115ce43db9"
        ],
        "width": 720
      },
      "duration": 54635,
      "dynamic_cover": {
        "height": 720,
        "uri": "tos-alisg-p-0037/7470f3cebdb5428894c22558722f2750_1683171896",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/7470f3cebdb5428894c22558722f2750_1683171896?x-expires=1683439200&x-signature=7CfAUZzdG7lTZBB9jXgK2SnoCGo%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=dynamic_cover&l=20230506060531760EDB96FF74C50AB8A9"
        ],
        "width": 720
      },
      "has_watermark": true,
      "height": 1024,
      "is_bytevc1": 0,
      "is_callback": true,
      "meta": "{\"LoudnessRange\":\"8.9\",\"LoudnessRangeEnd\":\"-9\",\"LoudnessRangeStart\":\"-17.9\",\"MaximumMomentaryLoudness\":\"-4.2\",\"MaximumShortTermLoudness\":\"-8.3\",\"Version\":\"1\",\"loudness\":\"-12.4\",\"peak\":\"0.75858\",\"qprf\":\"1.000\",\"sr_score\":\"1.000\"}",
      "misc_download_addrs": "{\"suffix_scene\":{\"uri\":\"v10025g50000ch9ik0jc77ub16qqnnjg\",\"url_list\":[\"https://v19.tiktokcdn-us.com/84b6a5e4bc24314d0b30553f8937ac19/645642c1/video/tos/alisg/tos-alisg-pve-0037/osUKzNLBBhcoEFs3CQywfAbTIiKZA9rntAJIWr/?a=1233\&ch=0\&cr=3\&dr=0\&lr=all\&cd=0%7C0%7C0%7C3\&cv=1\&br=2504\&bt=1252\&cs=0\&ds=3\&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~\&mime_type=video_mp4\&qs=0\&rc=OTpnZWRnOWhpaTw0ZjM3ZUBpanF0OWU6ZjNsazMzODgzNEAwMWFgNmNjNS0xMGBhNC42YSNna24ucjRnaDZgLS1kLy1zcw%3D%3D\&l=20230506060531760EDB96FF74C50AB8A9\",\"https://v16m.tiktokcdn-us.com/239021f6857d0872c277054b9083839a/645642c1/video/tos/alisg/tos-alisg-pve-0037/osUKzNLBBhcoEFs3CQywfAbTIiKZA9rntAJIWr/?a=1233\&ch=0\&cr=3\&dr=0\&lr=all\&cd=0%7C0%7C0%7C3\&cv=1\&br=2504\&bt=1252\&cs=0\&ds=3\&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~\&mime_type=video_mp4\&qs=0\&rc=OTpnZWRnOWhpaTw0ZjM3ZUBpanF0OWU6ZjNsazMzODgzNEAwMWFgNmNjNS0xMGBhNC42YSNna24ucjRnaDZgLS1kLy1zcw%3D%3D\&l=20230506060531760EDB96FF74C50AB8A9\",\"https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg\&line=0\&watermark=1\&logo_name=tiktok_end_sonic\&source=CHALLENGE_AWEME\&file_id=9b1470dcc1394f0f8ef6fd9acbdd4736\"],\"width\":720,\"height\":720,\"data_size\":9400177}}",
      "need_set_token": false,
      "origin_cover": {
        "height": 720,
        "uri": "tos-alisg-p-0037/278eaa2b69a14fe5a60023b2d346274f_1683171895",
        "url_list": [
          "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/278eaa2b69a14fe5a60023b2d346274f_1683171895~tplv-tiktokx-360p.webp?x-expires=1683439200&x-signature=cRSpX0ao1fthh1cvt2jJrDvxn8I%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=feed_cover&l=20230506060531760EDB96FF74C50AB8A9",
          "https://p16-sign-sg.tiktokcdn.com/tos-alisg-p-0037/278eaa2b69a14fe5a60023b2d346274f_1683171895~tplv-tiktokx-360p.jpeg?x-expires=1683439200&x-signature=9zK6VcQmZAYacl83EPR3gqv61HM%3D&s=CHALLENGE_AWEME&se=false&sh=&sc=feed_cover&l=20230506060531760EDB96FF74C50AB8A9"
        ],
        "width": 720
      },
      "play_addr": {
        "data_size": 8551288,
        "file_cs": "c:0-45895-c30a",
        "file_hash": "743e48020c822e45589068c0a4b3418a",
        "height": 1024,
        "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
        "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_h264_540p_1252133",
        "url_list": [
          "https://v19.tiktokcdn-us.com/6373f23af037658bc17665c99e337e37/645642c1/video/tos/alisg/tos-alisg-pve-0037/oEZBbKQ5CfrnAAoJWyLBKYwIUhIBNA3zETKj6j/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2444&bt=1222&cs=0&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=0&rc=OmhnaDloZDU8ZGdpPGU3aEBpanF0OWU6ZjNsazMzODgzNEA2Yy9jMF5fX2ExMmJjXl8vYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://v16m.tiktokcdn-us.com/b3c988bb1b3ea317427b66a2e94dbee8/645642c1/video/tos/alisg/tos-alisg-pve-0037/oEZBbKQ5CfrnAAoJWyLBKYwIUhIBNA3zETKj6j/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2444&bt=1222&cs=0&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=0&rc=OmhnaDloZDU8ZGdpPGU3aEBpanF0OWU6ZjNsazMzODgzNEA2Yy9jMF5fX2ExMmJjXl8vYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&is_play_url=1&source=PackSourceEnum_CHALLENGE_AWEME&file_id=2eb4abf9ef5d4ad9b2baae36fe2dfe97"
        ],
        "width": 576
      },
      "play_addr_bytevc1": {
        "data_size": 4919529,
        "file_cs": "c:0-46577-c445",
        "file_hash": "9728438cd1b5d434a4f2406088dfcb11",
        "height": 1024,
        "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
        "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_bytevc1_540p_720348",
        "url_list": [
          "https://v19.tiktokcdn-us.com/422f47cb49d0e1ec92bc607815c11cfb/645642c1/video/tos/alisg/tos-alisg-pve-0037/oQRhWKrsICLBo5KA3TBzNAnKUBAfQsZwEpxyEb/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1406&bt=703&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=11&rc=O2k5PGc2NWk7O2g0Zzc7M0BpanF0OWU6ZjNsazMzODgzNEBeLmIyLTQ2NmAxMy40Xl40YSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://v16m.tiktokcdn-us.com/ea4a3ce313ed5bc55ba0850bad2aa0af/645642c1/video/tos/alisg/tos-alisg-pve-0037/oQRhWKrsICLBo5KA3TBzNAnKUBAfQsZwEpxyEb/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1406&bt=703&cs=2&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=11&rc=O2k5PGc2NWk7O2g0Zzc7M0BpanF0OWU6ZjNsazMzODgzNEBeLmIyLTQ2NmAxMy40Xl40YSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&is_play_url=1&source=PackSourceEnum_CHALLENGE_AWEME&file_id=70a8a47d116e48c89f92730d59e61fa8"
        ],
        "width": 576
      },
      "play_addr_h264": {
        "data_size": 8551288,
        "file_cs": "c:0-45895-c30a",
        "file_hash": "743e48020c822e45589068c0a4b3418a",
        "height": 1024,
        "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
        "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_h264_540p_1252133",
        "url_list": [
          "https://v19.tiktokcdn-us.com/6373f23af037658bc17665c99e337e37/645642c1/video/tos/alisg/tos-alisg-pve-0037/oEZBbKQ5CfrnAAoJWyLBKYwIUhIBNA3zETKj6j/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2444&bt=1222&cs=0&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=0&rc=OmhnaDloZDU8ZGdpPGU3aEBpanF0OWU6ZjNsazMzODgzNEA2Yy9jMF5fX2ExMmJjXl8vYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://v16m.tiktokcdn-us.com/b3c988bb1b3ea317427b66a2e94dbee8/645642c1/video/tos/alisg/tos-alisg-pve-0037/oEZBbKQ5CfrnAAoJWyLBKYwIUhIBNA3zETKj6j/?a=1233&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=2444&bt=1222&cs=0&ds=6&ft=kLx3-yygZGf0PD1.cYyXg9wa5FdavEeC~&mime_type=video_mp4&qs=0&rc=OmhnaDloZDU8ZGdpPGU3aEBpanF0OWU6ZjNsazMzODgzNEA2Yy9jMF5fX2ExMmJjXl8vYSNna24ucjRnaDZgLS1kLy1zcw%3D%3D&l=20230506060531760EDB96FF74C50AB8A9",
          "https://api16-normal-useast5.us.tiktokv.com/aweme/v1/play/?video_id=v10025g50000ch9ik0jc77ub16qqnnjg&line=0&is_play_url=1&source=PackSourceEnum_CHALLENGE_AWEME&file_id=2eb4abf9ef5d4ad9b2baae36fe2dfe97"
        ],
        "width": 576
      },
      "ratio": "540p",
      "source_HDR_type": 0,
      "tags": null,
      "width": 576
    },
    "video_control": {
      "allow_download": true,
      "allow_duet": true,
      "allow_dynamic_wallpaper": true,
      "allow_music": true,
      "allow_react": true,
      "allow_stitch": true,
      "draft_progress_bar": 1,
      "prevent_download_type": 0,
      "share_type": 1,
      "show_progress_bar": 1,
      "timer_status": 1
    },
    "video_labels": [],
    "video_text": [],
    "voice_filter_ids": null,
    "with_promotional_music": false,
    "without_watermark": false
  }
]
```

### 🔍 Scrape any TikTok data you need with dedicated scrapers

If you need to extract other types of data from TikTok, check out our suite of specialized tools. Whether you need
hashtags, search results, profiles, or shop data, we have a solution for you:

| [🎹 Fast TikTok API](https://apify.com/novi/fast-tiktok-api?fpr=7hce1m)              | [📹 TikTok Trend API](https://apify.com/novi/tiktok-trend-api?fpr=7hce1m)         | [🔍 TikTok Search API](https://apify.com/novi/tiktok-search-api?fpr=7hce1m)             |
|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
| [🧛 TikTok User API](https://apify.com/novi/tiktok-user-api?fpr=7hce1m)              | [🧛 TikTok User Info API](https://apify.com/novi/tiktok-user-info-api?fpr=7hce1m) | [#️⃣ TikTok Hashtag API](https://apify.com/novi/tiktok-hashtag-api?fpr=7hce1m)          |
| [🛍️ Ultimate TikTok API](https://apify.com/novi/tiktok-scraper-ultimate?fpr=7hce1m) | [👤 TikTok Followers API](https://apify.com/novi/tiktok-followers-api?fpr=7hce1m) | [⚡ TikTok Scraper (pay-per-result)](https://apify.com/xtdata/tiktok-scraper?fpr=7hce1m) |
| [💬 TikTok Comment API](https://apify.com/novi/tiktok-comment-api?fpr=7hce1m)        | [🎶 TikTok Music API](https://apify.com/novi/tiktok-sound-api?fpr=7hce1m)         | [🎶 TikTok Music Trend API](https://apify.com/novi/tiktok-music-trend-api?fpr=7hce1m)   |
| [🐦 Twitter - X.com Scraper](https://apify.com/xtdata/twitter-x-scraper?fpr=7hce1m)  |                                                                                   |                                                                                         |

# Actor input Schema

## `usernames` (type: `array`):

Username of User to scrap. Username has highest priority. Ex: nike

## `userIds` (type: `array`):

User ID, get from other TikTok API data. Ex: 6714563164218679553

## `urls` (type: `array`):

User URL from TikTok. Ex: https://www.tiktok.com/@nickiminai

## `limit` (type: `integer`):

Soft limit of each userId, username, url. If actual result size >= limit. The scraper will stop.

## `username` (type: `string`):

Username of User to scrap. Username has highest priority. Ex: nike

## `url` (type: `string`):

User URL from TikTok. Ex: https://www.tiktok.com/@nickiminai

## `userId` (type: `string`):

User ID, get from other TikTok API data. Ex: 6714563164218679553

## Actor input object example

```json
{
  "usernames": [
    "nike"
  ],
  "userIds": [
    "6714563164218679553"
  ],
  "limit": 20,
  "username": "nickiminaj"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "nike"
    ],
    "userIds": [
        "6714563164218679553"
    ],
    "username": "nickiminaj"
};

// Run the Actor and wait for it to finish
const run = await client.actor("novi/tiktok-user-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "usernames": ["nike"],
    "userIds": ["6714563164218679553"],
    "username": "nickiminaj",
}

# Run the Actor and wait for it to finish
run = client.actor("novi/tiktok-user-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "nike"
  ],
  "userIds": [
    "6714563164218679553"
  ],
  "username": "nickiminaj"
}' |
apify call novi/tiktok-user-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,novi/tiktok-user-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/NuuzTdDmiVlszIVwB/builds/U0LTPdlFrjSag96Xv/openapi.json
