Tiktok Profile Scraper avatar
Tiktok Profile Scraper
Try for free

Pay $5.00 for 1,000 videos

View all Actors
Tiktok Profile Scraper

Tiktok Profile Scraper

Try for free

Pay $5.00 for 1,000 videos

Extract data from TikTok profiles and videos they post. Get TikTok profile data, URLs, numbers of shares, followers, comments, hearts, video and music metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.

What is TikTok Profile Scraper?

TikTok Profile Scraper is a powerful and easy-to-use tool that allows you to extract data from TikTok profiles and videos they post. Using this tool, you will be able to scrape:

  • All info from chosen user profiles including details: name, nickname, ID, bio, account status, total followers/following numbers, play, share and comment count, etc.
  • All tiktoks posted by chosen user profile including details: caption, video URL, number of shares, likes, comments, and plays to each video, timestamp, video- and music-related metadata.

How to use data extracted from TikTok profiles?

The data extracted from TikTok Profile Scraper can be used for a variety of purposes, including:

✨ Conducting sentiment analysis and finding authentic product reviews

👩‍🔬 Obtaining data for research and social listening experiments

🦠 Analyzing trends, and viral campaigns

🥸 Identifying unverified content and inaccurate information with high public value

📚 Preparing for or analyzing a TikTok marketing campaign

How do I use TikTok Profile Scraper?

TikTok Profile Scraper is designed to be user-friendly, even for those who have never extracted data from the web before! Here’s how you can use TikTok Profile Scraper to extract profile data:

  1. Create a free Apify account using your email.
  2. Open TikTok Profile Scraper.
  3. Add one or more TikTok profile usernames to scrape data.
  4. Click the “Start” button and wait for the data to be extracted.
  5. Download your data in JSON, XML, CSV, Excel, or HTML.


The input for TikTok Profile Scraper should be a TikTok profile username (with or without a handle) and a number of videos. You can add one or multiple usernames.

Click on the input tab for a full explanation of an input example in JSON.

2  "profiles": [
3    "olympics"
4  ],
5  "resultsPerPage": 100

If you set resultsPerPage to 30 or lower, the scraper will be significantly faster because it doesn't need to support scrolling.

Output sample

The results will be wrapped into a dataset which you can always find in the Storage tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

Apify - Olympics Run - Output

And here is the same data but in JSON. You can choose in which format to download your TikTok profile data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

2  {
3  "id": "7210447318028455173",
4  "text": "POV: you are a horse at the Olympics ⚡️ Rio 2016 #Olympics #Athletes #Sports #SportsTok #Equestrian #Horse #HorseTok ",
5  "createTime": 1678813093,
6  "createTimeISO": "2023-03-14T16:58:13.000Z",
7  "locationCreated": "ES",
8  "isAd": false,
9  "isMuted": false,
10  "authorMeta": {
11    "id": "6754011909617894406",
12    "name": "olympics",
13    "nickName": "Olympics",
14    "verified": true,
15    "signature": "The Olympics, like never before",
16    "bioLink": "https://shop.olympics.com/en/paris-2024/mascot-collection/t-3466224229+c-2345139311+z-9-3163900808",
17    "avatar": "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/829ea90040553aaec7450d66caaadc10.jpeg?x-expires=1679043600&x-signature=Qa6vAiVVWcDFEyxl%2B6SGzPyskI0%3D",
18    "commerceUserInfo": {
19      "commerceUser": true,
20      "category": "Sports, Fitness & Outdoors",
21      "categoryButton": false
22    },
23    "privateAccount": false,
24    "region": "JP",
25    "roomId": "",
26    "ttSeller": false,
27    "following": 184,
28    "fans": 6200000,
29    "heart": 107400000,
30    "video": 1597,
31    "digg": 317
32  },
33  "musicMeta": {
34    "musicName": "original sound",
35    "musicAuthor": "Breanne",
36    "musicOriginal": true,
37    "musicAlbum": "",
38    "playUrl": "https://v16m.tiktokcdn-us.com/113addfbc589a346ed4d7c9b575c7f65/6411e67b/video/tos/useast5/tos-useast5-v-27dcd7c799-tx/oAxQ3F1ay0gua86HAAfhoGz9KABEj4gUIFNWk6/?a=1233&ch=0&cr=0&dr=0&er=2&cd=0%7C0%7C0%7C0&br=250&bt=125&ft=GSDrKInz7ThjdG9uXq8Zmk&mime_type=audio_mpeg&qs=6&rc=ZWc7aWg0NTU4NDNoZjk5aEBpM3Y8djM6ZnhuajMzNzU8M0BeL15hMDRiX14xL2NjYzYvYSNhYWMvcjRnMzBgLS1kMTZzcw%3D%3D&l=20230315093812979614A8E5A25A01B1F7&download=true",
39    "coverMediumUrl": "https://p16-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/05b7e8d6ee75f61bc99a921b7f4a1afe~c5_720x720.jpeg?x-expires=1679043600&x-signature=mquKh2k1m6Wdlrt828ufOR1b0b4%3D",
40    "musicId": "7149262464009030442"
41  },
42  "webVideoUrl": "https://www.tiktok.com/@olympics/video/7210447318028455173",
43  "mediaUrls": [
44    "https://v16-webapp-prime.us.tiktok.com/video/tos/useast2a/tos-useast2a-ve-0068c002/o0SnTBUwDQPQU6egIvXAnpUbgePjCdIIQIC9hf/?a=1988&ch=0&cr=0&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C0&cv=1&br=4420&bt=2210&cs=0&ds=3&ft=4KJMyMzm8Zmo0.iaOA4jVH4~dpWrKsdm&mime_type=video_mp4&qs=0&rc=aWdkZzwzMzlmO2U8OWRkNEBpanFpNzo6ZjpkajMzNzczM0A1MWEvYy80X2ExLl42XzAwYSM2cjNscjRfYzVgLS1kMTZzcw%3D%3D&expire=1678894698&l=20230315093812979614A8E5A25A01B1F7&policy=2&signature=bf88c682ce3062fac64a561e9dc5f07d&tk=tt_chain_token"
45  ],
46  "videoMeta": {
47    "height": 1024,
48    "width": 576,
49    "duration": 6,
50    "coverUrl": "https://p16-sign-va.tiktokcdn.com/obj/tos-maliva-p-0068/bf215101a9bd40d797e24cc605351eb6_1678813095?x-expires=1678892400&x-signature=q5xDk9vvHer3XizUb8AVXn7hTxo%3D",
51    "definition": "720p",
52    "format": "mp4"
53  },
54  "diggCount": 3666,
55  "shareCount": 2,
56  "playCount": 19500,
57  "commentCount": 12,
58  "mentions": [],
59  "hashtags": [
60    {
61      "id": "569333",
62      "name": "olympics",
63      "title": "",
64      "cover": ""
65    },
66    {
67      "id": "30888",
68      "name": "athletes",
69      "title": "",
70      "cover": ""
71    },
72    {
73      "id": "7887",
74      "name": "sports",
75      "title": "",
76      "cover": ""
77    },
78    {
79      "id": "1617221133106342",
80      "name": "sportstok",
81      "title": "",
82      "cover": ""
83    },
84    {
85      "id": "8097",
86      "name": "equestrian",
87      "title": "Equestrians of TikTok, let's ride 🐎",
88      "cover": ""
89    },
90    {
91      "id": "7883",
92      "name": "horse",
93      "title": "",
94      "cover"
95		}]
96    }]

