TikTok Profile Scraper pro avatar
TikTok Profile Scraper pro

Pricing

$5.99/month + usage

Go to Apify Store
TikTok Profile Scraper pro

TikTok Profile Scraper pro

Extracts public profile data from TikTok using URLs or usernames. It captures user info, stats, bio, profile images, and more, supporting hybrid extraction for reliability. Ideal for analytics, monitoring, and data collection from TikTok profiles.

Pricing

$5.99/month + usage

Rating

0.0

(0)

Developer

Alpha Scraper

Alpha Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share


🎬 TikTok Profile Scraper Pro ( Apify Actor )


How to Use 🛠️

  1. Input Preparation: Create a JSON file with TikTok profile URLs and/or usernames.
  2. Run Actor: Upload the JSON input to the actor and start execution.
  3. Receive Output: The actor outputs JSON objects for each profile, including detailed statistics and metadata.
  4. Process Data: Use the data for analytics, reporting, or monitoring TikTok accounts.

Overview 🚀

The TikTok Profile Scraper actor allows you to extract public profile data and related metadata from TikTok profiles. It supports both profile URLs and usernames, giving you flexibility in your inputs. This actor is designed for reliability and ease of use, providing structured and detailed information for each TikTok account.

Whether you’re analyzing creators, brands, or content trends, this scraper gives you a complete view of TikTok profiles in a clean, ready-to-use JSON format.


Features ✨

  • Extracts public profile data from TikTok using URLs or usernames.
  • Supports multiple profiles at once.
  • Returns detailed statistics like followers, following, likes, and video counts.
  • Provides profile metadata including bio, region, language, profile images, and verification status.
  • Includes account types, commerce information, and privacy settings.
  • Timestamped output for record keeping and tracking.
  • Handles errors gracefully and logs issues per profile.
  • Configurable to run through residential proxies to reduce blocking issues.

The TikTok Profile Scraper includes a rich set of features:

  • ✅ Dual Input Support: Use profile URLs or usernames interchangeably.

  • ✅ Batch Scraping: Scrape multiple profiles in a single run efficiently.

  • ✅ Detailed Profile Data: Extract user metadata, statistics, and privacy information.

  • ✅ Account Status Indicators: Verify if accounts are public, private, verified, or business.

  • ✅ Error Handling: Any failed scrapes are clearly logged with detailed messages.

  • ✅ Proxy Support: Integrates with residential proxies to reduce rate-limiting.

  • ✅ Timestamps: Each profile output includes the scrape timestamp for tracking changes.

  • ✅ Extensible: Easy to integrate into data pipelines or analytics workflows.


Input 📝

The actor accepts an input JSON object containing either TikTok profile URLs, usernames, or both.

Example Input:

{
"startUrls": [
{
"url": "https://www.tiktok.com/@itsjojosiwa"
},
{
"url": "https://www.tiktok.com/@sarahmagusara"
}
],
"usernames": [
"doorman_stories",
"spencerx"
]
}

Notes on Input:

  • URLs must be full TikTok profile links.
  • Usernames can be with or without the @ symbol.
  • Both fields can be used simultaneously. Duplicate profiles are automatically removed.

Output 📊

The actor outputs structured JSON objects for each TikTok profile. Each object contains detailed profile information and statistics.

Sample Output:

