TikTok Profile Posts Scraper | No Login, No Cookies, Bulk avatar

TikTok Profile Posts Scraper | No Login, No Cookies, Bulk

Pricing

from $1.00 / 1,000 results

Go to Apify Store
TikTok Profile Posts Scraper | No Login, No Cookies, Bulk

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

Scraping Solutions

Maintained by Community

Actor stats

5

Bookmarked

596

Total users

106

Monthly active users

3 days ago

Last modified

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

InputValueActual behavior
TypeVideoVideosReads a public profile video feed using the selected TypeSorter mode.
TypeVideoRepostsReads the public repost feed. Repost availability depends on the profile and TikTok.
TypeSorterSimpleUses the standard profile-post feed, which normally returns recent videos first.
TypeSorterPopularUses the provider's popular-post feed for the profile.
TypeSorterOldestUses the oldest-post feed for the profile.
TypeSorterLikedReads videos the profile has liked when that feed is public. It does not sort the profile's own videos by like count.
FilterVideoPinnedNoKeeps pinned and non-pinned videos.
FilterVideoPinnedYesExcludes pinned videos from the output.
minDateYYYY-MM-DDKeeps videos published on or after this date.
maxDateYYYY-MM-DDKeeps 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

  1. Add one or more TikTok usernames or profile URLs to Input_Search.
  2. Choose Videos or Reposts.
  3. Select the feed order and optional filters.
  4. Set resultsLimit, which is applied independently to every profile.
  5. 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

FieldTypeRequiredDefaultDescription
Input_SearcharrayYesgoogle exampleTikTok usernames or public profile URLs, one per line. Values are normalized and duplicates are removed.
TypeVideostringYesVideosSelect Videos or Reposts.
FilterVideoPinnedstringNoNoSelect Yes to exclude pinned videos. Select No to keep them.
TypeSorterstringNoSimpleSelect Simple, Popular, Oldest, or Liked. See the behavior table above.
minDatestringNoEmptyEarliest publication date to include, in YYYY-MM-DD format.
maxDatestringNoEmptyLatest publication date to include, in YYYY-MM-DD format.
resultsLimitintegerNo50Maximum 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

FieldDescription
typeRequested profile section, such as Videos or Reposts.
searchNormalized source username supplied for this result.
isPinnedItemWhether TikTok reports the video as pinned.
video_idTikTok video identifier.
link_postCanonical public TikTok post URL when the username and video ID are available.
descPublic video caption or description.
post_dateNormalized publication date and time.
create_timePublication time as a Unix timestamp.
text_languageLanguage code reported for the post text.
is_adWhether TikTok reports the content as an advertisement.
hashtagsArray of hashtags extracted from TikTok's text metadata.

Music and media

FieldDescription
music.titleMusic or sound title.
music.author_nameMusic or sound author.
music.idTikTok music identifier.
music.coverMusic cover image URL.
video.play_urlTemporary playable media URL when exposed by TikTok.
video.durationVideo duration in seconds.
video.heightReported video height in pixels.
video.widthReported video width in pixels.

Engagement statistics

FieldDescription
stats.play_countReported video view count.
stats.comment_countReported comment count.
stats.share_countReported share count.
stats.digg_countReported like count.
stats.collect_countReported save or favorite count.

Author information

FieldDescription
author.unique_idCreator's TikTok username.
author.nicknameCreator's public display name.
author.idTikTok creator identifier.
author.verifiedReported verification status.
author.signaturePublic creator biography.
author.avatarPublic avatar URL.
author.follower_countReported profile follower count.
author.following_countReported number of accounts followed by the creator.
author.heart_countReported total likes received by the profile.
author.video_countReported number of videos on the profile.
link_userCanonical 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 planPer result500 results1,000 results5,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.

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.