How many results can you scrape with TikTok Profile scraper?

TikTok Profile scraper can return up to over 2000 results on average. However, you have to keep in mind that scraping tiktok.com has many variables to it and may cause the results to fluctuate case by case. There’s no one-size-fits-all-use-cases number. The maximum number of results may vary depending on the complexity of the input, location, and other factors. Some of the most frequent cases are:

  • website gives a different number of results depending on the type/value of the input
  • website has an internal limit that no scraper can cross
  • scraper has a limit that we are working on improving

Therefore, while we regularly run Actor tests to keep the benchmarks in check, the results may also fluctuate without our knowing. The best way to know for sure for your particular use case is to do a test run yourself.

Want to scrape TikTok comments or hashtags?

If you want to scrape specific TikTok data other than profiles, you can use one of the dedicated scrapers below, each built particularly for the relevant TikTok data scraping case, whether it's hashtags, comments, search results, or all data at once:

🎶 TikTok Scraper#️⃣ TikTok Hashtag Scraper🎸 Tiktok Sound Scraper
🎙 TikTok Comments Scraper🛍 Tiktok Ads Scraper📹 Tiktok Video Scraper

Not your cup of tea? Build your own scraper

TikTok scraper doesn’t exactly do what you need? You can always build your own! We have various scraper templates in Python, JavaScript, and TypeScript to get you started. Alternatively, you can write it from scratch using our open-source library Crawlee. You can keep the scraper to yourself or make it public by adding it to Apify Store (and find users for it).

Or let us know if you need a custom scraping solution.

Integrations and TikTok Profile Scraper

Last but not least, Tiktok Profile Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more.

Or you can use webhooks to carry out an action whenever an event occurs, e.g., get a notification whenever Tiktok Profile Scraper successfully finishes a run.

Using TikTok Profile Scraper with the Apify API

The Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.

You can use the apify-client NPM package to access the API using Node.js, or the apify-client PyPI package to access the API using Python.

Check out the Apify API reference docs for full details or click on the API tab for code examples.

Our TikTok scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They can only extract what the user has chosen to share publicly. However, you should be aware that your results might contain personal data.

Personal data is protected by GDPR in the European Union and other laws and regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you’re unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the legality of web scraping and ethical scraping.

Your feedback

We’re always working on improving the performance of our Actors. So if you’ve got any technical feedback for TikTok Profile scraper or simply found a bug, please create an issue on the Actor’s Issues tab in Apify Console.

Maintained by Apify
Actor metrics
  • 386 monthly users
  • 79 stars
  • 99.8% runs succeeded
  • 2.8 days response time
  • Created in Mar 2023
  • Modified 1 day ago