[
{
"_requested_username": "sarahmagusara",
"profile_url": "https://www.tiktok.com/@sarahmagusara",
"id": "3699061",
"sec_uid": "MS4wLjABAAAAPhULOMtgKPQBhI8vnTCNxhH9yyktwGXecR5gr_K-wTc",
"unique_id": "sarahmagusara",
"short_id": "",
"room_id": "",
"display_name": "Sarah Magusara",
"bio": "📧: mgmt@sarahmagusara.com\n@Glow with Sarah @salastud.io @OxyShred Energy",
"bio_link": "https://linktr.ee/sarahmagusara",
"bio_language": "en",
"email": "",
"phone": "",
"region": "",
"language": "en",
"category": "",
"profile_image": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/0fd51a3b3fecfff46f08c3f6dd65b217~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=1fb2a15c&x-expires=1767783600&x-signature=eiqIJz%2BdEog8YQOD25KQ%2FDhy1oQ%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_image_hd": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/0fd51a3b3fecfff46f08c3f6dd65b217~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=d5ce34e5&x-expires=1767783600&x-signature=Mj5zJd9QH131Qm%2FWxZpT8%2BKseLI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_theme": "",
"profile_color": "",
"video_count": 4144,
"follower_count": 18100000,
"following_count": 620,
"friend_count": 484,
"like_count": 1300000000,
"digg_count": 0,
"total_profile_views": 0,
"stats": {
"followerCount": 18100000,
"followingCount": 620,
"heart": 1300000000,
"heartCount": 1300000000,
"videoCount": 4144,
"diggCount": 0,
"friendCount": 484
},
"is_verified": true,
"verification_reason": "",
"is_private": false,
"is_seller": false,
"commerce_info": {
"commerceUser": false
},
"account_type": "",
"creator_type": "",
"is_creator": false,
"is_business": false,
"business_category": "",
"business_contact_method": "",
"account_create_time": 1446939354,
"nickname_modify_time": 0,
"username_modify_time": "",
"last_active_time": "",
"comment_setting": 0,
"stitch_setting": 0,
"download_setting": 0,
"following_visibility": 1,
"duet_setting": 0,
"comment_filter_keywords": [],
"profile_tabs": [],
"relation": 0,
"open_favorite": false,
"is_ad_virtual": false,
"recommend_reason": "",
"embed_permission": false,
"is_organization": false,
"is_government": false,
"is_media": false,
"risk_flag": "",
"account_status": "",
"user_story_status": "",
"story_count": 0,
"has_highlight": false,
"item_list": [],
"pinned_video_ids": [],
"pinned_video_count": 0,
"playlist_count": 0,
"playlists": [],
"music_artist_id": "",
"age_restricted": false,
"minor_protection": false,
"has_insights": false,
"has_live_permission": false,
"live_room_status": "",
"live_stream_url": "",
"signature_extra": "",
"link_count": 0,
"external_links": [],
"search_visibility": true,
"data_source": "scrape",
"scrape_status": "success",
"timestamp": "2026-01-05T11:40:20.277266"
},
{
"_requested_username": "doorman_stories",
"profile_url": "https://www.tiktok.com/@doorman_stories",
"id": "7177851350717334570",
"sec_uid": "MS4wLjABAAAAyB61vWQutJa3bW3qTkwrLVgl7jah91JaZsuQ1tgSzCi-1YOa3_AJErG2DXrt6XZs",
"unique_id": "doorman_stories",
"short_id": "",
"room_id": "",
"display_name": "Doorman Stories",
"bio": "welcoming conversations with \nthe ones who welcome us home🍎\n🎤 @Sara Leeds \n💌greta@shalla.nyc",
"bio_link": "https://linktr.ee/doormanstories",
"bio_language": "en",
"email": "",
"phone": "",
"region": "",
"language": "en",
"category": "",
"profile_image": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a3c1837a92bc0a78fdcedd51e9a99965~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=3bb4a94c&x-expires=1767783600&x-signature=NxSurEbnkwccjX2sByiQjJzDeHw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_image_hd": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a3c1837a92bc0a78fdcedd51e9a99965~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=aae91e6f&x-expires=1767783600&x-signature=8VWkUgF4Veo6Aj6%2BPSSzlVYJjdQ%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_theme": "",
"profile_color": "",
"video_count": 457,
"follower_count": 94200,
"following_count": 0,
"friend_count": 0,
"like_count": 6200000,
"digg_count": 0,
"total_profile_views": 0,
"stats": {
"followerCount": 94200,
"followingCount": 0,
"heart": 6200000,
"heartCount": 6200000,
"videoCount": 457,
"diggCount": 0,
"friendCount": 0
},
"is_verified": false,
"verification_reason": "",
"is_private": false,
"is_seller": false,
"commerce_info": {
"commerceUser": false
},
"account_type": "",
"creator_type": "",
"is_creator": false,
"is_business": false,
"business_category": "",
"business_contact_method": "",
"account_create_time": 1671223857,
"nickname_modify_time": 1671224531,
"username_modify_time": "",
"last_active_time": "",
"comment_setting": 0,
"stitch_setting": 0,
"download_setting": 0,
"following_visibility": 1,
"duet_setting": 0,
"comment_filter_keywords": [],
"profile_tabs": [],
"relation": 0,
"open_favorite": false,
"is_ad_virtual": false,
"recommend_reason": "",
"embed_permission": false,
"is_organization": false,
"is_government": false,
"is_media": false,
"risk_flag": "",
"account_status": "",
"user_story_status": "",
"story_count": 0,
"has_highlight": false,
"item_list": [],
"pinned_video_ids": [],
"pinned_video_count": 0,
"playlist_count": 0,
"playlists": [],
"music_artist_id": "",
"age_restricted": false,
"minor_protection": false,
"has_insights": false,
"has_live_permission": false,
"live_room_status": "",
"live_stream_url": "",
"signature_extra": "",
"link_count": 0,
"external_links": [],
"search_visibility": true,
"data_source": "scrape",
"scrape_status": "success",
"timestamp": "2026-01-05T11:40:21.188132"
},
{
"_requested_username": "itsjojosiwa",
"profile_url": "https://www.tiktok.com/@itsjojosiwa",
"id": "123036",
"sec_uid": "MS4wLjABAAAAuVNOuyIxdMlFXg6TwHCm61XbuDbeOAXTu_wqfq9t1SM",
"unique_id": "itsjojosiwa",
"short_id": "",
"room_id": "",
"display_name": "Joelle Siwa",
"bio": "💌JoJoSiwaMGMT@gmail.com💌",
"bio_link": "https://linktr.ee/Its.JoJo.Siwa",
"bio_language": "en",
"email": "",
"phone": "",
"region": "",
"language": "en",
"category": "",
"profile_image": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/d75b81f6e50672bfae73cc0a838f7286~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=56796100&x-expires=1767783600&x-signature=3BcvJIIn1XR6CoHrZPct3U6HTTE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=f20df69d&idc=useast5",
"profile_image_hd": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/d75b81f6e50672bfae73cc0a838f7286~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=b6d189a6&x-expires=1767783600&x-signature=yo%2FNzPSYKVnXQwdnDVEVohAn7I8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_theme": "",
"profile_color": "",
"video_count": 2879,
"follower_count": 46000000,
"following_count": 145,
"friend_count": 110,
"like_count": 2000000000,
"digg_count": 0,
"total_profile_views": 0,
"stats": {
"followerCount": 46000000,
"followingCount": 145,
"heart": 2000000000,
"heartCount": 2000000000,
"videoCount": 2879,
"diggCount": 0,
"friendCount": 110
},
"is_verified": true,
"verification_reason": "",
"is_private": false,
"is_seller": false,
"commerce_info": {
"commerceUser": false
},
"account_type": "",
"creator_type": "",
"is_creator": false,
"is_business": false,
"business_category": "",
"business_contact_method": "",
"account_create_time": 1451212989,
"nickname_modify_time": 1767196207,
"username_modify_time": "",
"last_active_time": "",
"comment_setting": 0,
"stitch_setting": 0,
"download_setting": 0,
"following_visibility": 1,
"duet_setting": 0,
"comment_filter_keywords": [],
"profile_tabs": [],
"relation": 0,
"open_favorite": false,
"is_ad_virtual": false,
"recommend_reason": "",
"embed_permission": false,
"is_organization": false,
"is_government": false,
"is_media": false,
"risk_flag": "",
"account_status": "",
"user_story_status": "",
"story_count": 0,
"has_highlight": false,
"item_list": [],
"pinned_video_ids": [],
"pinned_video_count": 0,
"playlist_count": 0,
"playlists": [],
"music_artist_id": "",
"age_restricted": false,
"minor_protection": false,
"has_insights": false,
"has_live_permission": false,
"live_room_status": "",
"live_stream_url": "",
"signature_extra": "",
"link_count": 0,
"external_links": [],
"search_visibility": true,
"data_source": "scrape",
"scrape_status": "success",
"timestamp": "2026-01-05T11:40:21.936161"
},
{
"_requested_username": "spencerx",
"profile_url": "https://www.tiktok.com/@spencerx",
"id": "6524904798586672143",
"sec_uid": "MS4wLjABAAAABKI9wkOM_rWwOAzNYfT4aCNzOdjVvtYaLA8mkcwQLW_axHvgmwUcpQA63lek4aGB",
"unique_id": "spencerx",
"short_id": "",
"room_id": "",
"display_name": "Spencer X",
"bio": "Mouth Music Man 🗣🎶\nteamspencerx@wmeagency.com",
"bio_link": "www.linktree.com/spencerbeatbox",
"bio_language": "en",
"email": "",
"phone": "",
"region": "",
"language": "en",
"category": "",
"profile_image": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/920bdbdf89cc05a5254b985625012e27~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=747a9235&x-expires=1767783600&x-signature=4HzlGzBjl%2FzUbn3AeRS4iy632eU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_image_hd": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/920bdbdf89cc05a5254b985625012e27~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=001b7a09&x-expires=1767783600&x-signature=wcDWjorsabCDMqOJNr73s%2Fn%2FG1Q%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast5",
"profile_theme": "",
"profile_color": "",
"video_count": 1294,
"follower_count": 54100000,
"following_count": 7478,
"friend_count": 5879,
"like_count": 1300000000,
"digg_count": 0,
"total_profile_views": 0,
"stats": {
"followerCount": 54100000,
"followingCount": 7478,
"heart": 1300000000,
"heartCount": 1300000000,
"videoCount": 1294,
"diggCount": 0,
"friendCount": 5879
},
"is_verified": true,
"verification_reason": "",
"is_private": false,
"is_seller": false,
"commerce_info": {
"commerceUser": false
},
"account_type": "",
"creator_type": "",
"is_creator": false,
"is_business": false,
"business_category": "",
"business_contact_method": "",
"account_create_time": 1519226584,
"nickname_modify_time": 0,
"username_modify_time": "",
"last_active_time": "",
"comment_setting": 0,
"stitch_setting": 0,
"download_setting": 0,
"following_visibility": 2,
"duet_setting": 0,
"comment_filter_keywords": [],
"profile_tabs": [],
"relation": 0,
"open_favorite": false,
"is_ad_virtual": false,
"recommend_reason": "",
"embed_permission": false,
"is_organization": false,
"is_government": false,
"is_media": false,
"risk_flag": "",
"account_status": "",
"user_story_status": "",
"story_count": 0,
"has_highlight": false,
"item_list": [],
"pinned_video_ids": [],
"pinned_video_count": 0,
"playlist_count": 0,
"playlists": [],
"music_artist_id": "",
"age_restricted": false,
"minor_protection": false,
"has_insights": false,
"has_live_permission": false,
"live_room_status": "",
"live_stream_url": "",
"signature_extra": "",
"link_count": 0,
"external_links": [],
"search_visibility": true,
"data_source": "scrape",
"scrape_status": "success",
"timestamp": "2026-01-05T11:40:22.650630"
}
]

