This tutorial shows how to scrape TikTok videos from a public profile into CSV with the TikTok Scraper template for UScraper. You will import the workflow, replace the sample profile, confirm the export path, run one watched pass, and review the CSV.
Scope
Before you scrape TikTok videos
You need UScraper installed, the TikTok Scraper template, and one public TikTok profile URL you are allowed to review. Start with one profile, not a creator list. TikTok pages vary by region, login state, account visibility, and traffic pattern, so the first run is a quality check.
This guide covers public profile video metadata. It does not cover private accounts, follower lists, messages, no-watermark downloads, CAPTCHA bypassing, login automation, or high-volume collection.
Treat TikTok scraping as a permission and compliance problem first. Public visibility is not the same as permission to collect, store, republish, train on, or resell data.
API context
TikTok API alternative vs a scraper workflow
Searches like tiktok scraper python, tiktok api alternative, and scrape tiktok profile data usually come from one problem: the official API route and the browser route solve different jobs.
TikTok's Display API is designed around authorized app experiences such as displaying a user's selected profile and videos. TikTok's Research API is an application-based path for eligible researchers who need approved access to public data. TikTok also publishes guidance on unauthorized data scraping, which is why any scraping workflow needs conservative pacing and a clear permitted use.
| Approach | Best fit | Practical limitation |
|---|---|---|
| Official TikTok Display API | Apps showing authorized user profile or video content | Not a generic public profile video export for arbitrary handles. |
| TikTok Research API | Approved academic or public-interest research programs | Requires eligibility and approval; not a quick spreadsheet export path. |
| Python scraper | Engineering teams that want full code ownership | You maintain browser automation, selectors, retries, exports, and compliance review. |
| Hosted scraper API | Large jobs with API scheduling and vendor infrastructure | Usually adds metered pricing, cloud custody, and vendor-specific schemas. |
| UScraper template | Analyst-led exports from public profile pages into CSV | Best-effort browser access; test small batches before scaling. |
Workflow
How the TikTok scraper template works
The JSON workflow opens a public profile page, waits for TikTok to render, dismisses common prompts, scrolls the profile grid, scans rendered DOM and embedded JSON, tries same-origin web fallbacks when accessible, then builds hidden rows for Structured Export.
Navigate -> Wait for Page Load -> Dismiss popups -> Wait for body
-> Scroll and collect -> Wait for generated rows -> Structured Export -> End
The default Navigate URL points to https://www.tiktok.com/@zachking. Replace it with your own approved public creator, brand, or campaign profile.
| Workflow block | Purpose | What to check |
|---|---|---|
| Navigate | Opens the profile URL | Use the full https://www.tiktok.com/@handle URL. |
| Wait for Page Load | Gives the profile shell time to render | The page should show profile content, not only a challenge. |
| Inject JavaScript | Dismisses prompts, scrolls, scans page data, and builds rows | Keep the timeout until a test run is stable. |
| Wait for Element | Confirms .uscraper-tiktok-row rows exist | A diagnostic row is still a row; read it before retrying. |
| Structured Export | Writes tiktok-scraper.csv with headers | Confirm file name, create mode, and local save folder. |
The JSON export controls the exact output. In Structured Export, confirm this file shape:
{
"fileName": "tiktok-scraper.csv",
"includeHeaders": true,
"fileMode": "create",
"columns": ["row_type", "video_url", "creator", "title_or_caption", "views", "profile_followers", "page_url"]
}
Runbook
How to scrape TikTok videos to CSV
Import the template
Open the TikTok Scraper template, download the JSON, import it into UScraper, and open the workflow canvas.
Replace the profile URL
Edit the Navigate block so it uses one approved public TikTok profile. Keep the full URL format with the @ handle.
Set the export folder
In Structured Export, confirm tiktok-scraper.csv, headers, create mode, and a project-specific local save folder.
Run one watched pass
Start the workflow and watch the browser. Confirm that profile videos load, the page scrolls, and the workflow reaches Structured Export.
Validate the CSV
Open the exported file and compare a few video URLs, captions, hashtags, counts, and profile counters against the browser session.
Output
TikTok CSV export fields
There is no bundled CSV sample, so treat the workflow JSON as the source of truth and use your first successful run as the project sample. Each accessible video becomes one row. If TikTok blocks access, the workflow exports a diagnostic row that explains the likely issue.
tiktok-scraper.csvColumn
row_type
Column
video_url
Column
video_id
Column
creator
Column
profile_url
Column
title_or_caption
Column
hashtags
Column
thumbnail_url
Column
views
Column
likes
Column
comments
Column
shares
Column
bookmarks
Column
post_date
Column
video_duration
Column
profile_following
Column
profile_followers
Column
profile_likes
Column
page_url
Column
page_title
Troubleshooting
Common TikTok scraping issues
Yes. Use Python when you need source-code ownership or server integration. Use UScraper when the immediate job is a supervised CSV export.

