logo
EN

Twitter (X) Comments Scraper

Collect public replies from Twitter post URLs with the source post, reply author, content, timestamps, media links, and engagement details.

Developer
YiJacobJohnRaku
Pricing
$0.0003 / record
Last updated
2026-09-10

Overview

Twitter (X) Comments Scraper turns known public post URLs into structured reply records that are ready to review, filter, and compare. Each record connects one reply to its source post and preserves the post and reply links, authors, text, publication times, media links, visible engagement counts, deletion indicator, and any collection message.

This dataset helps teams move beyond a post-level engagement total and inspect the conversation underneath it. Because each reply stays linked to the source post and the replying account, the results can support qualitative conversation review, visible-audience research, response-pattern analysis, and evidence gathering around a defined set of posts.

Data notes

Records come from publicly accessible Twitter conversations and reflect what the collector could see when the run took place. Each record represents one collected reply to one submitted source post, and the reply URL is used to remove duplicate records across retrieved result pages. Post and reply timestamps retain the source's displayed UTC offset. Like, retweet, reply, bookmark, and view counts are snapshots reported at collection time and can change afterward; they are preserved as reported text rather than recalculated values. Multiple source-post image addresses may be joined with vertical bars, while an empty reply-image value means no image was reported for that reply. Private, restricted, deleted, and sign-in-only content may not be available.

What the results look like

Each record is one collected public reply linked to its source post:

Reply author nameReply contentReply timestampReply URLReply likesReply views
ALT_uscis@smutoro @Meta @instagram @facebook The COVID era was THE TRUMP ERA YOU MORONTue Aug 27 13:49:59 +0000 2024https://x.com/ALT_uscis/status/182842975610829645213713
ExampleResponderA short public response to the source post.Tue Aug 27 14:02:10 +0000 2024https://x.com/ExampleResponder/status/18284328000000000004128

The output also includes “Source post URL,” “Source post ID,” “Post author name,” “Post author URL,” “Post timestamp,” “Post content,” “Post image URLs,” “Post likes,” “Post retweets,” “Post replies,” “Post bookmarks,” “Reply author URL,” “Reply image URL,” “Reply retweets,” “Nested replies,” “Deletion indicator,” and “Collection message.”

Use cases

  • For conversation analysis, group records by “Source post URL” and review “Reply content” to identify recurring questions, objections, claims, and themes beneath each post.
  • For visible-audience research, compare “Reply author name” and “Reply author URL,” then use “Reply URL” to inspect the original public context.
  • For reply-engagement comparisons, evaluate “Reply likes,” “Reply retweets,” “Nested replies,” and “Reply views” together to identify which collected responses drew more visible interaction.
  • For post-to-reply context review, compare “Post content” with “Reply content” and their respective timestamps to preserve the relationship between a statement and the responses it received.

Scope and boundaries

Each run accepts 1 to 100,000 public Twitter post URLs and can request up to 100,000 replies per post; retrieval is capped at 10,000 returned records per run.

  • Good for
  • Use it when you need reply-level records for one or more known public Twitter posts.
  • Use it for conversation analysis, respondent discovery, reply engagement comparisons, or evidence collection around specific posts.
  • Do not use for
  • Do not use it to discover posts by keyword or hashtag because it starts from known post URLs.
  • Do not use it for private, deleted, restricted, or sign-in-only conversations because only content visible to the collector is covered.

Failure handling

Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.

  1. 1If a run stops before completion, retry the same small input once; if it stops again, use fewer post URLs or request fewer replies.
  2. 2An empty result can mean the post has no visible replies, the URL is unavailable, or access was temporarily limited; verify the post URL and retry later.

Input

Parameters required to call this App, generated from the input.schema in manifest.json.

  • Twitter post URLstweet_urlsRequiredarray<string>
    Public Twitter or X post URLs whose replies should be collected. Enter 1 to 100,000 URLs per run.
    Itemsup to 100000 itemsExample["https://x.com/smutoro/status/1828297507484438722"]
  • Replies per postreply_limitOptionalinteger
    Maximum number of replies to request for each post, from 1 to 100,000. When omitted, the collector decides the limit; set it explicitly when a predictable depth is important.
    Range1–100000

Output

Field structure of a single record, generated from the output.schema in manifest.json.

  • Source post URLtweet_urlstring
    Direct address of the source Twitter post.
    Examplehttps://x.com/smutoro/status/1828297507484438722
  • Source post IDtweet_idstring
    Identifier of the source Twitter post.
    Example1828297507484438722
  • Post author nametweet_author_namestring
    Display name of the account that published the source post.
    ExampleStephen Mutoro
  • Post author URLtweet_author_profile_urlstring
    Direct address of the source post author's profile.
    Examplehttps://x.com/smutoro

Sample data

Generated from output.schema. Fields without a sample value use structural placeholders.

output.example
{
  "tweet_url": "https://x.com/smutoro/status/1828297507484438722",
  "tweet_id": "1828297507484438722",
  "tweet_author_name": "Stephen Mutoro",
  "tweet_author_profile_url": "https://x.com/smutoro",
  "tweet_posted_at_utc": "Tue Aug 27 05:04:28 +0000 2024",
  "tweet_content": "The @Meta, @instagram and @facebook owner Mark Zuckerberg says he regrets working with the Biden-Harris administration to censure information online during the #Covid19 era https://t.co/G8nKVLDDPG",
  "tweet_image_urls": "https://pbs.twimg.com/ext_tw_video_thumb/1828297475221774336/pu/img/dMCF64ISghcByCeH.jpg|https://pbs.twimg.com/media/GV9q30sWwAAU7cU.jpg|https://pbs.twimg.com/media/GV9q3xVXAAEzT4Y.jpg",
  "tweet_likes": "212",
  "tweet_retweets": "93",
  "tweet_replies": "52",
  "tweet_bookmarks": "89",
  "comment_url": "https://x.com/ALT_uscis/status/1828429756108296452",
  "comment_author_name": "ALT_uscis",
  "comment_author_profile_url": "https://x.com/ALT_uscis",
  "comment_timestamp": "Tue Aug 27 13:49:59 +0000 2024",
  "comment_content": "@smutoro @Meta @instagram @facebook The COVID era was THE TRUMP ERA YOU MORON",
  "comment_image_url": "",
  "comment_likes": "13",
  "comment_retweets": "0",
  "comment_replies": "2",
  "comment_views": "713",
  "is_deleted": "False",
  "error_message": ""
}

Integration

This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way. This App runs asynchronously and can be canceled midway: After you cancel, the run stops. Records already delivered are kept and billed.

With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.

Client config

Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.

mcpServers config
{
  "mcpServers": {
    "octoparse_datahub": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/tweets-comments-scraper-by-search-result-url",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Let AI set it up for you

Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)

detail.access.mcp.composeHint

Pricing

returned comment record

Charged by the number of records successfully returned. Failed runs are not charged.

$0.0003/ record

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
$0.0003 / record