Output Field Explanation 🗂️

FieldDescription
_requested_usernameThe username you requested to scrape.
profile_urlThe full TikTok profile URL.
idInternal numeric user ID.
sec_uidTikTok’s secure unique ID for the account.
unique_idPublic username of the account.
short_idShortened version of the username, if available.
room_idUser’s live room ID (if any).
display_nameDisplay name of the user.
bioUser profile bio text.
bio_linkLink included in bio, if any.
bio_languageLanguage used in bio.
emailPublic email if available (usually empty).
phonePublic phone number if available (usually empty).
regionGeographical region of the account.
languageMain language of the account.
categoryProfile category (if defined).
profile_imageStandard resolution profile picture.
profile_image_hdHigh-resolution profile picture.
video_countTotal number of uploaded videos.
follower_countNumber of followers.
following_countNumber of accounts the user follows.
friend_countNumber of friends.
like_countTotal likes received.
digg_countLikes given to others (if tracked).
is_verifiedIndicates verified TikTok account.
is_privateWhether the account is private.
is_sellerIndicates seller/commercial account.
commerce_infoAdditional commerce/business info.
is_businessWhether the account is a business account.
account_create_timeAccount creation timestamp.
comment_settingProfile comment permissions.
stitch_settingStitch permissions.
download_settingVideo download permissions.
duet_settingDuet permissions.
relationRelation to your account (if logged in).
open_favoriteWhether favorites are public.
recommend_reasonTikTok’s reason for recommending this profile.
search_visibilityVisibility in TikTok search.
scrape_statussuccess or error for the profile scrape.
timestampTime of the scrape.

