TikTok Profile Videos Scraper avatar

TikTok Profile Videos Scraper

Pricing

from $1.49 / 1,000 results

Go to Apify Store
TikTok Profile Videos Scraper

TikTok Profile Videos Scraper

TikTok Profile Videos Scraper extracts public videos and photo posts from any TikTok profile, including views, likes, comments, shares, hashtags, mentions, music details, captions, author information, play URLs, and download links for easy data access and analysis.

Pricing

from $1.49 / 1,000 results

Rating

5.0

(1)

Developer

Alpha Scraper

Alpha Scraper

Maintained by Community

Actor stats

0

Bookmarked

26

Total users

1

Monthly active users

10 days ago

Last modified

Security

Limited permissions

Share

TikTok Profile Videos Scraper

The TikTok Profile Videos Scraper collects the public videos and photo posts of any TikTok profile and turns them into clean, structured data. Add one or more usernames or profile URLs, choose how many posts you want, and get every result in a ready-to-use dataset.

Each record includes the caption, publish date, views, likes, comments, shares, saves, hashtags, mentions, music details, video play and download links, cover images, and full author profile information. The TikTok Profile Videos Scraper is built for marketers, analysts, researchers, agencies, and developers who need reliable TikTok video data without copying it by hand.


🔍 TikTok Profile Videos Scraper – Overview

TikTok does not offer a simple way to export a creator's video list with engagement metrics. The TikTok Profile Videos Scraper solves that problem by reading the public profile feed and returning one dataset item per post, newest first.

💡 In short: Paste usernames → set a video limit → click Start → download video data as JSON, CSV, Excel, or through the API.

  • Who it is for: social media managers, influencer marketing teams, brand analysts, data scientists, and content creators.
  • What it solves: manual TikTok research, missing engagement history, and slow competitor tracking.
  • What you get: structured post metadata, video statistics, creator profile metrics, and media URLs.
  • Easiest way to use it: run the TikTok Profile Videos Scraper from the Apify Console with the prefilled example input.

⭐ TikTok Profile Videos Scraper – Key Features

The TikTok Profile Videos Scraper focuses on accurate, complete profile data. Every value comes from TikTok itself; when a field is not provided, the output simply holds null instead of a made-up default.

✅ Key Features Box

  • Scrape multiple TikTok profiles in a single run
  • Accepts usernames, @usernames, and full profile URLs
  • Supports both regular videos and TikTok photo (image) posts
  • Set a per-profile video limit, or use 0 to scrape every available post
  • Returns engagement metrics: plays, likes, comments, shares, saves, and reposts
  • Extracts hashtags, mentions, captions, and language information
  • Includes music/sound metadata and audio play URLs
  • Provides video play, download, H.264, and H.265 (bytevc1) addresses
  • Adds rich creator details such as followers, total likes, bio, and verification
  • Flags pinned, sponsored, AI-generated, and commerce videos
  • Saves a run summary with the status of each profile

📊 TikTok Profile Videos Scraper – What Data You Can Extract

The TikTok Profile Videos Scraper outputs a detailed record for every TikTok post. The table below groups the most useful fields so you can quickly see what data is available.

CategoryFields
🆔 Post identityaweme_id, video_url, share_url, post_type, media_available
📝 Contentdesc, title, text_language, title_language, hashtags, mentions, text_extra, cha_list
🕒 Timingcreate_time, create_time_iso, duration (milliseconds), scraped_at
📈 Statisticsplay_count, digg_count, comment_count, share_count, collect_count, repost_count
👤 Authoruid, unique_id, sec_uid, nickname, signature, bio_link, avatars, verified, follower_count, following_count, total_favorited, aweme_count, and more
🎵 Musicid, title, author, album, duration, is_original, is_copyrighted, play_url, cover images
🎬 Video filevideo_id, width, height, ratio, definition, format, bitrate, play_addr, download_addr, play_addr_h264, play_addr_bytevc1, bit_rate, covers, subtitles, captions
🖼️ Photo postsimage_post with the images and an image_count
🏷️ Flagsis_ads, is_top (pinned), is_ec_video, aigc_label_type, duet_enabled, stitch_enabled, share_enabled, private_item, and more
📍 Extraspoi (location), anchors, effect_stickers, stickers_on_item, video_suggest_words, playlist_id

