logo
languageFRdown
menu

Twitter (X) Comments Scraper

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

Aperçu

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.

Périmètre et limites

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.

  • Adapté pour
  • 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.
  • À ne pas utiliser pour
  • 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.

Gestion des échecs

Comportement en cas d'échec et de nouvelle tentative déclaré par l'auteur. Nous vous recommandons de l'inclure dans votre prompt système lors de l'intégration.

  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.

Entrée

Paramètres requis pour appeler cette App, générés à partir de l'input.schema du manifest.json.

ChampNom métierTypeRequisDéfautÉnum / ContraintesExempleDescription
tweet_urlsTwitter post URLsarray<string>Ouijusqu'à 100000 éléments["https://x.com/smutoro/status/1828297507484438722"]Public Twitter or X post URLs whose replies should be collected. Enter 1 to 100,000 URLs per run.
reply_limitReplies per postintegerNon1–100000Maximum 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.

Sortie

Structure des champs d'un enregistrement, générée à partir de l'output.schema du manifest.json.

ChampNom métierTypeExempleDescription
tweet_urlSource post URLstringhttps://x.com/smutoro/status/1828297507484438722Direct address of the source Twitter post.
tweet_idSource post IDstring1828297507484438722Identifier of the source Twitter post.
tweet_author_namePost author namestringStephen MutoroDisplay name of the account that published the source post.
tweet_author_profile_urlPost author URLstringhttps://x.com/smutoroDirect address of the source post author's profile.
tweet_posted_at_utcPost timestampstringTue Aug 27 05:04:28 +0000 2024Publication time reported for the source post with a UTC offset.
tweet_contentPost contentstringThe @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/G8nKVLDDPGText content of the source post.
tweet_image_urlsPost image URLsstringhttps://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.jpgImage or video-thumbnail addresses reported for the source post, joined with vertical bars when more than one is present.
tweet_likesPost likesstring212Like count reported for the source post at collection time.
tweet_retweetsPost retweetsstring93Retweet count reported for the source post at collection time.
tweet_repliesPost repliesstring52Reply count reported for the source post at collection time.
tweet_bookmarksPost bookmarksstring89Bookmark count reported for the source post at collection time.
comment_urlReply URLstringhttps://x.com/ALT_uscis/status/1828429756108296452Direct address of the collected reply.
comment_author_nameReply author namestringALT_uscisName or handle reported for the account that published the reply.
comment_author_profile_urlReply author URLstringhttps://x.com/ALT_uscisDirect address of the reply author's profile.
comment_timestampReply timestampstringTue Aug 27 13:49:59 +0000 2024Publication time reported for the reply with a UTC offset.
comment_contentReply contentstring@smutoro @Meta @instagram @facebook The COVID era was THE TRUMP ERA YOU MORONText content of the collected reply.
comment_image_urlReply image URLstringImage address reported for the reply; empty when no image was reported.
comment_likesReply likesstring13Like count reported for the reply at collection time.
comment_retweetsReply retweetsstring0Retweet count reported for the reply at collection time.
comment_repliesNested repliesstring2Number of replies reported for the collected reply at collection time.
comment_viewsReply viewsstring713View count reported for the reply at collection time.
is_deletedDeletion indicatorstringFalseText indicator reporting whether the reply was identified as deleted.
error_messageCollection messagestringCollection message reported for the record; empty when no issue was reported.

Schema de l'enregistrement

La sortie est renvoyée enregistrement par enregistrement. detail.output.idFieldHint

