Twitter Comment Scraper avatar

Twitter Comment Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Twitter Comment Scraper

Twitter Comment Scraper

Extract Twitter/X comments & replies from any tweet in seconds. πŸ”“ No login, no API keys. πŸ“Š Get author profiles, engagement stats, media, hashtags & metadata as structured JSON. Sort by relevance, recency, or likes. πŸ’° At $5 per 1,000 results.

Pricing

from $5.00 / 1,000 results

Rating

5.0

(1)

Developer

Mikolabs

Mikolabs

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

🐦 Twitter (X) Comment Scraper

Extract comments, replies & engagement data from any tweet at scale β€” no login, no API keys, no tokens.

Twitter (X) Comment Scraper is a lightning-fast, cookieless Apify actor that extracts comments and replies from any public tweet β€” 20+ comments in under 2 seconds, no login required. It captures full author profiles, engagement stats (likes, retweets, quotes, bookmarks, views), media attachments (images, videos, GIFs), hashtags, mentions, and conversation metadata. Sort replies by relevance, recency, or likes. Filter by minimum engagement. Batch-scrape multiple tweets in a single run. Returns clean, structured JSON ready for sentiment analysis, lead generation, brand monitoring, competitive research, and influencer vetting β€” at just $5 per 1,000 results.

πŸ”“ No Login Β· No API Keys Β· No Tokens Β· Unlimited Scraping

🚫 Zero AuthenticationNo Twitter account, no developer tokens, no API keys β€” just paste a tweet URL and go.
♾️ Unlimited ScrapingNo daily quotas or artificial caps. Scrape as many tweets and comments as you need.
πŸ’° $5 per 1,000 ResultsTransparent, predictable pricing. Pay only for what you use β€” no subscriptions, no hidden fees.
⚑ Instant ResultsGet structured JSON data in seconds. Export as JSON, CSV, or Excel with one click.

πŸ“‘ Table of Contents


✨ Key Features

FeatureDescription
πŸ”“ No Login RequiredCompletely cookieless β€” no Twitter account, no API keys, no developer tokens needed. Just paste a tweet URL.
♾️ Unlimited ScrapingNo daily limits, no quotas. Scrape as many tweets and comments as your workflow demands.
πŸ’° $5 / 1,000 ResultsSimple, transparent pay-per-use pricing with no subscriptions or hidden fees.
Batch Tweet ScrapingProvide multiple tweet URLs in a single run and scrape comments from all of them.
Flexible SortingSort replies by Relevance, Recency, or Likes to surface the data you care about.
Engagement FilteringSet a minimum likes threshold to filter out low-engagement noise.
Rich User ProfilesCapture author username, display name, bio, location, follower / following counts, verification status, and more.
Full Engagement MetricsLikes, retweets, replies, quotes, bookmarks, and view counts for every comment.
Media ExtractionImages, videos, and GIFs β€” including thumbnail URLs, video URLs, and duration.
Commenter StatsOptionally fetch full stats (followers, following, tweet count, etc.) for each commenter.
Conversation MetadataConversation IDs, reply-to IDs, edit history, language, source app, and more.
Scalable & Cloud-ReadyRuns on the Apify platform with automatic retries, proxy support, and dataset storage.

πŸ’° Pricing

VolumeCostPer Result
1,000 results$5.00$0.005
5,000 results$25.00$0.005
10,000 results$50.00$0.005
50,000 results$250.00$0.005

Flat rate. No subscriptions. No hidden fees. You pay only for the results you scrape. Pricing is based on Apify platform compute usage at approximately $5 per 1,000 comment results.


🎯 Use Cases

  • Sentiment Analysis β€” Gauge public opinion on viral tweets, product launches, or brand mentions.
  • Lead Generation β€” Identify potential customers engaging with competitor content.
  • Brand Monitoring β€” Track replies to your brand's tweets and surface complaints or praise.
  • Competitive Research β€” Analyze engagement patterns on competitor posts.
  • Market Research β€” Understand audience reactions to industry trends and announcements.
  • Content Strategy β€” Discover which reply styles generate the most engagement.
  • Influencer Vetting β€” Review comment quality and engagement on an influencer's posts.
  • Journalism & OSINT β€” Collect public discourse around breaking news events.

πŸš€ Getting Started

Prerequisites

  • An Apify account (free tier available).
  • That's it β€” no Twitter account, no API keys, no tokens required.

Quick Start (3 Steps)

  1. Open the Twitter (X) Comment Scraper actor page on Apify.
  2. Paste one or more tweet URLs β€” configure sorting, filters, and limits as needed.
  3. Run and download your data as JSON, CSV, or Excel. Done.

πŸ’‘ No login, no cookies, no authentication of any kind. Just provide tweet URLs and start scraping instantly.


βš™οΈ Input Parameters