What do the TikTok Profile Videos Scraper statistics fields mean?

  • play_count – total video views (plays)
  • digg_count – number of likes (hearts)
  • comment_count – number of comments
  • share_count – number of shares
  • collect_count – number of saves/favorites
  • repost_count – number of reposts, when TikTok provides it

🚀 TikTok Profile Videos Scraper – How to Use It

Using the TikTok Profile Videos Scraper takes only a few minutes, even if you have never used Apify before.

  • Step 1: Open the TikTok Profile Videos Scraper in the Apify Console.
  • Step 2: Add one or more usernames or profile URLs in the TikTok Usernames field.
  • Step 3: Set Max Videos per User (default is 10, or 0 for all available videos).
  • Step 4: Keep the recommended residential proxy with the country set to the US.
  • Step 5: Click Start and wait for the TikTok Profile Videos Scraper to finish.
  • Step 6: Open the dataset and export the video data as JSON, CSV, Excel, XML, or HTML.

🧭 How it works: The TikTok Profile Videos Scraper opens each public TikTok profile, reads the creator's details, then pages through the profile's posts from newest to oldest until it reaches your limit or the end of the feed.


🎯 How to scrape all videos from a TikTok profile

To scrape every video a profile exposes, set Max Videos per User to 0. The TikTok Profile Videos Scraper will keep loading pages until TikTok reports there are no more posts.

  • Use a residential proxy for long TikTok profiles with hundreds of videos.
  • Expect fewer results than the profile counter if some videos are private, friends-only, or removed.
  • Check the run summary to see how many posts were returned for each account.

❓ Can you scrape TikTok photo posts and slideshows?

Yes. The TikTok Profile Videos Scraper detects TikTok photo posts automatically. These records have post_type set to image, a /photo/ URL, and an image_post object with the image list and image_count. Regular videos have post_type set to video.


❓ Can you scrape several TikTok creators at once?

Yes. Add as many usernames as you need to the input list. The TikTok Profile Videos Scraper removes duplicates, skips invalid names with a warning, and processes each profile one after another into the same dataset.


💼 TikTok Profile Videos Scraper – Use Cases

The TikTok Profile Videos Scraper is useful wherever TikTok content performance matters.

📌 Use Cases Box

  • Influencer marketing: vet TikTok creators by real views, likes, and posting frequency
  • Competitor analysis: use the TikTok Profile Videos Scraper to track what rival brands publish and how it performs
  • Content strategy: find the hashtags, sounds, and formats behind top TikTok videos
  • Trend research: use the TikTok Profile Videos Scraper to monitor sound usage and hashtag adoption over time
  • Social media analytics: build dashboards with engagement metrics from the TikTok Profile Videos Scraper
  • Academic research: collect public posts with the TikTok Profile Videos Scraper for social media studies
  • Media archiving: keep a record of a creator's captions, covers, and links
  • Brand monitoring: spot sponsored, commerce, or AI-labeled content

⚙️ Input

The TikTok Profile Videos Scraper uses a simple input with three fields.

FieldTypeRequiredDescription
usernamesArray of strings✅ YesTikTok profiles to scrape. Accepts username, @username, or https://www.tiktok.com/@username.
maxVideosIntegerNoMaximum videos per profile, newest first. Default 10. Use 0 for every video TikTok exposes.
proxyConfigurationObjectNoProxy settings. A residential proxy in the US is recommended for complete results.

Example input

