Tiktok Scraper (pay-per-result) avatar

Tiktok Scraper (pay-per-result)

Try for free

Pay $4.00 for 1,000 videos

Go to Store
Tiktok Scraper (pay-per-result)

Tiktok Scraper (pay-per-result)

xtdata/tiktok-scraper
Try for free

Pay $4.00 for 1,000 videos

Get TikTok data fast! Track trending content, popular music videos, top users videos.

Developer
Maintained by Community

Actor Metrics

  • 1 monthly user

  • No reviews yet

  • 1 bookmark

  • >99% runs succeeded

  • Created in Mar 2025

  • Modified 3 days ago

Fast TikTok Scraper (Pay per result)

Apify Actor(https://apify.com/xtdata/tiktok-scraper)

Scrape TikTok videos quickly and efficiently based on your specific needs. This actor supports scraping by search keywords, trending videos, hashtags, user profiles, and music. You only pay for the results you get!

Features

  • Versatile Scraping Types: Choose from SEARCH, TREND, HASHTAG, USER, and MUSIC to target the exact TikTok content you need.
  • Region Targeting: For TREND and SEARCH scraping, specify a target country to get localized results.
  • Keyword-Based Search: Find relevant videos using specific keywords for SEARCH scraping.
  • URL-Based Scraping: Easily scrape videos by providing the URL for hashtags, users, or music.
  • Result Limiting: Set a maxItems limit to control the number of videos scraped per run, helping you manage costs.
  • Unlimited Scraping (with caution): Opt for isUnlimited to attempt to scrape all available videos, but be aware this might be slower and could involve captcha challenges.
  • Search Result Filtering: For SEARCH scraping, sort results by relevance, most liked, or most recent, and filter by publish time.
  • Pay Per Result Pricing: Only pay for the valid video data extracted, offering a cost-effective solution for your TikTok data needs.

Input

You can configure the actor with the following input parameters:

1{
2  "type": "SEARCH",
3  "region": "GB",
4  "url": "",
5  "keywords": [
6    "baby",
7    "fyp",
8    "trend",
9    "hot"
10  ],
11  "maxItems": 20,
12  "isUnlimited": false,
13  "sortType": 0,
14  "publishTime": "ALL_TIME"
15}

Here's a detailed explanation of each field:

  • type (String, Required): The type of scraping to perform. Available options are:
    • SEARCH: Scrape videos based on keywords.
    • TREND: Scrape trending videos in a specific region.
    • HASHTAG: Scrape videos associated with a specific hashtag URL.
    • USER: Scrape videos from a specific user profile URL.
    • MUSIC: Scrape videos using a specific music track URL.
  • region (String, Optional): The 2-character region code for the target country. This is applicable for TREND and SEARCH scraping. See the full list of available region codes in the actor's input schema. Default value is GB.
  • url (String, Optional): The TikTok URL to scrape from. This is used when type is set to HASHTAG, USER, or MUSIC.
  • keywords (Array of Strings, Optional): An array of keywords to use for SEARCH scraping.
  • maxItems (Number, Optional): A soft limit on the maximum number of videos to scrape. The actor will stop when this limit is reached or exceeded. Default value is 20.
  • isUnlimited (Boolean, Optional): If set to true, the actor will attempt to scrape all possible results. This might be slower and could require bypassing captchas. Default value is false.
  • sortType (Number, Optional): The sorting order for SEARCH results. Available options are:
    • 0: Relevance (default)
    • 1: Most liked
    • 2: Most recent
  • publishTime (String, Optional): Filter SEARCH results by their publish time. Available options are: ALL_TIME (default), YESTERDAY, WEEK, MONTH, THREE_MONTH, SIX_MONTH.

Output

The actor outputs a dataset of TikTok video objects. Each object is a JSON dictionary containing a wealth of information about the scraped video. Here's an example of the structure (note that this is a partial view and the full output can be quite extensive):

1[
2  {
3    "added_sound_music_info": {
4      "album": "",
5      "artists":,
6      "audition_duration": 54,
7      "author": "VTV Giai Tri Official",
8      "author_deleted": false,
9      "author_position": null,
10      "avatar_medium": {
11        "height": 720,
12        "uri": "tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d",
13        "url_list": [
14          "[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.webp?x-expires=1683439200&x-signature=Nq4qV8EaKGCuXuy1BNauD7klTH0%3D)",
15          "[https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D](https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/e58bf19abf1c1badb25233ebb772283d.jpeg?x-expires=1683439200&x-signature=x8tIQWWiY3wzNiefIUjhh8g9q9o%3D)"
16        ],
17        "width": 720
18      },
19      // ... more fields related to the music
20      "id": 7229168247013182210,
21      "id_str": "7229168247013182210",
22      "title": "original sound - vtvgiaitriofficial",
23      // ... more music-related fields
24      "video_duration": 54
25    },
26    "anchors": null,
27    "anchors_extras": "",
28    "author": {
29      "accept_private_policy": false,
30      "account_labels": null,
31      // ... many fields related to the author's profile
32      "uid": "6812490744957256705",
33      "unique_id": "vtvgiaitriofficial",
34      "signature": "Mời các bạn tải ứng dụng VTV GiảiTrí để xem trọn bộ phim hay độc quyền",
35      // ... more author-related fields
36      "youtube_channel_id": "UCuJ5k3GndbHnXLYyiIR6Z8Q",
37      "youtube_channel_title": "VTV Giải Trí Official"
38    },
39    "author_user_id": 6812490744957256705,
40    "aweme_acl": {
41      "download_general": {
42        "code": 1,
43        "extra": "101",
44        "mute": false,
45        "show_type": 0,
46        "transcode": 1
47      }
48      // ... more access control list fields
49    },
50    "aweme_id": "7229167805625847041",
51    "aweme_type": 0,
52    "behind_the_song_music_ids": null,
53    "behind_the_song_video_music_ids": null,
54    "bodydance_score": 0,
55    "branded_content_accounts": null,
56    "cc_template_info": {
57      "author_name": "",
58      "clip_count": 0,
59      "desc": "",
60      "duration_milliseconds": 0,
61      "related_music_id": "",
62      "template_id": ""
63    },
64    "cha_list": [
65      {
66        "author": {
67          // ... author info for the challenge
68        },
69        "banner_list": null,
70        "cha_attrs": null,
71        "cha_name": "cuocdoivandepsao",
72        "cid": "1670903934915585",
73        // ... more challenge-related fields
74        "view_count": 0
75      }
76    ],
77    "challenge_position": null,
78    "cmt_swt": false,
79    "collect_stat": 0,
80    "commerce_config_data": null,
81    "commerce_info": {
82      "adv_promotable": false,
83      "auction_ad_invited": false,
84      "with_comment_filter_words": false
85    },
86    "content_desc": "",
87    "content_desc_extra":,
88    "cover_labels": null,
89    "create_time": 1683171893,
90    "desc": "Cô chủ trọ cho thuê căn phòng hết nước chấm thật #Cuocdoivandepsao",
91    "desc_language": "vi",
92    "disable_search_trending_bar": false,
93    "distance": "",
94    "distribute_type": 1,
95    "follow_up_publish_from_id": 0,
96    "geofencing": null,
97    "geofencing_regions": null,
98    "green_screen_materials": null,
99    "group_id": "7228596161530039558",
100    "group_id_list": {
101      "GroupdIdList0": null,
102      "GroupdIdList1": null
103    },
104    "has_vs_entry": false,
105    "have_dashboard": false,
106    "hybrid_label": null,
107    "image_infos": null,
108    "interact_permission": {
109      "allow_adding_to_story": 1,
110      "allow_create_sticker": {
111        "status": 0
112      },
113      "duet": 0,
114      "duet_privacy_setting": 0,
115      "stitch": 0,
116      "stitch_privacy_setting": 0,
117      "upvote": 0
118    },
119    "interaction_stickers": null,
120    "is_ads": false,
121    "is_description_translatable": true,
122    "is_hash_tag": 1,
123    "is_on_this_day": 0,
124    "is_pgcshow": false,
125    "is_preview": 0,
126    "is_relieve": false,
127    "is_text_sticker_translatable": false,
128    "is_top": 0,
129    "is_vr": false,
130    "item_comment_settings": 0,
131    "item_duet": 0,
132    "item_react": 0,
133    "item_stitch": 0,
134    "label_top": {
135      "height": 720,
136      "uri": "tiktok-obj/1598708589477025.PNG",
137      "url_list": [
138        "[https://p16-sg.tiktokcdn.com/obj/tiktok-obj/1598708589477025.PNG](https://p16-sg.tiktokcdn.com/obj/tiktok-obj/1598708589477025.PNG)"
139      ],
140      "width": 720
141    },
142    "label_top_text": null,
143    "long_video": null,
144    "mask_infos":,
145    "misc_info": "{}",
146    "muf_comment_info_v2": null,
147    "music": {
148      "album": "",
149      "artists":
150      // ... (same structure as added_sound_music_info)
151    },
152    "music_begin_time_in_ms": 0,
153    "music_selected_from": "",
154    "music_title_style": 1,
155    "need_trim_step": false,
156    "need_vs_entry": false,
157    "nickname_position": null,
158    "no_selected_music": false,
159    "origin_comment_ids": null,
160    "playlist_blocked": false,
161    "playlist_info": {
162      "index": 6,
163      "item_total": 43,
164      "mix_id": "7220755092813777691",
165      "name": "Cuộc đời vẫn đẹp sao"
166    },
167    "poi_re_tag_signal": 0,
168    "position": null,
169    "prevent_download": false,
170    "products_info": null,
171    "question_list": null,
172    "rate": 12,
173    "reference_tts_voice_ids": null,
174    "reference_voice_filter_ids": null,
175    "region": "VN",
176    "risk_infos": {
177      "content": "",
178      "risk_sink": false,
179      "type": 0,
180      "vote": false,
181      "warn": false
182    },
183    "search_highlight": null,
184    "share_info": {
185      "bool_persist": 0,
186      "now_invitation_card_image_urls": null,
187      "share_desc": "Check out VTV Giai Tri Official's video! #TikTok",
188      "share_desc_info": "TikTok: Make Every Second CountCheck out VTV Giai Tri Official’s video! #TikTok > ",
189      "share_link_desc": "",
190      "share_quote": "",
191      "share_signature_desc": "",
192      "share_signature_url": "",
193      "share_title": "Check out VTV Giai Tri Official’s video! #TikTok > ",
194      "share_title_myself": "",
195      "share_title_other": "",
196      "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](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)",
197      "whatsapp_desc": "Download TikTok and watch more fun videos:"
198    },
199    "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](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)",
200    "sort_label": "",
201    "statistics": {
202      "aweme_id": "7229167805625847041",
203      "collect_count": 743,
204      "comment_count": 183,
205      "digg_count": 25006,
206      "download_count": 0,
207      "forward_count": 0,
208      "lose_comment_count": 0,
209      "lose_count": 0,
210      "play_count": 585709,
211      "share_count": 492,
212      "whatsapp_share_count": 0
213    },
214    "status": {
215      "allow_comment": true,
216      "allow_share": true,
217      "aweme_id": "7229167805625847041",
218      "download_status": 0,
219      "in_reviewing": false,
220      "is_delete": false,
221      "is_prohibited": false,
222      "private_status": 0,
223      "review_result": {
224        "review_status": 0
225      },
226      "reviewed": 1,
227      "self_see": false
228    },
229    "text_extra": [
230      {
231        "end": 66,
232        "hashtag_id": "1670903934915585",
233        "hashtag_name": "cuocdoivandepsao",
234        "is_commerce": false,
235        "sec_uid": "",
236        "start": 49,
237        "type": 1,
238        "user_id": ""
239      }
240    ],
241    "text_sticker_major_lang": "un",
242    "tts_voice_ids": null,
243    "uniqid_position": null,
244    "user_digged": 0,
245    "video": {
246      "CoverTsp": 47,
247      "ai_dynamic_cover": {
248        "uri": "tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895",
249        "url_list": [
250          "[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](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)"
251        ]
252      },
253      "ai_dynamic_cover_bak": {
254        "uri": "tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895",
255        "url_list": [
256          "[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](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)"
257        ]
258      },
259      "animated_cover": {
260        "uri": "tos-alisg-p-0037/ad27d3bd0b00480d860c9e22f87b3ac5_1683171895",
261        "url_list": [
262          "[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](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)"
263        ]
264      },
265      "big_thumbs":,
266      "bit_rate": [
267        {
268          "HDR_bit": "",
269          "HDR_type": "",
270          "bit_rate": 720348,
271          "dub_infos": null,
272          "gear_name": "adapt_540_1",
273          "is_bytevc1": 1,
274          "play_addr": {
275            "data_size": 4919529,
276            "file_cs": "c:0-46577-c445",
277            "file_hash": "9728438cd1b5d434a4f2406088dfcb11",
278            "height": 1024,
279            "uri": "v10025g50000ch9ik0jc77ub16qqnnjg",
280            "url_key": "v10025g50000ch9ik0jc77ub16qqnnjg_bytevc1_540p_720348",
281            "url_list": [
282              "[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://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)",
283              "[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://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)",
284              "[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](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)"
285            ],
286            "width": 576
287          },
288          "quality_type": 28
289        }
290        // ... more bit rate information
291      ],
292      "cdn_url_expired": 0,
293      "cla_info": {
294        "caption_infos": [
295          {
296// ... caption information

Key takeaways from the example output:

  • The output is a list of dictionaries (JSON objects).
  • Each video object contains a wide array of nested information.
  • You'll find details about the music used (added_sound_music_info and music).
  • Comprehensive information about the video author is available under the author key.
  • The aweme_id uniquely identifies the video.
  • Information about challenges associated with the video is in the cha_list.
  • The main video description is in the desc field.
  • The statistics field provides counts for likes, comments, shares, plays, etc.
  • The actual video URLs in different resolutions and formats are within the nested video field, specifically under bit_rate and play_addr.
  • Hashtags used in the description are available in the text_extra array.

Pricing: You will be charged based on the number of video results successfully extracted. Please refer to the Apify pricing page for detailed information on the cost per result for this actor.

How to Use This Actor

  1. Go to the TikTok Scraper page on the Apify platform.
  2. Click the "Try for free" button.
  3. Configure the input parameters according to your scraping needs. For example, to scrape trending videos in the US, set type to TREND and region to US.
  4. Click the "Start" button to run the actor.
  5. Once the actor has finished running, navigate to the "Dataset" tab to view and download your results in various formats (JSON, CSV, etc.).

Example Usage

To scrape the top 50 most recent videos with the keyword "cat":

1{
2  "type": "SEARCH",
3  "keywords": [
4    "cat"
5  ],
6  "sortType": 2,
7  "maxItems": 50
8}

To scrape all videos from the user "@tiktok":

1{
2  "type": "USER",
3  "url": "[https://www.tiktok.com/@tiktok](https://www.tiktok.com/@tiktok)",
4  "isUnlimited": true
5}

Support and Contact

If you have any questions or need assistance, please don't hesitate to contact the developer or the Apify support team.

🎹️ Fast TikTok API📹️ TikTok Trend API🔍️ TikTok Search API
🧛️ TikTok User API🧛️ TikTok User Info API#️ TikTok Hashtag API
🛍️ TikTok Shop API👤️ TikTok Followers API⚡️ TikTok Scraper (pay-per-result)
💬 TikTok Comment API🎶 TikTok Music API🎶 TikTok Music Trend API