output.schema
{
  "type": "object",
  "properties": {
    "tweet_url": {
      "type": "string",
      "title": "Source post URL",
      "description": "Direct address of the source Twitter post.",
      "prefill": "https://x.com/smutoro/status/1828297507484438722"
    },
    "tweet_id": {
      "type": "string",
      "title": "Source post ID",
      "description": "Identifier of the source Twitter post.",
      "prefill": "1828297507484438722"
    },
    "tweet_author_name": {
      "type": "string",
      "title": "Post author name",
      "description": "Display name of the account that published the source post.",
      "prefill": "Stephen Mutoro"
    },
    "tweet_author_profile_url": {
      "type": "string",
      "title": "Post author URL",
      "description": "Direct address of the source post author's profile.",
      "prefill": "https://x.com/smutoro"
    },
    "tweet_posted_at_utc": {
      "type": "string",
      "title": "Post timestamp",
      "description": "Publication time reported for the source post with a UTC offset.",
      "prefill": "Tue Aug 27 05:04:28 +0000 2024"
    },
    "tweet_content": {
      "type": "string",
      "title": "Post content",
      "description": "Text content of the source post.",
      "prefill": "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": {
      "type": "string",
      "title": "Post image URLs",
      "description": "Image or video-thumbnail addresses reported for the source post, joined with vertical bars when more than one is present.",
      "prefill": "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": {
      "type": "string",
      "title": "Post likes",
      "description": "Like count reported for the source post at collection time.",
      "prefill": "212"
    },
    "tweet_retweets": {
      "type": "string",
      "title": "Post retweets",
      "description": "Retweet count reported for the source post at collection time.",
      "prefill": "93"
    },
    "tweet_replies": {
      "type": "string",
      "title": "Post replies",
      "description": "Reply count reported for the source post at collection time.",
      "prefill": "52"
    },
    "tweet_bookmarks": {
      "type": "string",
      "title": "Post bookmarks",
      "description": "Bookmark count reported for the source post at collection time.",
      "prefill": "89"
    },
    "comment_url": {
      "type": "string",
      "title": "Reply URL",
      "description": "Direct address of the collected reply.",
      "prefill": "https://x.com/ALT_uscis/status/1828429756108296452"
    },
    "comment_author_name": {
      "type": "string",
      "title": "Reply author name",
      "description": "Name or handle reported for the account that published the reply.",
      "prefill": "ALT_uscis"
    },
    "comment_author_profile_url": {
      "type": "string",
      "title": "Reply author URL",
      "description": "Direct address of the reply author's profile.",
      "prefill": "https://x.com/ALT_uscis"
    },
    "comment_timestamp": {
      "type": "string",
      "title": "Reply timestamp",
      "description": "Publication time reported for the reply with a UTC offset.",
      "prefill": "Tue Aug 27 13:49:59 +0000 2024"
    },
    "comment_content": {
      "type": "string",
      "title": "Reply content",
      "description": "Text content of the collected reply.",
      "prefill": "@smutoro @Meta @instagram @facebook The COVID era was THE TRUMP ERA YOU MORON"
    },
    "comment_image_url": {
      "type": "string",
      "title": "Reply image URL",
      "description": "Image address reported for the reply; empty when no image was reported.",
      "prefill": ""
    },
    "comment_likes": {
      "type": "string",
      "title": "Reply likes",
      "description": "Like count reported for the reply at collection time.",
      "prefill": "13"
    },
    "comment_retweets": {
      "type": "string",
      "title": "Reply retweets",
      "description": "Retweet count reported for the reply at collection time.",
      "prefill": "0"
    },
    "comment_replies": {
      "type": "string",
      "title": "Nested replies",
      "description": "Number of replies reported for the collected reply at collection time.",
      "prefill": "2"
    },
    "comment_views": {
      "type": "string",
      "title": "Reply views",
      "description": "View count reported for the reply at collection time.",
      "prefill": "713"
    },
    "is_deleted": {
      "type": "string",
      "title": "Deletion indicator",
      "description": "Text indicator reporting whether the reply was identified as deleted.",
      "prefill": "False"
    },
    "error_message": {
      "type": "string",
      "title": "Collection message",
      "description": "Collection message reported for the record; empty when no issue was reported.",
      "prefill": ""
    }
  },
  "required": [],
  "additionalProperties": false
}

Intégration

Cette App peut être intégrée via MCP, API, SDK ou export de fichiers — tous les canaux partagent les mêmes capacités et la même tarification. Chaque requête s'authentifie avec l'en-tête Authorization: Bearer à l'aide d'une API Key (longue durée, créée dans la console Open Platform) ; les clients MCP peuvent aussi se connecter via OAuth, sans clé. D'autres options comme la CLI et Skill arrivent bientôt.

Avec MCP (Model Context Protocol), vous pouvez appeler cette App directement depuis des clients IA comme Claude et Cursor. Choisissez votre client et votre mode d'authentification, puis copiez la config ci-dessous.

Config du client

Remplacez la valeur après Bearer par votre API Key longue durée. Fonctionne dans n'importe quel client, en CI ou en environnement sans navigateur.

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

Laissez l'IA tout configurer pour vous

Vous ne voulez pas modifier les configs à la main ? Copiez le prompt d'installation et collez-le dans n'importe quel client IA — il effectuera la configuration à sa manière. (Le prompt demande à l'IA de vous réclamer votre API Key, afin que les identifiants ne finissent jamais dans l'historique de conversation ni dans des configs partagées.)

detail.access.mcp.composeHint

Tarifs

returned comment record

Facturé selon le nombre d'enregistrements renvoyés avec succès. Les tâches échouées ne sont pas facturées.

0,0003 $US/ enregistrement

Plusieurs événements de facturation se cumulent indépendamment — voir chaque élément pour les détails. Les tâches échouées ne sont pas facturées.

Essayer maintenant

Renseignez les paramètres et lancez l'exécution — les résultats proviennent d'un appel réel.

Exemple
Les paramètres sont validés par rapport à l'input.schema avant la soumission
Veuillez d'abord renseigner les paramètres requis
0,0003 $US / enregistrement