{
"usernames": [
"hamzasyedofficiall",
"@eddiemunson_mi_maridoo",
"https://www.tiktok.com/@marvels.spider10"
],
"maxVideos": 10,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

📦 Output

The TikTok Profile Videos Scraper stores one item per TikTok post in the default dataset. The Overview view shows the post link, type, description, publish date, author, plays, likes, comments, shares, saves, duration, hashtags, ad flag, pinned flag, and media availability.


Sample output (shortened)

{
"aweme_id": "7412345678901234567",
"video_url": "https://www.tiktok.com/@username/video/7412345678901234567",
"share_url": "https://www.tiktok.com/@username/video/7412345678901234567",
"post_type": "video",
"media_available": true,
"desc": "Morning routine ☀️ #fyp #routine",
"title": "Morning routine ☀️ #fyp #routine",
"create_time": 1726000000,
"create_time_iso": "2024-09-10T20:26:40+00:00",
"duration": 24000,
"text_language": "en",
"hashtags": ["fyp", "routine"],
"mentions": [],
"author": {
"uid": "6800000000000000000",
"unique_id": "username",
"nickname": "Creator Name",
"signature": "Daily videos 🎥",
"verified": false,
"private_account": false,
"follower_count": 125000,
"following_count": 210,
"total_favorited": 3400000,
"aweme_count": 512
},
"music": {
"id": "7412345000000000000",
"title": "original sound",
"author": "Creator Name",
"duration": 24,
"is_original": true
},
"video": {
"video_id": "v12044gd0000example",
"duration": 24000,
"width": 1080,
"height": 1920,
"ratio": "720p",
"format": "mp4",
"play_addr": { "uri": "...", "url_list": ["https://..."] },
"download_addr": { "uri": "...", "url_list": ["https://..."] },
"cover": { "uri": "...", "url_list": ["https://..."] }
},
"image_post": null,
"statistics": {
"play_count": 48200,
"digg_count": 3100,
"comment_count": 87,
"share_count": 42,
"collect_count": 260,
"repost_count": 0
},
"is_ads": false,
"is_top": false,
"aigc_label_type": null,
"duet_enabled": true,
"stitch_enabled": true,
"scraped_at": "2026-10-28T12:00:00+00:00"
}

🗂️ Run summary: Besides the dataset, the TikTok Profile Videos Scraper saves a SUMMARY record in the key-value store with the total number of videos and a per-profile status such as ok, limit_reached, not_found, private, blocked, or partial.


Another output :

{
"aweme_id": "7688647378664000799",
"video_url": "https://www.tiktok.com/@hamzasyedofficiall/video/7688647378664000799",
"share_url": "https://www.tiktok.com/@hamzasyedofficiall/video/7688647378664000799",
"post_type": "video",
"media_available": true,
"desc": "oxide: survival Island #oxide #playoxide #oxidesurvival #fyp ",
"title": "oxide: survival Island #oxide #playoxide #oxidesurvival #fyp ",
"create_time": 1790152739,
"create_time_iso": "2026-09-23T08:38:59+00:00",
"duration": 37000,
"text_language": "en",
"hashtags": [
"oxide",
"playoxide",
"oxidesurvival",
"fyp"
],
"mentions": [],
"author": {
"uid": "7284566420688831534",
"unique_id": "hamzasyedofficiall",
"sec_uid": "MS4wLjABAAAA1komiY0X_O1CgW0RAABeU0AEU5yFbUsa8unSyCGWq3HzeARbkGEPpagPFGmOHsJi",
"short_id": null,
"nickname": ".",
"signature": "let's talk.",
"bio_link": null,
"avatar_larger": {
"uri": "7a4b62745c2107ca802678b33d443b12",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/7a4b62745c2107ca802678b33d443b12~tplv-t…?…"
]
},
"avatar_medium": {
"uri": "7a4b62745c2107ca802678b33d443b12",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/7a4b62745c2107ca802678b33d443b12~tplv-t…?…"
]
},
"avatar_thumb": {
"uri": "7a4b62745c2107ca802678b33d443b12",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/7a4b62745c2107ca802678b33d443b12~tplv-t…?…"
]
},
"verified": false,
"private_account": false,
"follower_count": 50627,
"following_count": 42,
"friend_count": 1,
"total_favorited": 5992883,
"favoriting_count": 0,
"aweme_count": 499,
"create_time": 1696070490,
"create_time_iso": "2023-09-30T10:41:30+00:00",
"language": "en",
"is_organization": false,
"tt_seller": false,
"commerce_user": false,
"room_id": null,
"nick_name_modify_time": 1784019412,
"unique_id_modify_time": null,
"comment_setting": 0,
"duet_setting": 0,
"stitch_setting": 0,
"download_setting": 0,
"following_visibility": 2,
"open_favorite": false,
"ftc": false,
"is_ad_virtual": false,
"is_embed_banned": false,
"profile_tab": {
"show_music_tab": false,
"show_question_tab": false,
"show_play_list_tab": true
}
},
"music": {
"id": "7688647450843695902",
"title": "original sound",
"author": ".",
"album": null,
"duration": 37,
"shoot_duration": 37,
"is_original": true,
"is_copyrighted": false,
"is_commerce_music": true,
"is_unlimited_music": false,
"is_private": false,
"play_url": {
"uri": null,
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-v-27dcd7-tx2/okMimKAyEtEqCgARhf5ozEc…?…"
]
},
"cover_large": {
"uri": "7a4b62745c2107ca802678b33d443b12",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/7a4b62745c2107ca802678b33d443b12~tplv-t…?…"
]
},
"cover_medium": {
"uri": "7a4b62745c2107ca802678b33d443b12",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/7a4b62745c2107ca802678b33d443b12~tplv-t…?…"
]
},
"cover_thumb": {
"uri": "7a4b62745c2107ca802678b33d443b12",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/7a4b62745c2107ca802678b33d443b12~tplv-t…?…"
]
}
},
"video": {
"video_id": "v15044gf0000dapou0nog65j8he41l70",
"duration": 37000,
"width": 720,
"height": 1280,
"ratio": "720p",
"definition": "720p",
"codec_type": "h264",
"format": "mp4",
"video_quality": "normal",
"encoded_type": "normal",
"vq_score": "70.8",
"bitrate": 651651,
"size": 3052826,
"volume_info": {
"loudness": -30.4,
"peak": 0.23174
},
"play_addr": {
"uri": "v15044gf0000dapou0nog65j8he41l70",
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-ve-0068c004-tx2/oAqnCi8E0LRigIpQSBFq…?…"
],
"url_key": "v15044gf0000dapou0nog65j8he41l70_h264_720p_651651",
"width": 720,
"height": 1280,
"data_size": 3052826,
"file_hash": "3f6b742d818480101c1058e6b58ea2aa",
"file_cs": "c:0-32258-cf5e"
},
"download_addr": {
"uri": null,
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-ve-0068c003-tx2/oQEAaEAzAFBPOrRVPCQz…?…"
]
},
"play_addr_h264": {
"uri": "v15044gf0000dapou0nog65j8he41l70",
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-ve-0068c004-tx2/oAqnCi8E0LRigIpQSBFq…?…"
],
"url_key": "v15044gf0000dapou0nog65j8he41l70_h264_720p_651651",
"width": 720,
"height": 1280,
"data_size": 3052826,
"file_hash": "3f6b742d818480101c1058e6b58ea2aa",
"file_cs": "c:0-32258-cf5e"
},
"play_addr_bytevc1": {
"uri": "v15044gf0000dapou0nog65j8he41l70",
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-pve-0068-tx2/osiQZfqLEDJsiVBnCcFlA8I…?…"
],
"url_key": "v15044gf0000dapou0nog65j8he41l70_bytevc1_1080p_581444",
"width": 1080,
"height": 1920,
"data_size": 2723921,
"file_hash": "543212f3f1c7e417715e987fc8151409",
"file_cs": "c:0-32646-8c7e"
},
"bit_rate": [
{
"gear_name": "normal_720_0",
"quality_type": 10,
"bit_rate": 651651,
"codec_type": "h264",
"is_bytevc1": false,
"format": "mp4",
"fps": 30,
"play_addr": {
"uri": "v15044gf0000dapou0nog65j8he41l70",
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-ve-0068c004-tx2/oAqnCi8E0LRigIpQSBFq…?…"
],
"url_key": "v15044gf0000dapou0nog65j8he41l70_h264_720p_651651",
"width": 720,
"height": 1280,
"data_size": 3052826,
"file_hash": "3f6b742d818480101c1058e6b58ea2aa",
"file_cs": "c:0-32258-cf5e"
}
},
{
"gear_name": "adapt_lowest_1080_1",
"quality_type": 2,
"bit_rate": 581444,
"codec_type": "h265_hvc1",
"is_bytevc1": true,
"format": "mp4",
"fps": 30,
"play_addr": {
"uri": "v15044gf0000dapou0nog65j8he41l70",
"url_list": [
"https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/tos-useast8-pve-0068-tx2/osiQZfqLEDJsiVBnCcFlA8I…?…"
],
"url_key": "v15044gf0000dapou0nog65j8he41l70_bytevc1_1080p_581444",
"width": 1080,
"height": 1920,
"data_size": 2723921,
"file_hash": "543212f3f1c7e417715e987fc8151409",
"file_cs": "c:0-32646-8c7e"
}
}
],
"cover": {
"uri": "oYqnCi8EuLRiBQXIcBFqAINDAcVqZEfEf4sEBm",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oYqnCi8EuLRiBQXIcBFqAINDAcVqZEfEf4sEBm~tp…?…"
]
},
"dynamic_cover": {
"uri": "oM4zCRzA2VvEAr3iOFCOR1AkBAIaRixPiBUAI",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oM4zCRzA2VvEAr3iOFCOR1AkBAIaRixPiBUAI~tpl…?…"
]
},
"origin_cover": {
"uri": "oAIfBfqLDEVqFdiECnEI4pQEsBVQicBAmgRD8A",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oAIfBfqLDEVqFdiECnEI4pQEsBVQicBAmgRD8A~tp…?…"
]
},
"zoom_cover": {
"240": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oYqnCi8EuLRiBQXIcBFqAINDAcVqZEfEf4sEBm~tp…?…",
"480": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oYqnCi8EuLRiBQXIcBFqAINDAcVqZEfEf4sEBm~tp…?…"
},
"subtitle_infos": [
{
"format": "webvtt",
"language_code_name": "eng-US",
"language_id": "2",
"size": 1008,
"source": "ASR",
"url": "https://v16m-webapp.tiktokcdn-us.com/41623c151d53aae57ca438d7dfbb3fd2/6ae201f1/video/tos/useast8/tos-usea…?…",
"url_expire": 1793196529,
"version": "1:big_caption"
}
],
"cla_info": {
"caption_infos": [
{
"caption_format": "webvtt",
"cla_subtitle_id": "7688663223280175892",
"expire": "1793196529",
"is_auto_gen": true,
"is_original_caption": true,
"language": "eng-US",
"language_code": "en",
"language_id": "2",
"sub_id": "-1194575474",
"subtitle_type": "1",
"translation_type": "0",
"url": "https://v16m-webapp.tiktokcdn-us.com/41623c151d53aae57ca438d7dfbb3fd2/6ae201f1/video/tos/useast8/tos-usea…?…",
"url_list": [
"https://v16m-webapp.tiktokcdn-us.com/41623c151d53aae57ca438d7dfbb3fd2/6ae201f1/video/tos/useast8/tos-usea…?…"
],
"variant": "big_caption"
}
],
"captions_type": 1,
"enable_auto_caption": true,
"has_original_audio": true,
"no_caption_reason": null,
"original_language_info": {
"can_translate_real_time_no_check": true,
"language": "eng-US",
"language_code": "en",
"language_id": "2"
}
}
},
"image_post": null,
"statistics": {
"play_count": 36900,
"digg_count": 16000,
"comment_count": 17,
"share_count": 5,
"collect_count": 157,
"repost_count": 0
},
"text_extra": [
{
"aweme_id": "",
"end": 29,
"hashtag_name": "oxide",
"is_commerce": false,
"start": 23,
"sub_type": 0,
"type": 1
}
],
"cha_list": [
{
"cid": "749630",
"cha_name": "oxide",
"desc": null,
"share_url": "https://www.tiktok.com/tag/oxide"
}
],
"is_ads": false,
"ad_authorization": true,
"is_top": false,
"is_ec_video": null,
"brand_organic_type": null,
"aigc_description": null,
"aigc_label_type": null,
"show_aigc": false,
"is_hd_bitrate": false,
"category_type": 103,
"diversification_id": 10056,
"text_translatable": true,
"title_language": null,
"title_translatable": null,
"duet_enabled": true,
"stitch_enabled": true,
"duet_display": 0,
"stitch_display": 0,
"share_enabled": true,
"item_comment_status": 0,
"for_friend": false,
"private_item": false,
"secret": false,
"is_prohibited": false,
"is_reviewing": false,
"original_item": false,
"official_item": false,
"item_mute": null,
"item_control": {
"can_comment": true,
"can_creator_redirect": true,
"can_music_redirect": true,
"can_repost": true,
"can_share": true
},
"poi": null,
"anchors": null,
"effect_stickers": null,
"stickers_on_item": null,
"video_suggest_words": null,
"playlist_id": null,
"scraped_at": "2026-10-26T14:41:40.123456+00:00"
}