⚠️ Some fields may be empty depending on user privacy and account type.


Benefits & Advantages 🌟

  • Complete TikTok profile view: Retrieve all key metrics and profile metadata.
  • Flexible input: URLs and usernames supported simultaneously.
  • Batch scraping: Scrape multiple profiles efficiently.
  • Data integrity: Ensures numeric and statistical fields are safely cast.
  • Error handling: Profiles with issues are flagged without stopping the scraper.
  • Timestamped records: Perfect for monitoring changes over time.

Best Practices ✅

  1. Use usernames when possible for consistency.
  2. Avoid exceeding large batches without a proxy; TikTok may rate-limit requests.
  3. Check scrape_status in the output to verify data integrity.
  4. Store results immediately after scraping to prevent data loss.
  5. Regularly update your list of target profiles to keep data fresh.

Possible Causes of Errors ⚠️

  • Invalid username or URL.
  • Private or deleted account.
  • Temporary TikTok access restrictions.
  • Rate-limiting from TikTok (too many requests at once).
  • Network issues or proxy failures.

All errors are logged with the error_message field in the output JSON.


Conclusion 📝

The TikTok Profile Scraper actor is a reliable and versatile tool for collecting structured TikTok profile data. Its detailed JSON output, combined with robust error handling and batch scraping capabilities, makes it perfect for researchers, analysts, and marketing professionals who want to monitor TikTok creators or brands efficiently.

💡 With this actor, you can confidently gather all public-facing profile data in a single, structured output without worrying about missing critical details.