This tutorial shows how to scrape TikTok profiles into CSV with the TikTok Profile Scraper for CSV Export template. You will import the workflow, replace the sample profile URL, set the export path, run a watched validation pass, and review the output before adding more public profiles.
Before you start
Prerequisites for scraping TikTok profiles
You need UScraper installed as a local desktop app, the TikTok Profile Scraper template, and a short list of public TikTok profile URLs you are allowed to review. Start with one profile. TikTok can change what it renders by region, login state, device hints, account visibility, and traffic pattern, so the first run is a QA pass, not a production crawl.
This workflow is built for public profile and post metadata. It is not a private account viewer, follower extractor, message scraper, CAPTCHA bypass, or login automation recipe.
Technical visibility is not the same thing as permission. Review TikTok's current terms, privacy obligations, robots directives, contracts, and local law before collecting, storing, republishing, or reselling profile data.
API context
TikTok API profile data vs a profile scraper
People search for tiktok api profile data, tiktok profile scraper python, and tiktok scraper api because there is no single path that fits every project.
TikTok's official API v2 user info endpoint is an OAuth path for basic profile information from an authorized user, not a general public profile export endpoint. TikTok's Research API is a separate application-based program for qualifying researchers who need access to public data through approved tools.
| Approach | Best fit | Practical limitation |
|---|---|---|
| TikTok API v2 user info | Apps that need approved user profile fields after OAuth consent | Not a bulk public profile scraper for arbitrary handles. |
| TikTok Research API | Approved research projects with the right eligibility and scope | Requires application approval and does not behave like a desktop CSV export. |
| Python or Node scraper | Engineering teams that want tests, retries, storage, and code ownership | You maintain rendering, anti-abuse handling, selector drift, exports, and compliance review. |
| Hosted scraper APIs | Larger jobs that need API scheduling, proxies, and normalized JSON | Usually introduces metered pricing, cloud custody, and vendor lock-in. |
| UScraper template | Analyst-led exports from public profile URLs into a local CSV | Best-effort page access; validate small batches before scaling. |
Workflow
How the TikTok profile scraper works
The JSON export is the authoritative workflow definition. The template opens each profile URL, waits for the page to load, gives TikTok a short settling window, runs an extraction script, waits for generated export rows, writes the structured CSV, and advances the loop.
Set Window Size -> Navigate -> Wait for Page Load -> Sleep
-> Inject JavaScript -> Wait for Element -> Structured Export -> Loop Continue
The extraction script uses a layered strategy. It first reads visible profile metadata, then looks for hydration data and same-origin web API responses, then tries public metadata fallbacks. If TikTok withholds video details in the current session, the CSV may still contain profile-level fields while video-specific columns remain blank.
| Workflow block | Purpose | What to check |
|---|---|---|
| Navigate | Stores one or more TikTok profile URLs | Replace the sample URL with approved public profiles. |
| Wait for Page Load and Sleep | Gives the profile page time to settle | Increase waits only after a small test shows slow loading. |
| Inject JavaScript | Builds hidden rows under #uscraper-tiktok-export | Confirm rows exist before trusting a batch. |
| Wait for Element | Stops the run if export rows never appear | Empty results usually mean blocked, private, unavailable, or changed pages. |
| Structured Export | Writes columns into tiktok-profile-scraper.csv | Confirm headers, append mode, and the local save folder. |
| Loop Continue | Moves to the next profile URL | Keep it after export so failed profiles are easy to identify. |
Output
TikTok profile to CSV: export fields
There is no bundled CSV sample for this workflow. Use the JSON export shape as the source of truth, then treat your first successful profile as the real sample for your project. The template writes one row per detected video when video metadata is available, with profile fields repeated on each row so the file can be filtered in Excel, Sheets, BI tools, or scripts.
tiktok-profile-scraper.csvColumn
original_url
Source TikTok profile URL for the run.
Column
author
Handle parsed from the profile URL, page, or metadata response.
Column
author_subtitle
Display name or profile title when exposed.
Column
author_bio
Public bio or signature text.
Column
author_webpage
Bio website link when TikTok exposes one.
Column
followers
Follower count from visible or metadata sources.
Column
following
Following count from the profile data.
Column
is_verified
Boolean verification signal when detected.
Column
is_private
Boolean private-account signal when detected.
Column
video_url
Canonical TikTok video URL for each detected post.
Column
post_date
Post timestamp normalized when available.
Column
description
Video description or caption text.
Column
hashtag
Hashtags parsed from the video description.
Column
like_num
Like count when TikTok exposes it.
Column
comment_num
Comment count when available.
Column
views_num
View or play count when available.
Column
bookmark_num
Bookmark or collect count when available.
Column
covers_url
Cover image URL for the video.
Column
video_duration
Video duration from page or metadata sources.
Column
video_id
TikTok video identifier parsed from metadata or URL.
Column
music_name
Track title or original sound label.
Column
music_author
Music author or sound owner when exposed.
Column
music_url
Music page or playable metadata URL.
Runbook
How to scrape TikTok profiles to CSV
Import the template
Open TikTok Profile Scraper for CSV Export, download the JSON, and import it into UScraper.
Replace the sample profile
In Navigate, replace the sample https://www.tiktok.com/@mymedicalclinic URL with one approved public profile. Add more profiles only after the first CSV looks correct.
Confirm the export destination
Open Structured Export and set a project folder for tiktok-profile-scraper.csv. Keep headers enabled and decide whether append mode is right for the current run.
Run a watched validation pass
Start with one profile while watching the browser. Stop if TikTok shows verification, login, unavailable content, or a private account state.
Validate the CSV
Compare the exported handle, follower count, several video URLs, dates, hashtags, and metrics against the visible page. Record which fields were blank.
Expand the profile list carefully
Add the rest of your approved profile URLs, run at a modest pace, and dedupe by video_id or video_url after export.
Troubleshooting
Common TikTok scraping issues
Blank cells usually mean TikTok did not expose that field in the current browser session, the account is private or restricted, the page was partially blocked, or the markup changed. Re-run one profile in a normal browser state before editing selectors.
FAQ
TikTok profile scraper FAQ
Yes. The UScraper TikTok Profile Scraper template opens public profile URLs, extracts available profile and video metadata, and exports tiktok-profile-scraper.csv without writing scraper code.
For related workflows, browse the UScraper template library, compare more tutorials in the UScraper blog, or start with the maintained TikTok Profile Scraper for CSV Export template and use this article as your runbook.