Export formats and integrations

  • Download results as JSON, CSV, Excel, XML, or HTML from the dataset tab.
  • Access the TikTok Profile Videos Scraper dataset programmatically through the Apify API.
  • Schedule the TikTok Profile Videos Scraper to run daily or weekly for ongoing monitoring.
  • Connect results to Google Sheets, Zapier, Make, webhooks, and other Apify integrations.

💰 Pricing

The TikTok Profile Videos Scraper uses a pay-per-result model: you are charged for posts that are actually saved to your dataset. The exact price per result is shown on the Actor's Pricing tab in the Apify Store.

💵 Pricing Box

  • You pay for stored results, not for failed requests
  • Use maxVideos to control how many posts you pay for
  • If you set a maximum cost per run, the TikTok Profile Videos Scraper stops cleanly once that limit is reached
  • Proxy usage and platform compute are billed according to your Apify plan

🛠️ Tips and Best Practices

Follow these tips to get complete and stable results from the TikTok Profile Videos Scraper.

⚠️ Important Notes Box

  • Use a residential proxy. TikTok may block datacenter and direct connections.
  • Keep the proxy country on US. From some countries, TikTok withholds media details (play URL, duration) for a share of videos. Those posts show media_available: false.
  • Start small. Test with maxVideos: 10 before running a full profile export.
  • Private accounts are skipped. The TikTok Profile Videos Scraper cannot see videos from private accounts and reports them as private.
  • Check the summary. It explains missing or partial profiles at a glance.
  • Durations are in milliseconds. Divide duration by 1,000 to get seconds.
  • IDs are strings. TikTok IDs are stored as text so spreadsheets do not corrupt them.

