This tutorial shows how to scrape TikTok search results after login with the TikTok Search Scraper Login Required template for UScraper. You will prepare the signed-in browser profile, edit the keyword URL, run a watched validation pass, and export TikTok search videos to CSV.
Before you start
Prerequisites for TikTok search scraping
You need UScraper installed as a local desktop app, the TikTok Search Scraper Login Required template, a TikTok account you are allowed to use, and one approved keyword. Start with a campaign phrase, product category, creator niche, or hashtag idea, not a long keyword list.
The workflow is built for rendered TikTok search result cards that are visible in a signed-in browser session. It is not a TikTok downloader, private account viewer, follower extractor, CAPTCHA solver, login automation script, or hidden API client.
Treat TikTok search scraping as a permission and governance problem first. Technical visibility does not automatically grant permission to collect, store, republish, resell, or train models on the data.
API or scraper
TikTok Search API vs scraper workflow
Searches like tiktok scraper api alternative, tiktok scraping python guide, and tiktok scraper vs api usually come from one mismatch: API access, browser automation, and spreadsheet export solve different jobs.
TikTok documents API v2 as an OAuth-based developer platform, and its Research API includes a query videos endpoint for approved research use cases. Start there when your project fits their eligibility, scopes, and terms. TikTok also publishes guidance on how it combats unauthorized scraping and exposes robots directives, so keep scraper runs conservative and documented.
| Approach | Best fit | Main trade-off |
|---|---|---|
| TikTok API v2 | Approved app workflows that match OAuth scopes | Not a quick CSV export for arbitrary search result pages. |
| TikTok Research API query videos | Eligible research programs with approved access | Application and policy requirements come first. |
| Python or Playwright scraper | Engineering teams that want code ownership | You maintain sessions, scrolling, selectors, retries, exports, and compliance checks. |
| Hosted scraper API or actor | Programmatic cloud jobs and normalized API delivery | Usually adds metered pricing, cloud custody, and vendor-specific schemas. |
| UScraper template | Analyst-led TikTok search to CSV from a visible browser session | Best-effort page access; validate each keyword before scaling. |
Workflow anatomy
How the login-required TikTok search scraper works
The JSON export is the authoritative workflow definition. In plain English, the flow is:
Set Window Size -> Navigate -> Wait for Page Load -> Wait for body
-> Click Videos -> Sleep -> Inject JavaScript -> Wait for generated rows
-> Structured Export -> End
The bundled Navigate block opens a TikTok search URL with a q keyword parameter. The workflow clicks Videos, scrolls the result feed, stops at the configured cap or stable page height, creates hidden data-uscraper-tiktok-row elements, then exports those rows to CSV.
Replace the sample q=dancing value with one approved keyword. Keep language and query parameters consistent when comparing batches.
Runbook
How to scrape TikTok search results to CSV
Import the template
Open TikTok Search Scraper Login Required, download the JSON workflow, and import it into UScraper.
Prepare TikTok access
Sign in manually in the browser profile UScraper will use. Search for your test keyword and confirm the Videos tab renders normal cards.
Edit the keyword URL
In Navigate, replace the sample search URL with your approved keyword. Change only one variable at a time during testing.
Confirm the export folder
In Structured Export, set a local project folder for tiktok-busqueda-scraper.csv. Keep headers enabled and keep create mode for clean test files.
Run one watched pass
Start the workflow, watch the browser, and stop if TikTok shows verification, a blank shell, a login wall, or irrelevant mixed search modules.
Validate before scaling
Open the CSV, check scrape_status, compare several video URLs against the browser, and record blank fields before adding keywords.
Output
TikTok search 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 keyword run as the real sample for your project.
| CSV field group | Columns | Validation check |
|---|---|---|
| Run diagnostics | scrape_status, input_keyword, current_time | Confirm failed runs are visible instead of silently missing. |
| Page context | page_title, page_url | Match the TikTok search page and keyword you intended to run. |
| Video result | video_title, video_url, view_count, hashtags, date_published | Open a few URLs and compare visible card text. |
| Creator profile | tiktoker, tiktoker_url, user_name, user_profile_url, user_avatar_url | Confirm the creator handle parsed from the video URL is correct. |
| Optional signals | user_intro, user_subtitle, follower_count, if_verified | Expect blanks when TikTok does not expose these fields in the current card layout. |
tiktok-busqueda-scraper.csvColumn
scrape_status
ok, or a diagnostic status when login, CAPTCHA, region, or rendering blocks results.
Column
input_keyword
Keyword parsed from the q parameter in the TikTok search URL.
Column
page_url
Search page URL used for the current run.
Column
video_title
Title, caption-like label, image alt text, or card text from the rendered result.
Column
video_url
Normalized TikTok video URL for the discovered search result.
Column
view_count
Visible view signal when the search card exposes it.
Column
hashtags
Hashtags parsed from rendered card text.
Column
tiktoker
Creator handle parsed from the video URL.
Column
user_profile_url
Profile URL assembled from the creator handle.
Column
if_verified
Yes or No when visible verification indicators are detected.
Validation
Common issues and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| One diagnostic row only | Login expired, CAPTCHA appeared, region restrictions applied, or no video links rendered | Open TikTok manually, clear the prompt, confirm Videos results, then rerun one keyword. |
video_title is noisy | TikTok card text mixed captions, hashtags, counts, and labels | Treat the title as search-card text, then enrich selected video_url rows with a detail workflow if needed. |
Missing view_count or follower_count | The current card layout did not expose that metric | Keep the row and mark the metric as optional in analysis. |
| Duplicate videos across keywords | TikTok ranked the same video for related searches | Dedupe by video_url after export and keep all source keywords in a separate mapping. |
| Rows stop early | Page height stabilized, throttling occurred, or the keyword has limited visible results | Validate the browser view before increasing scroll caps or adding waits. |
FAQ
TikTok search scraper FAQ
A signed-in TikTok page can still be limited by TikTok terms, robots signals, privacy law, copyright, regional rules, account rules, and anti-abuse controls. Use approved research purposes, avoid bypassing access controls, and get legal review before commercial reuse.
Next step
Download the TikTok search scraper template
Download the TikTok Search Scraper Login Required template, import it into UScraper, and run one approved keyword before scaling your TikTok search to CSV workflow. For adjacent workflows, browse the UScraper template library or compare more tutorials in the UScraper blog.