ParameterTypeRequiredDefaultDescription
tweetUrlsstring[]βœ… Yes[]One or more Twitter/X tweet URLs to scrape comments from. Format: https://x.com/username/status/123456789
sortRepliesstringNoRelevanceHow to sort replies. Options: Relevance, Recency, Likes
minLikesintegerNo0Minimum number of likes a comment must have to be included. Set to 0 to include all comments.
includeCommenterStatsbooleanNofalseFetch full profile stats (followers, following, tweet count, etc.) for each commenter. Note: Enabling this significantly slows down scraping as it requires an additional request per comment.
maxCommentsintegerNo0Maximum number of comments to extract per tweet. Set to 0 for unlimited.

Example Input

{
"tweetUrls": [
"https://x.com/elonmusk/status/2000645900549685307",
"https://x.com/OpenAI/status/1234567890123456789"
],
"sortReplies": "Likes",
"minLikes": 10,
"includeCommenterStats": false,
"maxComments": 100
}

πŸ“¦ Output Data Schema

Each scraped comment is stored as a JSON object in the Apify dataset. Below is a detailed breakdown of every field.

Comment Fields

FieldTypeDescription
replying_to_tweetstringURL of the original tweet this comment replies to
tweet_urlstringDirect URL to this comment
textstringFull text content of the comment
datestringISO timestamp of when the comment was posted
conversation_idstringID of the main conversation thread
in_reply_to_tweet_idstringID of the tweet this comment is replying to
is_quote_tweetbooleanWhether this comment is a quote tweet
quoted_tweetobject|nullQuoted tweet data (if applicable)
langstringLanguage code of the comment (e.g., en, es, ja)
sourcestringClient used to post (e.g., Twitter for iPhone)
is_editedbooleanWhether the comment has been edited
edits_remainingstringNumber of edits remaining
possibly_sensitivebooleanWhether the content may be sensitive
has_community_notesbooleanWhether the comment has community notes

Author Information (author)

FieldTypeDescription
author.idstringUnique Twitter user ID
author.namestringDisplay name
author.screen_namestringUsername / handle (without @)
author.avatarstringProfile image URL
author.is_verifiedbooleanTwitter Blue verification status

Author Information with includeCommenterStats: true

When includeCommenterStats is enabled, the author object is enriched with additional profile data:

FieldTypeDescription
author.descriptionstringUser bio
author.locationstringUser location
author.followers_countintegerNumber of followers
author.following_countintegerNumber of accounts followed
author.tweet_countintegerTotal tweets posted
author.favourites_countintegerTotal likes given
author.media_countintegerMedia items uploaded
author.lists_countintegerLists the user is a member of
author.account_created_atstringAccount creation date
author.profile_bannerstringBanner image URL
author.is_protectedbooleanWhether the account is private
author.pinned_tweet_idsstring[]IDs of pinned tweets
author.profile_urlstringWebsite URL
author.professional_infoobject|nullProfessional account category and type

Engagement Metrics (stats)

FieldTypeDescription
stats.likesintegerNumber of likes
stats.repliesintegerNumber of replies
stats.retweetsintegerNumber of retweets
stats.quotesintegerNumber of quote tweets
stats.bookmarksintegerNumber of bookmarks
stats.viewsstringNumber of views

Entities

FieldTypeDescription
entities.hashtagsarrayHashtags used in the comment
entities.user_mentionsarrayUsers mentioned in the comment
entities.urlsarrayURLs included in the comment
entities.mediaarrayMedia attachments with metadata

Media Attachments (media)

FieldTypeDescription
media[].typestringMedia type: photo, video, or animated_gif
media[].thumb_urlstringThumbnail image URL
media[].urlstringMedia page URL
media[].video_urlstring|nullDirect video file URL (videos only)
media[].duration_msinteger|nullVideo duration in milliseconds (videos only)

πŸ“‹ Example Output

{
"replying_to_tweet": "https://x.com/elonmusk/status/2000645900549685307",
"tweet_url": "https://x.com/ClownWorld/status/2000650156405072211",
"conversation_id": "2000645900549685307",
"in_reply_to_tweet_id": "2000645900549685307",
"is_quote_tweet": false,
"quoted_tweet": null,
"author": {
"id": "1446932149148344320",
"name": "Clown World β„’ 🀑",
"screen_name": "ClownWorld",
"avatar": "https://pbs.twimg.com/profile_images/2007190860690046977/ZAITQvgd_normal.jpg",
"is_verified": true
},
"text": "@elonmusk Haters will say this is AI https://t.co/djLDxhqJlw",
"date": "Mon Dec 15 19:32:22 +0000 2025",
"stats": {
"likes": 4430,
"replies": 748,
"retweets": 575,
"quotes": 49,
"bookmarks": 175,
"views": "812441"
},
"entities": {
"hashtags": [],
"urls": [],
"user_mentions": [
{
"id_str": "44196397",
"name": "Elon Musk",
"screen_name": "elonmusk"
}
]
},
"media": [
{
"type": "video",
"thumb_url": "https://pbs.twimg.com/amplify_video_thumb/2000650105603686400/img/R4soCzawh48AMneU.jpg",
"url": "https://x.com/ClownWorld/status/2000650156405072211/video/1",
"video_url": "https://video.twimg.com/amplify_video/2000650105603686400/vid/avc1/464x688/HobG6DrrCTZ3n-T8.mp4?tag=23",
"duration_ms": 6041
}
],
"lang": "en",
"source": "Twitter for iPhone",
"has_community_notes": false,
"is_edited": false,
"edits_remaining": "5",
"is_translatable": false,
"possibly_sensitive": false
}