🙋 Frequently Asked Questions


What is a TikTok Profile Videos Scraper?

A TikTok Profile Videos Scraper is a tool that extracts public posts from a TikTok account into structured data. This TikTok Profile Videos Scraper returns captions, engagement metrics, hashtags, music, media links, and creator details for each TikTok video or photo post.


How do I scrape TikTok videos from a username?

Enter the TikTok username, @username, or profile URL in the input, choose a video limit, and start the run. The TikTok Profile Videos Scraper handles the rest and saves each post to the dataset.


What data does the TikTok Profile Videos Scraper extract?

The TikTok Profile Videos Scraper extracts post IDs, URLs, captions, publish dates, durations, views, likes, comments, shares, saves, reposts, hashtags, mentions, music metadata, video and cover URLs, photo post images, author profile stats, and content flags such as pinned, ad, and AI-generated labels.


Can I download videos with the TikTok Profile Videos Scraper?

The TikTok Profile Videos Scraper provides video play and download URLs from TikTok in the video block. It does not save video files to storage itself. Note that media links can expire after some time.


Can the TikTok Profile Videos Scraper get videos from private accounts?

No. The TikTok Profile Videos Scraper only collects publicly visible TikTok content. Private accounts are detected and reported in the run summary without results.


Why does the TikTok Profile Videos Scraper return fewer videos than the profile shows?

The profile counter on TikTok may include private, friends-only, or removed videos that TikTok does not expose publicly. The TikTok Profile Videos Scraper logs this difference when it happens.


Why is media_available false for some TikTok videos?

TikTok sometimes removes the media block of a video for the viewer's country. Running the TikTok Profile Videos Scraper with a US residential proxy usually returns complete TikTok media details.


Can I schedule the TikTok Profile Videos Scraper?

Yes. Use Apify schedules to run the TikTok Profile Videos Scraper automatically and keep your TikTok analytics up to date.


Can I use the TikTok Profile Videos Scraper through an API?

Yes. You can start the TikTok Profile Videos Scraper and fetch its dataset through the Apify API, SDKs, or any HTTP client.


The TikTok Profile Videos Scraper only collects publicly available TikTok data. You are responsible for using the data in line with TikTok's terms, privacy laws such as GDPR, and your local regulations.


📬 Support

Have a question, found an issue, or need a custom TikTok scraping feature? Open an issue on the Actor's Issues tab or reach out directly. Feedback helps improve the TikTok Profile Videos Scraper for everyone.