# TikTok Profile Scraper (`excitable_pickle/tiktok-profile-scraper`) Actor

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.

- **URL**: https://apify.com/excitable\_pickle/tiktok-profile-scraper.md
- **Developed by:** [Pavan](https://apify.com/excitable_pickle) (community)
- **Categories:** Social media, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.10 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

### 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 scrape TikTok with 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](https://console.apify.com/admin/users/xDY2ivchzLh97m2ac/sign-up) a free Apify account using your email.
2. Open [TikTok Profile Scraper.](https://apify.com/clockworks/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.

Watch this video for guidance:

https://www.youtube.com/watch?v=sTkyEtAsgUs

### Input sample

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.

Here’s a sample of scraping our Apify TikTok profile.
![TikTok Profile Scraper](https://raw.githubusercontent.com/apify-projects/actor-readme-images/master/tiktok_profile_input.png)
In JSON it looks like this:

```json
{
    "profiles": ["apifytech"],
    "shouldDownloadCovers": false,
    "shouldDownloadSlideshowImages": false,
    "shouldDownloadSubtitles": false,
    "shouldDownloadVideos": false,
    "resultsPerPage": 100
}
```

### 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:
![TikTok Profile Scraper](https://raw.githubusercontent.com/apify-projects/actor-readme-images/master/tiktok_profile_output.png)
Here is the same data but in JSON. You can choose to download your TikTok profile data in JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
{
    "id": "7353646097262202145",
    "text": "👋 Hi, we’re Apify, and we make the web more programmable. #fyp #automation #webscraping #api #data ",
    "createTime": 1712154160,
    "createTimeISO": "2024-04-03T14:22:40.000Z",
    "isAd": true,
    "authorMeta": {
      "id": "7353570794285417504",
      "name": "apifytech",
      "nickName": "apifytech",
      "verified": false,
      "signature": "👋 Hi, we’re Apify, and we make the web more programmable. \n\nweb scraping, AI",
      "bioLink": null,
      "avatar": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-avt-0068-euttp/27af0c23a8046cd97757b78e0a083799~c5_720x720.jpeg?lk3s=a5d48078&nonce=85881&refresh_token=ad8b102609bb1a94bf631a5cbe855528&x-expires=1723222800&x-signature=8%2BfvQphBi9XmdkRdNfkcsU5eoOE%3D&shp=a5d48078&shcp=81f88b70",
      "commerceUserInfo": {
        "commerceUser": false
      },
      "privateAccount": false,
      "region": "CZ",
      "roomId": "",
      "ttSeller": false,
      "following": 1,
      "friends": 1,
      "fans": 852,
      "heart": 2611,
      "video": 18,
      "digg": 0
    },
    "musicMeta": {
      "musicName": "original sound",
      "musicAuthor": "apifytech",
      "musicOriginal": false,
      "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/useast2a/tos-useast2a-v-2370-euttp/oAZNvAchjI0gkBThj6ixmiIOMCZWlMtw1v6mi/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=0&dr=0&er=0&lr=default&cd=0%7C0%7C0%7C0&br=250&bt=125&ft=GNDpcInz7ThMCchrXq8Zmo&mime_type=audio_mpeg&qs=6&rc=aWc0OjtmZ2VnNzozO2U5M0BpMzQ6OHQ5cmZwcjMzZjU8M0BeNTMwMTBhXmExYGAwYGEuYSNnMGhmMmRrYDNgLS1kMWNzcw%3D%3D&btag=e00088000&expire=1723054883&l=20240807172022159BDCE512022E20516D&ply_type=3&policy=3&signature=d52768c32dcbae6d3da85b2d5bacd2aa&tk=0",
      "coverMediumUrl": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-avt-0068-euttp/27af0c23a8046cd97757b78e0a083799~c5_720x720.jpeg?lk3s=a5d48078&nonce=28058&refresh_token=ec65e1692f3b9773226608f89862f752&x-expires=1723222800&x-signature=8%2BfvQphBi9XmdkRdNfkcsU5eoOE%3D&shp=a5d48078&shcp=81f88b70",
      "musicId": "7353646113402669856"
    },
    "webVideoUrl": "https://www.tiktok.com/@apifytech/video/7353646097262202145",
    "mediaUrls": [
      "https://v16-webapp-prime.tiktok.com/video/tos/useast2a/tos-useast2a-ve-0068-euttp/occqCGNiInXfWLopZoQrpE5BIAgzl6BZ8wjhiA/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=1912&bt=956&cs=0&ds=6&ft=4fUEKMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=0&rc=OTQzaDQ1ODMzODk8NGU2ZEBpamRvOHQ5cnJwcjMzZjczM0AzYS4xL2MuXi4xXy1jNjViYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&btag=e00088000&expire=1723072883&l=20240807172022159BDCE512022E20516D&ply_type=2&policy=2&signature=f8eda1aeced9aac050193343b33014bc&tk=tt_chain_token"
    ],
    "videoMeta": {
      "height": 1024,
      "width": 576,
      "duration": 59,
      "coverUrl": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-p-0037-euttp/e91a030ddabb46a3b9c29939d7947af8_1712154438~tplv-dmt-logom:tos-useast2a-i-0068-euttp/ow7AsEgisnBIE68AAZAAwAt9ZyANiIj1jw0PB.image?lk3s=81f88b70&nonce=58841&refresh_token=6353111b5d2db9065605b848c479641d&x-expires=1723222800&x-signature=Mnuoj%2BHGPlJHfd%2FTOaZy%2Fed%2BrC8%3D&shp=81f88b70&shcp=-",
      "originalCoverUrl": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-p-0037-euttp/e91a030ddabb46a3b9c29939d7947af8_1712154438~tplv-dmt-logom:tos-useast2a-i-0068-euttp/ow7AsEgisnBIE68AAZAAwAt9ZyANiIj1jw0PB.image?lk3s=81f88b70&nonce=58841&refresh_token=6353111b5d2db9065605b848c479641d&x-expires=1723222800&x-signature=Mnuoj%2BHGPlJHfd%2FTOaZy%2Fed%2BrC8%3D&shp=81f88b70&shcp=-",
      "definition": "540p",
      "format": "mp4",
      "originalDownloadAddr": "https://v16-webapp-prime.tiktok.com/video/tos/useast2a/tos-useast2a-ve-0068-euttp/occqCGNiInXfWLopZoQrpE5BIAgzl6BZ8wjhiA/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=1912&bt=956&cs=0&ds=6&ft=4fUEKMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=0&rc=OTQzaDQ1ODMzODk8NGU2ZEBpamRvOHQ5cnJwcjMzZjczM0AzYS4xL2MuXi4xXy1jNjViYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&btag=e00088000&expire=1723072883&l=20240807172022159BDCE512022E20516D&ply_type=2&policy=2&signature=f8eda1aeced9aac050193343b33014bc&tk=tt_chain_token",
      "downloadAddr": "https://v16-webapp-prime.tiktok.com/video/tos/useast2a/tos-useast2a-ve-0068-euttp/occqCGNiInXfWLopZoQrpE5BIAgzl6BZ8wjhiA/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=1912&bt=956&cs=0&ds=6&ft=4fUEKMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=0&rc=OTQzaDQ1ODMzODk8NGU2ZEBpamRvOHQ5cnJwcjMzZjczM0AzYS4xL2MuXi4xXy1jNjViYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&btag=e00088000&expire=1723072883&l=20240807172022159BDCE512022E20516D&ply_type=2&policy=2&signature=f8eda1aeced9aac050193343b33014bc&tk=tt_chain_token",
      "subtitleLinks": [
        {
          "language": "ind-ID",
          "downloadLink": "https://v16-webapp.tiktok.com/53c401b2e6eedcd284c561c21b6d14cb/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/ade3c34fa93f4b8e848bcf074f0f71b7/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/53c401b2e6eedcd284c561c21b6d14cb/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/ade3c34fa93f4b8e848bcf074f0f71b7/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "deu-DE",
          "downloadLink": "https://v16-webapp.tiktok.com/a154ddf2995ad946c454acbe357ba0a7/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/3721133990334f6abb233dd16761deb0/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/a154ddf2995ad946c454acbe357ba0a7/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/3721133990334f6abb233dd16761deb0/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "rus-RU",
          "downloadLink": "https://v16-webapp.tiktok.com/9b0b77c6ada274f717a98219ac3420ab/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/f519a39bcbaf4812a89ce9557be4927e/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/9b0b77c6ada274f717a98219ac3420ab/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/f519a39bcbaf4812a89ce9557be4927e/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "fra-FR",
          "downloadLink": "https://v16-webapp.tiktok.com/eabf906d32239c6f9561c037418862ff/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/78a0a7fa5dc04c05a5683748ff99333e/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/eabf906d32239c6f9561c037418862ff/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/78a0a7fa5dc04c05a5683748ff99333e/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "spa-ES",
          "downloadLink": "https://v16-webapp.tiktok.com/a4797e1c5b379c51748ca64229500c0d/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/a93e36e2ba7c4f27b64221b3a3cedf4f/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/a4797e1c5b379c51748ca64229500c0d/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/a93e36e2ba7c4f27b64221b3a3cedf4f/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "spa-ES",
          "downloadLink": "https://v16-webapp.tiktok.com/f0efbb2a99b9526b5f8457788b799d7d/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/2ec34716c311480b83f39ecd9b9e4e35/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/f0efbb2a99b9526b5f8457788b799d7d/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/2ec34716c311480b83f39ecd9b9e4e35/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "cmn-Hans-CN",
          "downloadLink": "https://v16-webapp.tiktok.com/18513776a86560d22739fe0ef021c0a2/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/58e3643856ec4a10bc8b11f2696095e9/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/18513776a86560d22739fe0ef021c0a2/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/58e3643856ec4a10bc8b11f2696095e9/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "jpn-JP",
          "downloadLink": "https://v16-webapp.tiktok.com/4dd40dd5aa90559e675eedf84e847b12/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/cfac3d15b38746c18e93c777a4ee0abe/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/4dd40dd5aa90559e675eedf84e847b12/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/cfac3d15b38746c18e93c777a4ee0abe/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "eng-US",
          "downloadLink": "https://v16-webapp.tiktok.com/0332e9968c83671a1bfd8652357e42a4/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/b1c64398f67249b6a5573237a467b147/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/0332e9968c83671a1bfd8652357e42a4/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/b1c64398f67249b6a5573237a467b147/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "ita-IT",
          "downloadLink": "https://v16-webapp.tiktok.com/82caee165acf161faaef89a942c0da39/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/734107211d5e41758cd15b66a5455d84/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/82caee165acf161faaef89a942c0da39/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/734107211d5e41758cd15b66a5455d84/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "ara-SA",
          "downloadLink": "https://v16-webapp.tiktok.com/b250bba13544e715e33648e08e737864/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/df7f0bfff16b4e85aa7043289544ab25/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/b250bba13544e715e33648e08e737864/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/df7f0bfff16b4e85aa7043289544ab25/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "vie-VN",
          "downloadLink": "https://v16-webapp.tiktok.com/2f60a8d84a74487d864c69f781f8d630/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/f030663cb9c94b86a79a64689a896c1e/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/2f60a8d84a74487d864c69f781f8d630/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/f030663cb9c94b86a79a64689a896c1e/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "por-PT",
          "downloadLink": "https://v16-webapp.tiktok.com/aff51f579447924c8bac42a636bf5d45/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/3438351a1d4c4f9aa2b5e2fb631cbf49/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/aff51f579447924c8bac42a636bf5d45/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/3438351a1d4c4f9aa2b5e2fb631cbf49/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        },
        {
          "language": "kor-KR",
          "downloadLink": "https://v16-webapp.tiktok.com/54f1e63e7605e049a05e1e208ed1894d/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/929ab6ecbc3c404f859d96bd3ac38d39/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000",
          "tiktokLink": "https://v16-webapp.tiktok.com/54f1e63e7605e049a05e1e208ed1894d/66b40173/video/tos/useast2a/tos-useast2a-v-0037-euttp/929ab6ecbc3c404f859d96bd3ac38d39/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=9522&bt=4761&ds=4&ft=4b~OyMp78Zmo0NtE0-4jVdM7ypWrKsd.&mime_type=video_mp4&qs=13&rc=amRvOHQ5cnJwcjMzZjczM0BpamRvOHQ5cnJwcjMzZjczM0BoYXBkMmRjXzNgLS1kMWNzYSNoYXBkMmRjXzNgLS1kMWNzcw%3D%3D&l=20240807172022159BDCE512022E20516D&btag=e00048000"
        }
      ]
    },
    "diggCount": 725,
    "shareCount": 30,
    "playCount": 83900,
    "collectCount": 135,
    "commentCount": 10,
    "mentions": [],
    "hashtags": [
      {
        "name": "fyp"
      },
      {
        "name": "automation"
      },
      {
        "name": "webscraping"
      },
      {
        "name": "api"
      },
      {
        "name": "data"
      }
    ],
    "effectStickers": [],
    "isSlideshow": false,
    "isPinned": true,
    "input": "apifytech"
  },
```

### How can I use the data extracted with TikTok Profile Scraper?

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**

### Integrate TikTok Profile Scraper and automate your workflow

Last but not least, TikTok Scraper can be connected with almost any cloud service or web app thanks to [integrations](https://apify.com/integrations) on the Apify platform</a>.

These include:

- [Make](https://docs.apify.com/platform/integrations/make)
- [Zapier](https://docs.apify.com/platform/integrations/zapier)
- [Slack](https://docs.apify.com/platform/integrations/slack)
- [Airbyte](https://docs.apify.com/platform/integrations/airbyte)
- [GitHub](https://docs.apify.com/platform/integrations/github)
- [Google Drive](https://docs.apify.com/platform/integrations/drive)
- and [much more](https://docs.apify.com/platform/integrations).

Alternatively, you can use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to carry out an action whenever an event occurs, e.g. get a notification whenever TikTok Profile Scraper successfully finishes a run.

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

Use dedicated Actors if you want to **scrape specific TikTok data**.

<table>
<tr>
<td>🎵 <a href="https://apify.com/clockworks/tiktok-scraper">TikTok Scraper</a></td>
<td>💬 <a href="https://apify.com/clockworks/tiktok-comments-scraper">TikTok Comments Scraper</a></td>
<td>📝 <a href="https://apify.com/clockworks/tiktok-transcript-extractor">TikTok Transcript Extractor</a></td>
</tr>
<tr>
<td>#️⃣ <a href="https://apify.com/clockworks/tiktok-hashtag-scraper">TikTok Hashtag Scraper</a></td>
<td>🎸 <a href="https://apify.com/clockworks/tiktok-sound-scraper">TikTok Sound Scraper</a></td>
<td>🔍 <a href="https://apify.com/clockworks/tiktok-discover-scraper">TikTok Discover Scraper</a></td>
</tr>
<tr>
<td>🕵️ <a href="https://apify.com/clockworks/tiktok-user-search-scraper">TikTok User Search Scraper</a></td>
<td>🛒 <a href="https://apify.com/clockworks/tiktok-shop-scraper">TikTok Shop Scraper</a></td>
<td>👥 <a href="https://apify.com/clockworks/tiktok-followers-scraper">TikTok Followers Scraper</a></td>
</tr>
<tr>
<td>🧭 <a href="https://apify.com/clockworks/tiktok-explore-scraper">TikTok Explore Scraper</a></td>
<td>📊 <a href="https://apify.com/clockworks/tiktok-ads-scraper">TikTok Hashtag Analytics</a></td>
<td>📈 <a href="https://apify.com/clockworks/tiktok-trends-scraper">TikTok Trends Scraper</a></td>
</tr>
<tr>
<td>📥 <a href="https://apify.com/clockworks/free-tiktok-scraper">TikTok Data Extractor</a></td>
<td>📹 <a href="https://apify.com/clockworks/tiktok-video-scraper">TikTok Video Scraper</a></td>
<td></td>
</tr>
</table>

### Not your cup of tea? Build your own scraper.\*\*

TikTok Profile Scraper doesn’t exactly do what you need?

You can always build your own! Use one of [scraper templates](https://apify.com/templates) in Python, JavaScript, and TypeScript to get started.

Alternatively, you can write it from scratch using our [open-source library Crawlee](https://crawlee.dev/). You can keep the scraper to yourself or make it public by adding it to Apify Store and [start making money](https://blog.apify.com/how-to-scrape-tiktok-tutorial/) on it.

Or let us know if you need a [custom scraping solution](https://apify.com/custom-solutions).

### **Your feedback**

We’re always working on improving our Actors' performance. If you have any technical feedback for TikTok Scraper or simply found a bug, please create an issue on the Actor’s [Issues tab](https://console.apify.com/actors/0FXVyOXXEmdGcV88a/issues) in Apify Console.

### Error items

When the scraper cannot retrieve data for a given input — for example a profile is private or a post has been deleted — it pushes an **error item** to the dataset instead of silently skipping it. Normal output items are never affected; you can tell them apart by the presence of an `errorCode` field.

#### Error item structure

```json
{
    "url": "https://www.tiktok.com/@someuser",
    "input": "someuser",
    "error": "Profile is private",
    "errorCode": "PROFILE_PRIVATE"
}
```

#### Error codes reference

| `errorCode`                      | Meaning                                                        |
| -------------------------------- | -------------------------------------------------------------- |
| `NOT_FOUND`                      | Profile or hashtag does not exist                              |
| `POST_NOT_FOUND_OR_PRIVATE`      | Post URL is gone or private                                    |
| `POST_SENSITIVE`                 | Post is flagged as sensitive content                           |
| `NO_TRENDING_FOR_HASHTAG`        | No ads found for this hashtag                                  |
| `MUSIC_NOT_FOUND`                | No videos found for the music tag                              |
| `SEARCH_QUERY_NOT_FOUND`         | No videos found for the search query                           |
| `SEARCH_QUERY_PROFILE_NOT_FOUND` | No profiles found for the search query                         |
| `FILTER_NO_PASS`                 | Videos exist but none match the active date/popularity filters |
| `PROFILE_EMPTY`                  | Profile has no videos (or is behind a login wall)              |
| `PROFILE_REPOSTS_EMPTY`          | Profile has no reposts (or is behind a login wall)             |
| `PROFILE_STORIES_EMPTY`          | Profile has no active story right now                          |
| `PROFILE_FOLLOWING_EMPTY`        | Profile is not following anyone                                |
| `PROFILE_FOLLOWERS_EMPTY`        | Profile has no followers                                       |
| `PROFILE_PRIVATE`                | Profile is private                                             |
| `GOOGLE_RUN_NO_RESULTS`          | Google-assisted run returned no results                        |
| `TRENDING_EMPTY`                 | Trending page returned no results                              |
| `INVALID_INPUT`                  | Actor failed due to bad configuration (run is also terminated) |
| `INVALID_URLS`                   | One or more start URLs were malformed                          |

***

### FAQ

#### How can I use TikTok Profile Scraper with the Apify API?

The Apify API gives you programmatic access to the Apify platform. [The API](https://apify.com/clockworks/tiktok-scraper/api/client/nodejs) 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.

To access the API using Node.js, use the `apify-client` NPM package. To access the API using Python, use the `apify-client` PyPI package.

Check out the <a href="https://docs.apify.com/api/v2"  target="_blank"> Apify API reference</a> docs for full details or click on the <a href="https://apify.com/clockworks/tiktok-profile-scraper/api"  target="_blank"> TikTok Scraper API tab</a> for code examples.

#### Is it legal to scrape profiles with TikTok Profile Scraper?

Our [TikTok scrapers](https://apify.com/store?search=tiktok), TikTok Profile Scrapers included, 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](https://blog.apify.com/is-web-scraping-legal/) and [ethical scraping](https://blog.apify.com/what-is-ethical-web-scraping-and-how-do-you-do-it/).

#### How much does it cost to use TikTok Profile Scraper?

TikTok Profile Scraper uses the Pay-per-result pricing model, so your costs can be easily calculated: it will cost you **$5 to scrape 1,000 results**, so $0.005 per item. Apify provides you with $5 free usage credits every month on the [Apify Free plan](https://apify.com/pricing), so you can **get 1,000 results from TikTok Comments Scraper for free**.

But if you need to extract data regularly, you should get an Apify subscription. We recommend our $29/month Starter plan — that one could get you **over 5,800 results from TikTok Profile Scraper** every month

# Actor input Schema

## `profiles` (type: `array`):

Add one or multiple TikTok usernames or user IDs you want to scrape. You can enter the usernames one by one, or use the <strong>Bulk edit</strong> section to add a prepared list.

## `profileScrapeSections` (type: `array`):

If a profile has reposted videos, you can scrape them by selecting 'Reposts'. If a profile currently has an active story, you can scrape it by selecting 'Stories'

## `profileSorting` (type: `string`):

Select Latest to scrape the most recent videos first, Oldest - the oldest videos first, Popular - the most popular videos first. Date filters only work with Latest and Oldest. Only supported for Videos section. Note: Popular sorting is limited by TikTok to approximately 400–500 videos per profile and may return significantly fewer results than Latest or Oldest.

## `resultsPerPage` (type: `integer`):

The number of posts that will be scraped from every profile.

## `oldestPostDateUnified` (type: `string`):

Optional charged filter. Only videos uploaded after or on this date will be scraped. Alternatively, specify how old the scraped videos should be in days. Putting <code>1</code> will get you only today's posts, <code>2</code> - yesterday's and today's, and so on.

## `newestPostDate` (type: `string`):

Optional charged filter. Only videos uploaded before or on this date will be scraped.

## `mostDiggs` (type: `integer`):

Optional charged filter. Scrapes only videos with less hearts than the number you add. Doesn't work with date filters

## `leastDiggs` (type: `integer`):

Optional charged filter. Scrapes only videos with no less hearts than the number you add. Doesn't work with date filters

## `maxFollowersPerProfile` (type: `integer`):

Scrapes number of 'Followers' profiles requested from the inputted profiles. You can find the link to the dataset under the followDatasetUrl field in the output. If you want to scrape only Followers/Following profiles, go to our TikTok Followers Scraper.

## `maxFollowingPerProfile` (type: `integer`):

Scrapes number of 'Following' profiles requested from the inputted profiles. You can find the link to the dataset under the followDatasetUrl field in the output. If you want to scrape only Followers/Following profiles, go to our TikTok Followers Scraper.

## `excludePinnedPosts` (type: `boolean`):

Tick to exclude pinned posts from profiles. Pinned posts are usually the first videos on a profile's page.

## `shouldDownloadVideos` (type: `boolean`):

This is a charged add-on. Tick to download TikTok videos.

## `shouldDownloadCovers` (type: `boolean`):

Tick to download TikTok video cover images (thumbnails).

## `downloadSubtitlesOptions` (type: `string`):

Choose how to handle subtitles and audio transcription for input videos. Subtitles are provided by TikTok for some videos, and transcription means that this Actor will use speech-to-text AI to generate video transcript. Transcripts are charged as an extra event according to your plan.

## `shouldDownloadSlideshowImages` (type: `boolean`):

Tick to download TikTok slideshow images.

## `shouldDownloadAvatars` (type: `boolean`):

Tick to download authors' profile pictures.

## `videoKvStoreIdOrName` (type: `string`):

Name (or ID) of the Key Value Store where the videos and other media like thumbnails will be stored. Omit to store in the default one. Using this option will provide a named Key-Value store can help bypass data retention and store the content forever until the store is manually deleted.<br><br>The Key-Value store's name can consist of a versatile combination of uppercase letters, lowercase letters, digits, or hyphens, all without any spaces.

## `commentsPerPost` (type: `integer`):

The number of comments extracted from every result. Due to TikTok API limitations, the actual number of scraped comments may differ, especially for posts with thousands of comments. The link to the dataset will be under a field commentsDatasetURL in the output.

## `topLevelCommentsPerPost` (type: `integer`):

The maximum number of top-level (non-reply) comments you want from a single post.

## `maxRepliesPerComment` (type: `integer`):

The maximum number of replies you want from a single comment.

Note: Successful extraction of all desired replies is currently not guaranteed.

## Actor input object example

```json
{
  "profiles": [
    "apifylife"
  ],
  "profileScrapeSections": [
    "videos"
  ],
  "profileSorting": "latest",
  "resultsPerPage": 100,
  "oldestPostDateUnified": "2024-01-01",
  "newestPostDate": "2024-12-31",
  "mostDiggs": 1000000,
  "leastDiggs": 1000,
  "excludePinnedPosts": false,
  "shouldDownloadVideos": false,
  "shouldDownloadCovers": false,
  "downloadSubtitlesOptions": "NEVER_DOWNLOAD_SUBTITLES",
  "shouldDownloadSlideshowImages": false,
  "shouldDownloadAvatars": false,
  "videoKvStoreIdOrName": "tiktok-videos"
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "profiles": [
        "apifylife"
    ],
    "maxFollowersPerProfile": 0,
    "maxFollowingPerProfile": 0,
    "commentsPerPost": 0,
    "topLevelCommentsPerPost": 0,
    "maxRepliesPerComment": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("excitable_pickle/tiktok-profile-scraper").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 = {
    "profiles": ["apifylife"],
    "maxFollowersPerProfile": 0,
    "maxFollowingPerProfile": 0,
    "commentsPerPost": 0,
    "topLevelCommentsPerPost": 0,
    "maxRepliesPerComment": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("excitable_pickle/tiktok-profile-scraper").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 '{
  "profiles": [
    "apifylife"
  ],
  "maxFollowersPerProfile": 0,
  "maxFollowingPerProfile": 0,
  "commentsPerPost": 0,
  "topLevelCommentsPerPost": 0,
  "maxRepliesPerComment": 0
}' |
apify call excitable_pickle/tiktok-profile-scraper --silent --output-dataset

```

## MCP server setup

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

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/zYqTxZvadow74lkwa/builds/dtcGs26gPwoFQnahy/openapi.json
