TikTok Profile Videos Scraper
Pricing
from $0.40 / 1,000 video results
TikTok Profile Videos Scraper
Collect public videos from one or more TikTok profiles with normalized post and engagement data.
Pricing
from $0.40 / 1,000 video results
Rating
0.0
(0)
Developer
Scrape Lads
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
What does TikTok Profile Videos Scraper do?
TikTok Profile Videos Scraper downloads the public video catalog of any TikTok profile as structured rows. Collect public videos from one or more TikTok profiles with normalized post and engagement data. Give it your inputs, press Start, and the Output tab fills with one clean row per record, ready to download as JSON, CSV, or Excel.
It works entirely with public TikTok data and never asks for TikTok login credentials. Because it runs on Apify you also get a REST API, scheduled runs, webhooks, integrations with tools such as Google Sheets, Slack, Make, and Zapier, proxy rotation, and a full log of every execution.
This Actor is deliberately narrow. Its input form asks only for the values this one job needs and its Output view shows only the columns this job produces, so nobody has to pick a technical mode to get a useful result.
Why use TikTok Profile Videos Scraper?
Build a competitor content library
One run gives you every recent post from a rival account with the numbers attached, ready to pivot in a spreadsheet by format, sound, or hashtag.
Find the posts that actually performed
Sort by views or by engagement to isolate the handful of posts carrying an account, then study what they have in common.
Archive your own catalog
TikTok analytics windows expire. Scheduling this Actor against your own handle keeps a permanent, exportable history of post performance.
Feed dashboards and models
Field names are stable across runs, so the output drops straight into BigQuery, a warehouse table, or a BI dashboard through the Apify API or an integration.
How to use TikTok Profile Videos Scraper
- Click Try for free or open the Actor in Apify Console.
- On the Input tab, fill in TikTok handles or profile URLs.
- Set a result limit. A small number is the right choice for a first run.
- Press Start and watch the log.
- Open the Output tab to browse the results, or use Export for JSON, CSV, or Excel.
- Happy with the setup? Press Save as task so you can repeat or schedule it in one click.
Ready-made tasks
These input presets ship with the Actor and are ready to run or schedule as they are.
| Task | Saved as |
|---|---|
| Catalog competitor content | competitor-content-catalog |
| Archive your own post history | own-account-archive |
Input
| Field | Label | Type | Required | Default | Notes |
|---|---|---|---|---|---|
handles | TikTok handles or profile URLs | array | Yes | Accepts @username, username, or a full TikTok profile URL. | |
maxResults | Maximum results | integer | No | 100 | Stop after this many output records. Start small on your first run. |
maxProviderSpendUsd | Maximum provider spend | number | No | 5 | Hard USD ceiling for third-party data collection. This job starts one provider run per input and Apify reserves at least $2 of headroom for each, so allow roughly $2 per handle. Real charges are normally a fraction of a cent. |
Example input:
{"handles": ["@gymshark","@nike"],"maxResults": 300,"maxProviderSpendUsd": 6}
Limits apply to the complete run, not separately to each input, so a limit of 100 spread over four inputs returns roughly 25 records each.
Output
The Actor returns normalized public video records from the requested profiles. Every record below came from a real verification run.
{"resultType": "video","sourceInput": "https://www.tiktok.com/@tiktok/video/7668726289376808222","videoId": "7668726289376808222","videoUrl": "https://www.tiktok.com/@tiktok/video/7668726289376808222","authorUsername": "tiktok","authorName": "TikTok","caption": "The ⚽🏆 kicked it with Cape Verde, and now @onlyaangiie is showing how locals kick it 🇨🇻","hashtags": [],"likes": 3239,"views": 178137,"shares": 219,"comments": 908,"saves": 292,"duration": 40,"coverUrl": "https://p19-common-sign.tiktokcdn-eu.com/tos-useast8-p-0068-tx2/oIkrPaA4IIQBVqAIZkUIZGfE2QkIqeAeAAALDj~tplv-tiktokx-cropcenter-q:300:400:q70.heic","musicTitle": "original sound - tiktok","authorFollowers": 95090579,"uploadedAt": "2026-07-31T16:14:47.000Z","scrapedAt": "2026-08-02T12:46:20.345Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel, pull it from the Apify API, or push it onward through an integration. Each run also stores a COST_ESTIMATE record and an INTELLIGENCE_RUN_SUMMARY record in its key-value store.
Output fields
| Field | Type | Meaning |
|---|---|---|
videoId | string | TikTok video ID |
videoUrl | string | Canonical link to the video |
authorUsername | string | Creator handle without the @ |
authorName | string | Creator display name |
authorFollowers | number | Creator follower count when the source exposes it |
caption | string | Full post caption |
hashtags | array | Hashtags parsed out of the post |
views | number | Play count |
likes | number | Like count |
comments | number | Comment count |
shares | number | Share count |
saves | number | Save or favourite count |
duration | number | Video length in seconds |
musicTitle | string | Sound or track attached to the post |
coverUrl | string | Thumbnail image URL |
uploadedAt | date | Publication time in UTC |
sourceInput | string | Keyword, handle, or URL that produced the row |
scrapedAt | date | Collection time in UTC |
Missing values are returned as null or as an empty string rather than being dropped, so exported columns stay aligned across every row.
How much does it cost to scrape TikTok?
This Actor is priced pay per event, so you are charged for results rather than for runtime.
| Event | Price | When it is charged |
|---|---|---|
| Actor start | $0.005 | Charged once when a run begins. |
| Video result | $0.0005 | One public video collected from a profile. A third-party data provider is billed separately for this mode. |
Apify Store plan discounts apply automatically to the result event, so larger plans pay less per record:
| Your Apify plan | Free | Starter | Scale | Business |
|---|---|---|---|---|
| Price per 1,000 results | $0.50 | $0.45 | $0.42 | $0.40 |
You also pay your own Apify platform usage for the run, the same as any Actor you run yourself. The Apify free plan includes monthly credit that covers small runs.
This job uses a maintained provider Actor for signed TikTok data access. The Maximum provider spend input is a hard ceiling that is passed to every provider call, and the run stops collecting rather than exceeding it.
Before collection starts the Actor writes a COST_ESTIMATE record with the maximum price of that specific run, so the ceiling is visible in the run storage before any significant work happens. The Apify free plan includes monthly platform credit that covers small runs, and the cheapest way to control spend is a modest result limit rather than a large run you abort.
Tips and advanced options
- The result limit covers the whole run. Passing three handles with a limit of 300 gives roughly 100 posts each.
- This job starts one provider run per handle, so allow about $2 of provider spend per handle you submit.
- If a run stops early because the spend cap is reached, it keeps every record collected so far and tells you in the log.
- Reposts can appear in a profile feed. Filter on
authorUsernamewhen you want original posts only. - Start with one input and a small limit to confirm the shape of the output before scaling up.
- Filter on
sourceInputwhen a single run covers several handles, keywords, or URLs. - Treat private, removed, or region-blocked content as unavailable rather than as a zero metric.
Related TikTok Actors
| Actor | What it does |
|---|---|
| TikTok Creator Comparison | Compare TikTok creators with rankings, engagement rates, median views, viral outliers, content patterns, and change tracking. |
| TikTok Keyword Video Search | Find public TikTok videos matching keywords and export their creators, captions, and engagement metrics. |
| TikTok Comments Scraper | Extract public TikTok comments, authors, likes, replies, pinned status, and creator-like signals. |
| TikTok Profile Scraper | Look up public TikTok profiles and export follower counts, bios, verification, and account statistics. |
| TikTok Video Metrics Scraper | Fetch metrics and metadata for specific public TikTok video URLs. |
| TikTok Followers Scraper | Collect normalized public follower profiles for one or more TikTok accounts. |
All of them share the same collection engine and the same field names, so their datasets join together cleanly.
FAQ
How far back does the catalog go?
As far as the public profile feed exposes, capped by your result limit. Very large accounts are best collected in scheduled batches.
Does it work on private accounts?
No. Only public profiles are accessible, which is the same content any logged-out visitor can see.
Can I get the video files?
The Actor returns metadata and a thumbnail URL rather than downloading media, which keeps runs fast and storage cheap.
Is scraping TikTok legal?
Collecting public data is generally legal in most jurisdictions, and this Actor only reads pages any logged-out visitor can see. You remain responsible for how you use what you collect: follow TikTok's terms, honour applicable privacy law such as GDPR and CCPA when records describe identifiable people, and do not republish personal data you have no basis to process.
Something looks wrong. What now?
Public pages and upstream schemas change. If a field stops populating or a run fails, open the Issues tab on this Actor with the run ID and the input you used. Feature requests and custom export formats are welcome through the same channel.