Note: The above is a single comment object. A full run returns an array of these objects β€” one per scraped comment.


πŸ“€ Exporting & Integrating Data

Apify makes it easy to consume your scraped data:

FormatMethod
JSON / CSV / ExcelDownload directly from the Apify dataset UI
REST APIAccess data programmatically via the Apify API
WebhooksTrigger notifications or downstream pipelines on run completion
IntegrationsConnect to Google Sheets, Slack, Zapier, Make, and more via Apify Integrations

API Access Example

# Fetch results as JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<YOUR_API_TOKEN>"
# Fetch results as CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&token=<YOUR_API_TOKEN>"

Python Integration

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"tweetUrls": ["https://x.com/elonmusk/status/2000645900549685307"],
"sortReplies": "Likes",
"minLikes": 5,
"maxComments": 50
}
run = client.actor("your-actor-id").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"@{item['author']['screen_name']}: {item['text']}")
print(f" ❀️ {item['stats']['likes']} πŸ” {item['stats']['retweets']}")

JavaScript / Node.js Integration

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('your-actor-id').call({
tweetUrls: ['https://x.com/elonmusk/status/2000645900549685307'],
sortReplies: 'Likes',
minLikes: 5,
maxComments: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`@${item.author.screen_name}: ${item.text}`);
console.log(` ❀️ ${item.stats.likes} πŸ” ${item.stats.retweets}`);
});

πŸ’‘ Tips & Best Practices

  1. Zero setup β€” No accounts, tokens, or cookies needed. Just paste tweet URLs and run.
  2. Start small β€” Test with a small maxComments value (e.g., 20) before running large-scale scrapes to validate your setup.
  3. Use minLikes to reduce noise β€” High-engagement comments are typically more relevant for analysis.
  4. Sort by Likes for research β€” The most-liked comments surface the strongest community consensus.
  5. Sort by Recency for monitoring β€” Get the freshest replies for real-time brand monitoring.
  6. Enable includeCommenterStats selectively β€” This adds an extra HTTP request per comment and significantly increases run time. Only enable it when you need detailed profile data.
  7. Batch multiple tweets β€” Provide multiple URLs in a single run to save on actor start-up overhead.
  8. Schedule recurring runs β€” Use Apify's scheduling feature to monitor tweet replies over time.

⚠️ Limitations

  • Pagination limits β€” Due to Twitter's interface constraints, the actor can retrieve a maximum of approximately 200 comments per tweet in a single run.
  • No nested replies β€” The scraper collects top-level replies visible on the tweet screen. Deeply nested conversation threads are not expanded.
  • Rate limiting β€” Excessive scraping may trigger Twitter's rate limiting. Space out large runs accordingly.
  • Public tweets only β€” The actor can only scrape comments on publicly visible tweets.

❓ Frequently Asked Questions


πŸ”— More from Mikolabs β€” Twitter / X Scraping Suite

This actor is part of the Mikolabs Twitter / X Scraping Suite on Apify. Check out our other actors:

ActorDescriptionLink
πŸ” X (Twitter) Advanced Search Tweet ScraperScrape tweets using Twitter's powerful advanced search operators β€” by keyword, hashtag, user, date range, engagement, and more.Try it β†’
πŸ“₯ X (Twitter) Media DownloaderDownload images, videos, and GIFs from any tweet or user timeline. Bulk export media at scale.Try it β†’
🐦 Twitter / X Scraper β€” Complete SuiteThe all-in-one Twitter scraper β€” extract tweets, profiles, followers, search results, and more in a single actor.Try it β†’
πŸ’¬ Twitter (X) Comment Scraper(You are here) Extract comments & replies from any tweet with engagement data.Try it β†’

🀝 Support & Feedback

  • ⭐ Leave a review β€” If you found this actor useful, drop us a review β€” it helps a lot!
  • πŸ› Issues or bugs? β€” Report an issue on the Apify actor page.
  • πŸ’‘ Feature requests? β€” Submit via Apify Issues or contact us on Apify.
  • ❓ Questions? β€” Reach out through the Apify actor's discussion section.
  • ⚑ Direct API Access & Tools β€” Check out our full suite of APIs at mikolabs.xyz/apis.
  • πŸ“¦ More actors? β€” Browse all Mikolabs actors at apify.com/mikolabs.

Built with ❀️ by Mikolabs · Powered by Apify