TikTok Profile Posts Scraper | No Login, No Cookies, Bulk
Pricing
from $1.00 / 1,000 results
TikTok Profile Posts Scraper | No Login, No Cookies, Bulk
Scrape public TikTok profile posts in bulk without login or cookies. Extract captions, hashtags, music, video URLs, dates, views, likes, comments, shares, saves, creator profiles, and audience statistics. Filter by pinned status, profile section, sorting, and date; export to JSON, CSV, or Excel.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Scraping Solutions
Maintained by CommunityActor stats
5
Bookmarked
596
Total users
106
Monthly active users
3 days ago
Last modified
Categories
Share
TikTok Profile Posts Scraper | No Login | No Cookies | Bulk
Extract public TikTok profile videos, reposts, liked-video feeds, engagement metrics, music metadata, creator statistics, and playable media URLs from one or multiple accounts. This TikTok profile scraper requires no login and no cookies, supports bulk profile processing, and produces structured data for content research, influencer analysis, competitor monitoring, lead generation, and automated reporting.
This Actor is part of the Scraping Solutions multi-platform toolkit for TikTok, Instagram, X, and LinkedIn audience and content research.
What this Actor does
- Scrapes public TikTok videos from one or multiple usernames or profile URLs.
- Supports standard, popular, oldest, and publicly available liked-video feeds.
- Extracts reposts when they are publicly available.
- Filters results by publication date.
- Optionally excludes pinned videos.
- Returns captions, hashtags, music, video dimensions, engagement metrics, and creator statistics.
- Removes duplicate video IDs within each requested profile.
- Exports results through Apify as JSON, JSONL, CSV, Excel, XML, HTML, RSS, or API responses.
Sorting and filtering options
| Input | Value | Actual behavior |
|---|---|---|
TypeVideo | Videos | Reads a public profile video feed using the selected TypeSorter mode. |
TypeVideo | Reposts | Reads the public repost feed. Repost availability depends on the profile and TikTok. |
TypeSorter | Simple | Uses the standard profile-post feed, which normally returns recent videos first. |
TypeSorter | Popular | Uses the provider's popular-post feed for the profile. |
TypeSorter | Oldest | Uses the oldest-post feed for the profile. |
TypeSorter | Liked | Reads videos the profile has liked when that feed is public. It does not sort the profile's own videos by like count. |
FilterVideoPinned | No | Keeps pinned and non-pinned videos. |
FilterVideoPinned | Yes | Excludes pinned videos from the output. |
minDate | YYYY-MM-DD | Keeps videos published on or after this date. |
maxDate | YYYY-MM-DD | Keeps videos published on or before this date. |
TypeSorter applies primarily when TypeVideo is Videos. TikTok may not expose reposts or liked-video feeds for every public profile.
Quick start
- Add one or more TikTok usernames or profile URLs to
Input_Search. - Choose
VideosorReposts. - Select the feed order and optional filters.
- Set
resultsLimit, which is applied independently to every profile. - Click Start and open the default dataset when the run finishes.
Single profile
{"Input_Search": ["google"],"TypeVideo": "Videos","FilterVideoPinned": "No","TypeSorter": "Simple","resultsLimit": 50}
Bulk profiles with date and pinned-video filters
{"Input_Search": ["nike","adidas","https://www.tiktok.com/@puma"],"TypeVideo": "Videos","FilterVideoPinned": "Yes","TypeSorter": "Popular","minDate": "2026-08-01","maxDate": "2026-08-31","resultsLimit": 200}
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
Input_Search | array | Yes | google example | TikTok usernames or public profile URLs, one per line. Values are normalized and duplicates are removed. |
TypeVideo | string | Yes | Videos | Select Videos or Reposts. |
FilterVideoPinned | string | No | No | Select Yes to exclude pinned videos. Select No to keep them. |
TypeSorter | string | No | Simple | Select Simple, Popular, Oldest, or Liked. See the behavior table above. |
minDate | string | No | Empty | Earliest publication date to include, in YYYY-MM-DD format. |
maxDate | string | No | Empty | Latest publication date to include, in YYYY-MM-DD format. |
resultsLimit | integer | No | 50 | Maximum unique results per profile. Minimum 1, maximum 10000. |
The result limit is per profile, not per run. Three profiles with resultsLimit: 200 can produce up to 600 billable dataset rows, subject to public availability, filtering, deduplication, pagination, and the run's maximum total charge.
Output fields
The dataset uses flat field names. Keys such as stats.play_count and author.unique_id contain literal periods; they are not nested JSON objects.
Video and post metadata
| Field | Description |
|---|---|
type | Requested profile section, such as Videos or Reposts. |
search | Normalized source username supplied for this result. |
isPinnedItem | Whether TikTok reports the video as pinned. |
video_id | TikTok video identifier. |
link_post | Canonical public TikTok post URL when the username and video ID are available. |
desc | Public video caption or description. |
post_date | Normalized publication date and time. |
create_time | Publication time as a Unix timestamp. |
text_language | Language code reported for the post text. |
is_ad | Whether TikTok reports the content as an advertisement. |
hashtags | Array of hashtags extracted from TikTok's text metadata. |
Music and media
| Field | Description |
|---|---|
music.title | Music or sound title. |
music.author_name | Music or sound author. |
music.id | TikTok music identifier. |
music.cover | Music cover image URL. |
video.play_url | Temporary playable media URL when exposed by TikTok. |
video.duration | Video duration in seconds. |
video.height | Reported video height in pixels. |
video.width | Reported video width in pixels. |
Engagement statistics
| Field | Description |
|---|---|
stats.play_count | Reported video view count. |
stats.comment_count | Reported comment count. |
stats.share_count | Reported share count. |
stats.digg_count | Reported like count. |
stats.collect_count | Reported save or favorite count. |
Author information
| Field | Description |
|---|---|
author.unique_id | Creator's TikTok username. |
author.nickname | Creator's public display name. |
author.id | TikTok creator identifier. |
author.verified | Reported verification status. |
author.signature | Public creator biography. |
author.avatar | Public avatar URL. |
author.follower_count | Reported profile follower count. |
author.following_count | Reported number of accounts followed by the creator. |
author.heart_count | Reported total likes received by the profile. |
author.video_count | Reported number of videos on the profile. |
link_user | Canonical public TikTok profile URL. |
Fields can be null when TikTok does not expose the corresponding value. Media, avatar, and cover URLs can expire; use link_post and link_user as the durable references.
Example output
{"type": "Videos","search": "example_creator","isPinnedItem": false,"video_id": "7559313483398008095","link_post": "https://www.tiktok.com/@example_creator/video/7559313483398008095","desc": "A public TikTok video caption #marketing","post_date": "2026-08-18 14:32:10","create_time": 1787063530,"text_language": "en","is_ad": false,"hashtags": ["marketing"],"music.title": "Original sound","music.author_name": "Example Creator","music.id": "7556815852168759313","music.cover": "https://example.tiktokcdn.com/music-cover.jpeg","video.play_url": "https://example.tiktokcdn.com/video-playback.mp4","video.duration": 34,"video.height": 1024,"video.width": 576,"stats.play_count": 184500,"stats.comment_count": 428,"stats.share_count": 871,"stats.digg_count": 19400,"stats.collect_count": 2500,"author.unique_id": "example_creator","author.nickname": "Example Creator","author.id": "6881290705605477381","author.verified": false,"author.signature": "Public profile biography","author.avatar": "https://example.tiktokcdn.com/avatar.jpeg","author.follower_count": 245000,"author.following_count": 413,"author.heart_count": 3200000,"author.video_count": 286,"link_user": "https://www.tiktok.com/@example_creator"}
The values above are illustrative; the field names match the Actor's current dataset contract.
Pricing
This Actor uses pay-per-event pricing. The primary apify-default-dataset-item event is charged once for each result successfully written to the default dataset.
| Apify plan | Per result | 500 results | 1,000 results | 5,000 results |
|---|---|---|---|---|
| Free | $0.00200 | $1.00 | $2.00 | $10.00 |
| Starter / Bronze | $0.00150 | $0.75 | $1.50 | $7.50 |
| Scale / Silver | $0.00125 | $0.625 | $1.25 | $6.25 |
| Business / Gold | $0.00100 | $0.50 | $1.00 | $5.00 |
| Platinum / Diamond | $0.00100 | $0.50 | $1.00 | $5.00 |
These examples assume that every requested row is delivered. Before a large run, confirm the current prices shown in the Actor's Pricing tab and set an appropriate maximum total charge.
Free plan limits
The Actor does not currently impose a separate source-code quota on Free users. Free users can run it within their available Apify credits and the run's selected maximum total charge. The same public input range of 1 to 10,000 results per profile is available, but billing and public data availability still apply.
For a first test, use one public username with 20 results before scaling to larger profile lists.
Use cases
Content research
Compare captions, hashtags, formats, posting dates, video durations, and media strategies across public TikTok profiles.
Influencer analysis
Evaluate creator size, posting volume, verification status, and public engagement metrics before outreach or partnerships.
Competitor monitoring
Track public competitor videos and compare their posting activity, themes, music choices, and performance.
Trend detection
Identify recurring hashtags, sounds, topics, and high-performing content across selected creators.
Lead generation
Build structured lists of active public creators for responsible qualification, partnership research, and personalized outreach.
Campaign tracking
Monitor videos published by brand partners, ambassadors, or campaign participants within a defined date range.
Media workflows
Send public post URLs, thumbnails, and temporary playback URLs into approved archiving, moderation, or analytics workflows.
Reporting and automation
Load structured TikTok data into spreadsheets, databases, BI tools, dashboards, CRMs, and scheduled reporting pipelines.
Reliability and availability
- Transient upstream responses, rate limits, and server errors are retried automatically.
- Multiple requested profiles are processed concurrently.
- A failure on one profile does not automatically discard successful results from other profiles.
- Duplicate video IDs are removed within each requested profile.
- Pagination stops when TikTok reports no more content, repeats a cursor, or returns consecutive pages without new videos.
- Private, restricted, deleted, region-limited, or unavailable profiles can return fewer results or none.
- Repost and liked-video visibility depends on each profile's public settings and current TikTok behavior.
- Sorting feeds can change over time because TikTok controls their contents and order.
- The requested result limit is a maximum, not a guarantee.
Export and integrations
Export the default dataset as JSON, JSONL, CSV, Excel, XML, HTML, or RSS. You can also run the Actor through the Apify API, save reusable Tasks, schedule recurring profile monitoring, trigger webhooks, connect supported automation tools, or include the Actor in compatible MCP workflows.
FAQ
Do I need a TikTok login or cookies?
No. The Actor works with publicly accessible profile data and does not require customer-provided TikTok credentials or cookies.
Can I process multiple usernames in one run?
Yes. Add each username or profile URL as a separate entry in Input_Search.
Is resultsLimit applied to the entire run?
No. It is applied independently to every requested profile. Multiply the limit by the number of unique profiles to estimate the maximum possible output and charge.
What does Simple sorting mean?
It uses the standard public profile-post feed, which normally provides recent videos first. TikTok ultimately controls the ordering.
Does Liked sort the creator's own videos by likes?
No. It requests videos the profile has liked, when that feed is public and available.
Can the Actor extract reposts?
Yes. Choose Reposts. TikTok does not expose reposts for every profile, so some profiles can return fewer results or none.
How do I remove pinned videos?
Set FilterVideoPinned to Yes. Despite the field's historical name, Yes means that pinned videos are excluded.
Are the date filters inclusive?
Yes. minDate keeps videos published on or after the selected date, and maxDate keeps videos published on or before it.
Why did I receive fewer results than requested?
The public feed may contain fewer available videos. Date filters, pinned-video exclusion, duplicate removal, privacy settings, unavailable feeds, exhausted pagination, and run charge limits can also reduce the result count.
Are duplicates removed?
Yes, within each requested profile using the combination of source username and video ID. The same public video can legitimately appear under different requested profiles, particularly in repost or liked-video research.
Are playback URLs permanent?
No. TikTok media URLs can expire. Store link_post as the durable post reference and refresh media URLs when necessary.
How am I billed?
One result event is charged for every row successfully delivered to the default dataset at the price applicable to your Apify plan.
Can I use the Actor through API or MCP?
Yes. Use the Actor ID cVXhGt23mAe8FX2ae through the Apify API or include it in compatible MCP workflows.
Can I export the data to CSV or Excel?
Yes. Open the default dataset and use the Export menu, or retrieve the records programmatically through the Apify API.
What compliance requirements apply?
You are responsible for using public TikTok data lawfully and for following applicable privacy, data-protection, intellectual-property, marketing, and platform requirements.
Responsible use
Use public TikTok data lawfully and proportionately. Do not use the output for spam, harassment, unlawful profiling, discriminatory decisions, unauthorized surveillance, or attempts to bypass privacy controls. Respect intellectual-property rights and applicable platform and data-protection requirements.
Related Actors by Scraping Solutions
- TikTok Followers & Following Scraper
- Instagram Hashtag Scraper | Posts & Reels
- Instagram Engagers | Likes & Comments
- Instagram Followers & Following Scraper
- X (Twitter) Followers & Following Scraper
- LinkedIn Engagers | Likers, Commenters, Reshares
Categories
Lead Generation, Social Media, Marketing
Support
Open an issue on the Actor support page. Include the run ID, public username or profile URL, selected section, sorting option, filters, requested limit, expected behavior, and actual behavior. Never include passwords, cookies, or API keys.