# How to Scrape TikTok Profiles and Their Videos

To scrape TikTok profiles, put usernames (without the @) in the usernames input of apidojo's TikTok Profile Scraper on Apify, or profile URLs in startUrls, and set maxItems for the number of videos.

[![apidojo](/blog/authors/apidojo.png)**Apidojo** *15+ years of experience in data retrieval.*](/blog/authors/apidojo/)

**12 October 2026** Published

**4 min** Read

![Cover card reading 'How to Scrape TikTok Profiles and Their Videos'](/blog/covers/scrape-profiles.png)

**To scrape TikTok profiles, put usernames (without the @) in the `usernames` input of apidojo’s [TikTok Profile Scraper](https://apify.com/apidojo/tiktok-profile-scraper) on Apify, or profile URLs in `startUrls`, and set `maxItems` for the number of videos.** Each result is a video with its views, likes, comments, shares and upload time, plus the creator’s profile: bio, followers, following and verification.

Profile data answers questions like “how does this creator perform?” and “what does this competitor post?”. This guide covers the inputs, the fields, which apidojo actor to use for which job, and costs. The overview of every TikTok data type is in [how to scrape TikTok data in 2026](/blog/tiktok-scraping/how-to-scrape-tiktok/). To go from one creator to their audience, [how to scrape TikTok followers and following lists](/blog/tiktok-scraping/scrape-followers/) picks up where this leaves off, and [how to scrape TikTok comments and replies](/blog/tiktok-scraping/scrape-comments/) adds what viewers say.

## Which apidojo Actor Should You Use for TikTok Profiles?

**Use the Profile Scraper for a creator’s videos and stats, the User Scraper for profile details on many accounts, and the Profile Scraper API for many profiles with only a few recent videos each.** The table compares them (Apify, [Apify](https://apify.com/apidojo/tiktok-profile-scraper-api), [Apify](https://apify.com/apidojo/tiktok-user-scraper)).

| Actor | Input | Returns | Price |
| --- | --- | --- | --- |
| TikTok Profile Scraper | usernames or startUrls | Videos with full profile details | $0.30 per 1,000 posts |
| Fast TikTok Profile Scraper API | Profiles | Profile plus recent videos | $0.006 per profile, including 20 posts, then $0.0003 per post |
| TikTok User Scraper | Profile or video URLs | Profile details, plus follower and following lists | $0.005 per query (about 10 users included), then $0.0005 per user |

## How Do You Scrape a TikTok Profile’s Videos?

**You scrape a profile’s videos by listing the username and a cap on videos, then running the actor.** Listed below are the 4 steps.

1.  **Open** TikTok Profile Scraper.
2.  **Add** usernames without the @, or profile URLs.
3.  **Set** `maxItems` to the total number of videos you want across all profiles.
4.  **Run** and export the dataset as JSON, CSV or Excel.

```
{
  "usernames": ["gordonramsayofficial", "nasa"],
  "maxItems": 500
}
```

`maxItems` counts videos across the whole run, not per profile, so raise it when you add accounts. Each profile must exist and have at least 10 posts (Apify).

To limit a profile to a date range, use the `since` and `until` inputs. In the actor’s own example, `"until": "2025-01-01"` with `"since": "2025-03-31"` returns only posts published between January 1 and March 31, 2025, and dates can be written as `YYYY-MM-DD` (Apify).

## What Data Does a Scraped TikTok Profile Contain?

**Each result is one video with a `channel` object describing the creator, and a `collabInfo` object when the post is a collaboration.** The fields below come from the Profile Scraper’s output example (Apify).

| Field | Contains |
| --- | --- |
| channel.username, channel.name | Handle and display name |
| channel.bio, channel.verified | Bio text and verification |
| channel.followers, channel.following | Follower and following counts |
| channel.videos | Total videos on the account |
| views, likes, comments, shares, bookmarks | The video’s engagement |
| uploadedAtFormatted | When the video was posted |
| hashtags, song | Hashtags and the sound used |
| collabInfo | Collaborators on a joint post, with their usernames and follower counts |
| postPage | The video’s link |

## How Do You Turn Profile Videos Into Creator Stats?

**Group the videos by creator and compute posting frequency, median views and engagement rate.** Medians are safer than averages because one viral video skews an average.

```
import pandas as pd
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("apidojo/tiktok-profile-scraper").call(run_input={
    "usernames": ["creator1", "creator2", "creator3"],
    "maxItems": 300,
})
df = pd.json_normalize(list(client.dataset(run.default_dataset_id).iterate_items()))

df["er"] = (df["likes"] + df["comments"] + df["shares"] + df["bookmarks"]) / df["views"] * 100
stats = df.groupby("channel.username").agg(
    followers=("channel.followers", "max"),
    videos=("id", "count"),
    median_views=("views", "median"),
    median_er=("er", "median"),
)
print(stats.sort_values("median_views", ascending=False))
```

The engagement rate formula is explained in [how to calculate TikTok engagement rate](/blog/tiktok-analytics/engagement-rate/), and tracking these numbers over time in [how to track competitors on TikTok](/blog/tiktok-scraping/track-competitors/).

## What Does Scraping TikTok Profiles Cost?

**At $0.30 per 1,000 posts, 50 creators with 100 videos each cost $1.50 on TikTok Profile Scraper.** For hundreds of profiles where you only need recent videos, the Profile Scraper API’s per-profile price, $0.006 including 20 posts, is usually lower.

| Job | Actor | Cost |
| --- | --- | --- |
| 50 creators, 100 videos each | TikTok Profile Scraper | $1.50 |
| 1,000 creators, 20 recent videos each | Fast TikTok Profile Scraper API | $6 |
| 1,000 profile URLs, details only | TikTok User Scraper | $5 |

## What Can’t You Scrape From a TikTok Profile?

**Private accounts’ videos, profile viewers and private analytics aren’t public, so no scraper can collect them.** Follower lists are a separate job, covered in [how to scrape TikTok followers and following lists](/blog/tiktok-scraping/scrape-followers/).

## The scrapers behind this

-   [TikTok Profile Scraper Creator profiles with full video history and engagement; 425 posts/sec $0.30 / 1K posts](/scrapers/tiktok-profile-scraper/)
-   [TikTok User Scraper Users, followers and following lists by username or URL $0.005 / query + $0.50 / 1K users](/scrapers/tiktok-user-scraper/)

## Questions people ask

### Can you scrape a TikTok profile without logging in?

Yes, apidojo's actors read public profiles without a TikTok login.

### Can you scrape every video on a profile?

Yes, set `maxItems` above the account's video count or leave it empty.

### Can you scrape TikTok profiles from a list of video URLs?

Yes, TikTok User Scraper accepts video URLs and returns the creator's profile.

### Where do you start?

At [how to scrape TikTok data in 2026](/blog/tiktok-scraping/how-to-scrape-tiktok/).

## More on scraping TikTok data

-   [How to Scrape TikTok Data in 2026 What TikTok data you can scrape, the 3 ways to collect it, which apidojo actor fits each task, limits, costs and Python code.](/blog/tiktok-scraping/how-to-scrape-tiktok/)
-   [How to Scrape TikTok Comments and Replies Export every comment and reply on any public TikTok video with text, likes, language and commenter profile, plus Python code.](/blog/tiktok-scraping/scrape-comments/)
-   [How to Scrape TikTok Followers and Following Lists Export TikTok follower and following lists with profile details, the limits on large and hidden lists, and how to use the data.](/blog/tiktok-scraping/scrape-followers/)
-   [How to Scrape TikTok Hashtag Pages Collect every video on a TikTok hashtag with views, likes and creators, measure the hashtag's daily growth, and find who drives it.](/blog/tiktok-scraping/scrape-hashtags/)
-   [How to Scrape TikTok Search Results Scrape TikTok keyword search results by country and sort order, turn video results into a creator list, and see what it costs.](/blog/tiktok-scraping/scrape-search-results/)
-   [How to Scrape TikTok Sounds and Music Data Scrape the videos using any TikTok sound, read the song fields, measure a sound's growth, and extract audio from your own videos.](/blog/tiktok-scraping/scrape-sounds/)
-   [How to Scrape Location-Tagged TikTok Videos Scrape TikTok videos tagged at a venue or landmark, target results by country, and use location data for local research.](/blog/tiktok-scraping/scrape-locations/)
-   [How to Download TikTok Videos in Bulk Collect TikTok video links in bulk, download the files with Python, keep their details, and follow the rules on rights and reuse.](/blog/tiktok-scraping/bulk-download-videos/)
-   [How to Collect TikTok Data With Python A Python script that searches TikTok videos, scrapes comments on the best ones, cleans the data and saves it, with costs and limits.](/blog/tiktok-scraping/tiktok-python/)
-   [TikTok Scraping Limits: Pagination and Rate Limits The documented limits of apidojo's TikTok actors, how pagination and maxItems work, and fixes for runs that return too few results.](/blog/tiktok-scraping/limits-pagination/)
-   [Why geotagged TikTok posts arrive without a geotag TikTok Location Scraper returns posts filed under a place, and not one field in the output names that place. Here is how to keep the provenance.](/blog/tiktok/tiktok-location-provenance/)
-   [TikTok date windows that return nothing, and why TikTok Profile Scraper's since and until mean the opposite of what almost everyone assumes. Swap them and the run returns an empty dataset.](/blog/tiktok/tiktok-since-until/)
-   [Why your TikTok user run cost three queries getFollowers and getFollowing are both on by default, and each is its own charge on top of the profile lookup. An unconfigured run bills three times.](/blog/tiktok/tiktok-user-defaults/)

![apidojo](/blog/authors/apidojo.png)

## [Apidojo](/blog/authors/apidojo/)

15+ years of experience in data retrieval.

API Dojo is always ready for you. With 15+ years of experience, data acquisition has never been that easy. Cheapest prices with high availability.

-   🏯 15+ years of experience in data retrieval.
-   💰 Cheapest prices, qualified data.
-   ⚙️ High availability, extreme maintenance.
-   🐉 Hyper communicative, excellent support.

-   [apify.com](https://apify.com/apidojo)
-   [x.com](https://x.com/apidojo_)
-   [github.com](https://github.com/apidojo-io)
