Twitter Comment Collection
Submit one Twitter post for public comment collection and retrieve structured comment records when the task is ready.
Overview
Collect public replies to one Twitter post as structured records for social listening, community analysis, and content research. Submit a post ID with the desired comment count, then receive each available comment together with author, timing, media, source-post, and engagement context.
Data notes
Each row represents one comment returned for the submitted public Twitter post. Comment ID and Source post ID preserve the relationship between the reply and the post being monitored. Author fields, text, URLs, media references, timestamps, and engagement counts are retained when supplied by the source. Comment videos and image URLs are returned as JSON-encoded text when available. Count fields are source-provided text values, and collection or publish timestamps may not include an explicit timezone.
The collection covers public, discoverable Twitter comments only. Private, deleted, inaccessible, or otherwise unavailable comments are not covered. Empty or unavailable collection items may be represented by the No-data marker and task metadata.
What a result looks like
Each row is one collected Twitter comment.
| Comment ID | Comment text | Comment author handle | Publish time | Like count | No-data marker |
|---|---|---|---|---|---|
| 2102029309472805246 | @YozoraWolf @RVyolie @KeitaroTR I already had over 1.4k Gear Artificing Catalyst, so I wasn't worried about losing one or two week worth of shop material. | Yukikaze______ | 2026-09-21T21:36:55 | 2 | No |
Source post ID, author ID, comment URL, media references, reply count, share count, view count, collection time, task item, and other source fields are also available when supplied.
Use cases
- For community research, group rows by Comment author handle and inspect Comment text to identify recurring participants and themes.
- For moderation or support analysis, filter Comment text and Comment URL to review public replies associated with a post.
- For engagement analysis, compare Like count, Reply count, Share count, and View count alongside Publish time.
Scope and boundaries
One public Twitter post per task with a requested comment count; results are returned as comment records through asynchronous task processing and paginated retrieval.
- Good for
- When you need structured public comments for a Twitter post, including comment text, author identifiers, timestamps, media references, and engagement counts.
- When you need to monitor replies to a public post and retain the source post context beside each comment.
- Do not use for
- When you need private, deleted, or non-public Twitter comments.
- When you need an immediate single-comment lookup rather than an asynchronous collection task.
Failure handling
Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.
- 1If the task expires or fails, submit the same post again and use the new task identifier.
- 2If no data is returned, verify that the post is public and has discoverable comments.
- 3Retry later after authentication failures, rate limits, temporary unavailability, or timeouts.
Input
Parameters required to call this App, generated from the input.schema in manifest.json.
- Twitter post ID
post_idRequiredstringThe ID of one public Twitter post whose comments should be collected. The upstream accepts up to 512 characters.Example2102028592125473050 - Requested comment count
comments_spider_numRequiredintegerThe number of comments to request for the post. The upstream documentation does not specify a maximum; provide the desired count explicitly.Example10
Output
Field structure of a single record, generated from the output.schema in manifest.json.
- Business ID
biz_idstringBusiness grouping identifier associated with the source post.Example2102028592125473050 - Comment ID
comment_idstringUnique identifier of the collected Twitter comment.Example2102029309472805246 - Comment text
comment_textstringText content of the collected comment, including mentions, line breaks, and links when supplied.Example@YozoraWolf @RVyolie @KeitaroTR I already had over 1.4k Gear Artificing Catalyst, so I wasn't worried about losing one or two week worth of shop material. All I can say is that the experience may come with quite some frustrating moment, but feels rewarding in the end. It felt worth it to me - Comment time
comment_timestringSource-provided display time associated with the comment; the source format includes a UTC offset.ExampleMon Sep 21 13:36:55 +0000 2026
Sample data
Generated from output.schema. Fields without a sample value use structural placeholders.
{
"biz_id": "2102028592125473050",
"comment_id": "2102029309472805246",
"comment_text": "@YozoraWolf @RVyolie @KeitaroTR I already had over 1.4k Gear Artificing Catalyst, so I wasn't worried about losing one or two week worth of shop material.\n\nAll I can say is that the experience may come with quite some frustrating moment, but feels rewarding in the end. It felt worth it to me",
"comment_time": "Mon Sep 21 13:36:55 +0000 2026",
"comment_type": "1",
"comment_url": "https://twitter.com/Yukikaze______/status/2102029309472805246",
"comment_user_avatar_url": "https://pbs.twimg.com/profile_images/2071806778090700801/bq6bQl6I_normal.jpg",
"comment_user_display_id": "Yukikaze______",
"comment_user_id": "1890315900949262338",
"comment_user_name": "Yukikaze",
"comment_videos": "[\"https://pbs.twimg.com/amplify_video_thumb/2097006050184749056/img/pVUa7PlCNZTedjQU.jpg\"]",
"content_id": "2102028592125473050",
"crawl_time": "2026-09-22T10:33:51",
"image_urls": "[]",
"keyword": "2102028592125473050",
"like_count": "2",
"parent_comment_id": "2102029309472805246",
"publish_time": "2026-09-21T21:36:55",
"reply_count": "1",
"share_count": "0",
"view_count": "9",
"task_item": "2102028592125473050",
"no_data": false
}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": {
"octoparse_datahub": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=hello_moto/twitter-comment",
"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
Charged once per submitted run, regardless of how many records are returned.
Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 11 records; any partial unit is rounded up to 11 records.
Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.
View creditsTry it now
Fill in the parameters and run. Results come from a real call.