TikTok Profile Scraper - Followers, Likes & Bios
Pricing
from $1.20 / 1,000 results
TikTok Profile Scraper - Followers, Likes & Bios
Export public TikTok profiles with follower counts, likes, bios and verified account identity. Skip duplicate handles and inspect failed lookups separately.
Pricing
from $1.20 / 1,000 results
Rating
5.0
(1)
Developer
Ben
Maintained by CommunityActor stats
2
Bookmarked
90
Total users
8
Monthly active users
5 days ago
Last modified
Categories
Share
TikTok Profile Scraper: followers, likes and bios
Export public TikTok profile statistics from usernames or profile URLs. Get follower counts, likes, video totals, verification and bio links in JSON, CSV or Excel, without a TikTok login or developer key.
Start small: run the saved MrBeast profile example. One successfully exported profile costs $0.0015 on the Free plan, plus the Actor-start event. Duplicate handles are looked up once; failed profiles appear in a separate error report.
Try a public profile
Paste this into the JSON input, run the Actor, then open Dataset → Export:
{"profiles": ["nasa"], "maxProfiles": 1, "delayBetweenRequests": 500}
For a batch, supply usernames such as nasa, @mrbeast or https://www.tiktok.com/@nasa. Usernames are matched without case sensitivity. Shortened share links and video URLs are rejected; use the account's canonical profile URL.
Profile data you receive
Selected fields from a real NASA lookup on September 10, 2026; public counts change:
{"username": "nasa","user_id": "7664638705177150477","nickname": "NASA","followers": 1600000,"following": 23,"likes": 8300000,"video_count": 42,"verified": true,"bio_link": null,"scraped_at": "2026-09-10T17:44:46.555890","success": true}
| Fields | Meaning |
|---|---|
username, user_id, nickname | Returned account identity; the handle must match the request |
followers, following, likes, video_count | Public totals exposed by TikTok; missing required totals produce an error |
bio, bio_link, avatar_url | Public description, optional link and image URL; image URLs can expire |
verified, private_account | Source account flags; a private flag does not grant access to private content |
region, language, created_at, sec_uid | Optional source metadata; unavailable values can be null |
input_url, scraped_at, success, error | Input reference and lookup status; dataset rows have success: true |
This Actor enriches accounts you already know. It does not discover creators by topic, list individual followers, download videos or provide historical follower counts. To monitor growth, schedule a saved Task and compare new snapshots by user_id.
Batch controls
| Input | Default | Behavior |
|---|---|---|
profiles | Required | 1–10,000 input handles or profile URLs |
maxProfiles | 3 | Maximum unique handles attempted; 0 processes the supplied list |
delayBetweenRequests | 500 | Delay in milliseconds between lookups, from 0 to 10,000 |
maxProfiles limits attempted profiles, not guaranteed successes. For large lists, use manageable batches and a suitable run timeout. TikTok may return a login page or withhold public data; larger limits do not remove those restrictions.
Errors and billing
The default dataset contains only successfully parsed profiles. Failed lookups moved from dataset rows to the ERRORS key-value record in the September 2026 update. If your integration previously filtered success: false rows, read ERRORS instead.
The Output tab links to the dataset, SUMMARY and ERRORS. The summary reports attempted batch size, successful and failed lookups, duplicate inputs and the stop reason. A partially successful run retains its valid profiles; if every lookup fails, the run fails with a readable error. Missing values are not replaced with invented audience metrics.
At the Free-plan rate, 1,000 exported profiles cost $1.50 in result events. The start event costs $0.00005 per allocated GB, with a minimum of one event. A one-profile run at 512 MB costs $0.00155 in Actor events. Apify plan discounts apply; check the Pricing tab for your rate. Invalid profiles and duplicate handles incur no result event, though the start event still applies. Set a maximum charge in the run options to bound spending.
Export an existing run with Python
Install apify-client, set APIFY_TOKEN and APIFY_DATASET_ID in your environment, then export a completed run without starting another:
import jsonimport osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])rows = list(client.dataset(os.environ["APIFY_DATASET_ID"]).iterate_items())with open("tiktok-profiles.json", "w", encoding="utf-8") as output:json.dump(rows, output, ensure_ascii=False, indent=2)
You can also call this Actor through Apify's API or connect the saved Task to n8n, Make or Zapier. Use the run's key-value store to collect ERRORS alongside the dataset.
Questions before running
Does it need a TikTok login? No. Only profile data exposed to a public request is available.
Does it return email addresses? There is no dedicated email-discovery field. The public bio may contain contact text and bio_link may point to a website.
Are the counts exact or historical? They are the values supplied in TikTok's current public response. This Actor does not reconstruct hidden precision or past counts.
Can I retry a failed handle? Yes. Inspect ERRORS first, correct invalid handles and retry a small batch later if the source was unavailable. Repeated failures are not proof that an account has been deleted.
For another platform, Instagram Scraper supports public profiles, posts and reels. For YouTube discovery, use YouTube Search Results Scraper.