This tutorial shows how to scrape Twitter comments from selected X/Twitter tweet URLs into CSV with the Twitter X Comments Scraper template for UScraper. You will prepare tweet URLs, import the workflow, set the export path, run a validation pass, and understand why some replies may be blank or unavailable.
Before you start
Prerequisites before you scrape Twitter comments
Use this tutorial for a defined list of tweet URLs, not open-ended crawling. You need UScraper as a local desktop app, the Twitter X Comments Scraper template, a browser session that can open the target posts, a CSV save folder, and a reason to review the conversation such as campaign analysis, moderation QA, social listening, customer research, or open source intelligence notes.
The companion template page is the download path. Import the current Twitter X Comments Scraper rather than rebuilding the graph by hand. This article explains the operating flow, export shape, validation checks, and common failure modes around X/Twitter conversation pages.
A visible tweet page is an input for QA, not a blanket permission model. Keep batches narrow, document why the comments were collected, and avoid scraping private, restricted, or sensitive content.
Input list
Prepare tweet URLs for the comments scraper
Start from direct tweet or status URLs, for example https://x.com/account/status/1234567890. The bundled workflow uses navigate.urls, so each input should be a post page rather than a broad search result. This is intentional: X search URLs can redirect to login or onboarding, while a direct tweet URL gives the workflow a clearer parent post to compare against the visible reply articles.
Use X search manually, a saved campaign list, a support queue, or an approved research brief to collect the URLs. Then remove duplicates, drop quote-only posts that do not have replies you need, and run the first URL alone. A one-URL validation pass is faster than debugging a 200-URL CSV with repeated blank comment fields.
Workflow
How the Twitter X comments scraper works
The exported JSON workflow is the authoritative automation definition. The practical shape is simple: navigate, wait, add a short render buffer, inject JavaScript that builds hidden export rows from visible tweet articles, wait for those rows, then write structured columns to CSV.
| Stage | What it does | What to check |
|---|---|---|
| Navigate | Opens each configured tweet/status URL | Replace sample URLs with approved X/Twitter post links |
| Wait for page load | Gives the browser time to render the post page | Stop if the page is login, onboarding, or an error state |
| Sleep | Adds a short buffer for reply cards and engagement text | Increase only after one clean validation run |
| Inject JavaScript | Parses visible tweet articles into hidden export rows | Parent row should exist even when comments are blank |
| Wait for export rows | Confirms #uscraper-x-results produced rows | Zero rows means page state or selector trouble |
| Structured Export | Appends selected data attributes to CSV | Confirm filename, save folder, headers, and append mode |
{
"project": {
"name": "Twitter X Comments Scraper",
"description": "Extracts parent tweet fields plus reply/comment fields when replies are visible in the X page/session."
},
"blocks": [
{
"title": "Navigate",
"config": {
"urls": [
"https://x.com/jiwoongiez/status/1775106156165300336",
"https://x.com/DanScavino/status/1828615095586357466"
]
}
},
{ "title": "Wait for Page Load", "config": { "timeout": 30 } },
{ "title": "Sleep", "config": { "duration": 4 } },
{
"title": "Structured Export",
"config": {
"fileName": "tweets-comments-scraper-by-search-result-url.csv",
"includeHeaders": true,
"fileMode": "append"
}
},
{ "title": "Loop Continue" }
]
}
Use UScraper when you need a reviewable CSV from a short list of tweet URLs and want the workflow to stay editable in a local desktop app. The trade-off is that only browser-visible comments can be exported.
Output
Export shape for parent tweets and replies
There is no bundled CSV sample for this template, so the JSON export and field list are the source of truth. The workflow writes one parent context row and one row for each visible comment when the page exposes replies in the current session.
| Column group | Example columns | Why it matters |
|---|---|---|
| Source context | category, keyword, web_page_url | Keeps the run source attached to every exported row |
| Parent tweet | tweet_website, author_name, tweet_timestamp, tweet_content | Lets analysts group comments by source post |
| Parent engagement | tweet_likes, tweet_retweets, tweet_replies | Useful for prioritizing high-reach conversations |
| Comment fields | comment_website, comment_author_name, comment_timestamp, comment_content | The core reply data for review or tagging |
| Comment media and engagement | comment_image_url, comment_likes, comment_retweets, comment_replies | Helps spot media replies and unusually active comments |
Runbook
Run and validate your first X/Twitter comments export
Import the template
Open the template page, import the JSON into UScraper, and keep the first run unmodified except for inputs and save path.
Replace tweet URLs
Paste your approved /status/ URLs into the Navigate block. Remove old samples so test rows do not mix with real rows.
Set the export folder
In Structured Export, confirm the CSV filename, local save folder, headers, and append mode before running.
Run one URL
Compare the exported parent tweet, author, timestamp, content, and first visible replies against the browser.
Scale carefully
Run the remaining URLs only after the validation row matches the page and blank fields have an explainable cause.
Review the CSV
Deduplicate by tweet URL plus comment URL, tag rows by campaign or topic, and archive the input URL list with the export.
For developer teams, the official API path is different from this local export workflow. X API search documentation covers query construction and search endpoints, including conversation-oriented query patterns such as conversation_id for replies when your access level supports the needed data. Use that route when you need an auditable integration contract instead of a supervised CSV run.
Troubleshooting
Common issues and FAQ
X/Twitter content can be publicly visible, but automated collection may still be limited by platform terms, access controls, copyright, privacy law, and local regulations. Do not bypass login gates, private content, verification flows, or technical restrictions, and get legal review before commercial reuse.
Next steps
Use the Twitter X Comments Scraper template for the workflow download, browse more no-code exports in the template library, or return to the UScraper blog for related scraping tutorials and comparison guides.

