TikTok Profile Posts Scraper
Pricing
from $1.00 / 1,000 profile posts
TikTok Profile Posts Scraper
Scrape the videos of public TikTok profiles - captions, authors, stats, music, hashtags, and video URLs.
Pricing
from $1.00 / 1,000 profile posts
Rating
0.0
(0)
Developer
Harpoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape the videos of any public TikTok profile - captions, authors, stats, music, hashtags, and video URLs - in one clean dataset. Paste a profile URL or @handle, press Start, and get structured JSON/CSV/Excel.
What can this Actor do?
- Videos of any public profile - latest videos first, paginated until it reaches your
max_videoscap. - Profile plus content in one row - each row carries the author's followers, total likes, and video count alongside the video stats.
- Full engagement metrics - plays, likes, comments, shares, and collects per video.
- Media and music details - cover, dynamic cover, play/download URLs, sound title, artist, and duration.
- Hashtags - extracted as a clean array.
- Deduplicated - a video never appears twice, even across pages.
Why use this Actor?
- No code required - the input form is prefilled with a working example; press Start and it runs as-is.
- Reliable at scale - rotating proxy pool, request hedging, and automatic retries handle TikTok's variability.
- Clean schema - a single flat row per video, ready for your warehouse, sheet, or dashboard.
- Pay per result - you only pay for the videos that actually land in the dataset.
How to use it
- Open the Input tab.
- Paste one or more profile URLs or
@handlesinto Profiles. - Set Max videos per profile (default
100). - Press Start and download your data from the Output tab.
{"profiles": ["https://www.tiktok.com/@mahmoudridaabbas"],"max_videos": 100}
Accepted profile references: https://www.tiktok.com/@user, @user, or user.
Output
One dataset row per video:
{"id": "7510595766524710149","profile_username": "mahmoudridaabbas","description": "🥹🥀#gaza #palestine #freepalestine #support #fypシ゚","created_at": 1748696852,"url": "https://www.tiktok.com/@mahmoudridaabbas/video/7510595766524710149","author": {"username": "mahmoudridaabbas","nickname": "Mahmoud Abbas /Palestine","id": "7206569119830672410","sec_uid": "MS4wLjABAAAA_BrZcjaxkyDTWXD4CWdpKw7noYN_na2xFI2ttMV4THAXq0O6xRRUR2LyEOYdRw6N","verified": true,"private": false,"signature": "الحساب الرسمي لفلسطين ...","avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/e5ee49b75246bfae0df69669c...","follower_count": 173400,"following_count": 28,"video_count": 157,"heart_count": 356800},"stats": {"play_count": 70400,"like_count": 5531,"comment_count": 412,"share_count": 276,"collect_count": 307},"music": {"id": "7327265877370784514","title": "suara asli - Hijrah ja","author_name": "JojoMBUD","duration": 23,"original": true,"play_url": "https://v45.tiktokcdn-eu.com/bd730a9dd7d835efe6228082b8baf3c1/6aae955c/video/tos/alis..."},"hashtags": ["gaza", "palestine", "freepalestine", "support", "fypシ゚"],"video": {"duration": 0,"ratio": "","width": 0,"height": 0,"definition": "","cover_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-i-photomode-us/1292ab79a3a54756aa...","dynamic_cover_url": "","play_url": "","download_url": ""},"scraped_at": "2026-09-18T13:59:29Z"}
| Field | Description |
|---|---|
id | Numeric video id |
profile_username | The profile you requested |
description | Video caption |
created_at | Unix creation timestamp |
url | Canonical video URL |
author | Author profile: username, nickname, id, sec_uid, verified, bio, avatar, follower/following/video/heart counts |
stats | play_count, like_count, comment_count, share_count, collect_count |
music | Sound id, title, artist, duration, original flag, play URL |
hashtags | Array of hashtags |
video | Duration, ratio, dimensions, definition, cover/dynamic cover/play/download URLs |
scraped_at | When the row was collected (ISO 8601) |
Pricing
This Actor is billed per 1,000 results (one result = one video). See the Pricing tab for the current rate. A run that returns no new videos is not charged.
FAQ
Do I need cookies or a login? No. Public profiles only - no TikTok account required. The Actor uses a managed signature service and rotating residential proxies under the hood.
Can I scrape private profiles? No. Private accounts and videos are not returned.
How recent are the videos? Newest first, as TikTok orders the profile grid. Long profiles are paginated until max_videos is reached or the profile is exhausted.
Can I run several profiles at once? Yes. Add one profile per line; they are fetched in parallel.
Limitations
- Only public profiles.
max_videoscaps the returned rows; very large profiles take longer.- Video
play_url/download_urlare signed CDN links and can expire; re-run to refresh them. - Result order and availability follow TikTok's own profile feed.
Integrate with your stack
Export the dataset as JSON, CSV, Excel, or XML, or pull it from the Apify API. You can also run this Actor from the Apify MCP server so AI agents can call it directly.