# Twitter/X Recent Replies Scraper (`igview-owner/twitter-x-recent-replies`) Actor

Instantly scrape comments, replies, and engagement metrics from any X (Twitter) post. Perfect for sentiment analysis, brand monitoring, and customer feedback audits. No login required.

- **URL**: https://apify.com/igview-owner/twitter-x-recent-replies.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Social media, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🐦 Twitter/X Recent Replies Scraper – Extract Direct Tweet Replies

**Extract recent replies, comments, and conversation threads under any Twitter/X tweet. Get deep details on user interactions, user profiles, engagement metrics, media contents, and quoted tweets. Perfect for social listening, brand reputation analysis, customer feedback audit, sentiment analysis, and social media research!**

### 📋 Table of Contents

- [Features](#features)
- [Use Cases](#use-cases)
- [Quick Start](#quick-start)
- [Input Parameters](#input-parameters)
- [Output Format](#output-format)
- [Data Fields Explained](#data-fields-explained)
- [FAQ](#faq)

### 🚀 Features

#### **Complete Reply Extraction**
- **Direct Comments & Replies** - Extract all recent replies and comments under any public tweet.
- **Detailed User Profiles** - Extract author's screen name, display name, user ID, profile picture, description/bio, follower count, friend count, verified status, account creation date, and location.
- **Engagement Metrics** - Track reply-level statistics: likes/favorites, retweets, replies, quotes, bookmarks, and views.
- **Quoted Tweet Integration** - Detect and format quoted tweets in responses, including their respective metadata and metrics.
- **Rich Media & Entities** - Capture inline links, hashtags, user mentions, images, and videos.

#### **Enterprise-grade Scraping**
- **Automated Pagination** - Standardized `maxPages` configuration to traverse multiple reply levels automatically.
- **No Login Required** - Scrape public replies safely without linking any developer accounts or browser cookies.

### 🎯 Use Cases

| Use Case | Description | Benefits |
|----------|-------------|----------|
| **Brand Reputation** | Monitor feedback and comments on your brand’s announcements | Respond quickly to complaints, identify issues |
| **Sentiment Analysis** | Analyze positive, negative, or neutral reactions to posts | Assess public sentiment trends |
| **Customer Support** | Fetch support requests and questions posted under public posts | Streamline support replies and response times |
| **Viral Post Audits** | Scrape responses on highly viral tweets to understand reactions | Identify viral hooks and engagement triggers |
| **Lead Generation** | Identify active users expressing interest under relevant product tweets | Target high-intent prospects |

### ⚡ Quick Start

#### 1️⃣ Single Tweet Reply Scraping
```json
{
  "tweetIds": [
    "1800000000000000000"
  ],
  "maxPages": 2
}
````

#### 2️⃣ Multiple Tweets and URLs

```json
{
  "tweetIds": [
    "https://x.com/jack/status/20",
    "https://twitter.com/elonmusk/status/1800000000000000000"
  ],
  "maxPages": 5
}
```

### 📊 Input Parameters

#### Configuration Options

| Parameter | Type | Required | Description | Default |
|-----------|------|----------|-------------|---------|
| `tweetIds` | Array | Yes | List of Tweet IDs or URLs to scrape replies for. Supports status URLs and raw numeric IDs. | |
| `maxPages` | Integer | No | Max pages of replies to retrieve per tweet (1 page = 1 API call). Range: 1 to 20. | `1` |

### 📤 Output Format

#### **Reply Result Output Example**

```json
{
  "type": "tweet",
  "tweet_id": "1800000000000000002",
  "text": "Completely agree with this perspective on tech growth!",
  "screen_name": "reply_user",
  "created_at": "Wed Jun 12 14:25:00 +0000 2026",
  "favorites": 142,
  "retweets": 8,
  "replies": 3,
  "quotes": 0,
  "bookmarks": 12,
  "views": "1500",
  "lang": "en",
  "source": "Twitter Web App",
  "conversation_id": "1800000000000000000",
  "in_reply_to_screen_name": "tech_enthusiast",
  "in_reply_to_status_id": "1800000000000000000",
  "in_reply_to_user_id": "44196397",
  "author_name": "John Doe",
  "author_username": "reply_user",
  "author_id": "987654321",
  "author_avatar": "https://pbs.twimg.com/profile_images/987654321/photo_400x400.jpg",
  "author_description": "Software engineer and tech blogger.",
  "author_followers": 1250,
  "author_friends": 450,
  "author_favourites": 3200,
  "author_verified": false,
  "author_location": "San Francisco, CA",
  "author_created_at": "Sun Mar 15 10:12:00 +0000 2020",
  "media": null,
  "quoted_tweet": null,
  "parent_tweet_id": "1800000000000000000",
  "scraped_at": "2026-07-08T10:45:00.000Z"
}
```

### 📈 Data Fields Explained

#### **Complete Field Reference**

| Field | Type | Description |
|-------|------|-------------|
| `type` | String | Type of tweet response (usually `tweet`). |
| `tweet_id` | String | Unique Twitter status ID of the reply. |
| `text` | String | Plain-text content of the reply. |
| `screen_name` | String | Handle of the user who replied. |
| `created_at` | String | Timestamp when the reply was posted. |
| `favorites` | Integer | Reply likes count. |
| `retweets` | Integer | Reply retweets count. |
| `replies` | Integer | Nesting reply replies count. |
| `quotes` | Integer | Nesting quote count. |
| `bookmarks` | Integer | Bookmarks count on the reply. |
| `views` | String/Number | Impressions / views of the reply. |
| `lang` | String | Language code of the reply. |
| `conversation_id` | String | Thread conversation ID. |
| `in_reply_to_screen_name` | String | Handle of the user being replied to. |
| `in_reply_to_status_id` | String | ID of the tweet being replied to. |
| `author_name` | String | Display name of the replying user. |
| `author_id` | String | Unique user ID of the replying user. |
| `author_followers` | Integer | Follower count of the replying user. |
| `author_verified` | Boolean | True if the replying user is verified. |
| `parent_tweet_id` | String | The root tweet ID that was searched. |
| `scraped_at` | String | Extraction timestamp. |

### ❓ FAQ

#### **Q: What is the difference between this and Twitter X Thread Reader?**

**A:** The Thread Reader collects sequential, linear tweets posted by the original author (or direct continuation of the thread narrative). This scraper collects all public replies and comments posted by various other users on the tweet.

#### **Q: Can I scrape replies from private accounts or tweets?**

**A:** No. Only tweets on public accounts can have their replies scraped.

***

### Related Actors 🤝

- **[Twitter X Thread Reader Scraper](https://apify.com/igview-owner/twitter-x-thread-reader)**
- **[Twitter X Lists Timeline Scraper](https://apify.com/igview-owner/twitter-x-lists-timeline)**
- **[Twitter X Profile Scraper](https://apify.com/igview-owner/twitter-x-profile-scraper)**
- **[Twitter X Video Downloader](https://apify.com/igview-owner/twitter-x-video-downloader)**
- **[X Profile Viewer](https://apify.com/igview-owner/x-twitter-profile-viewer)**
- **[X Follower Scraper](https://apify.com/igview-owner/twitter-x-follower-scraper)**
- **[X Following Scraper](https://apify.com/igview-owner/twitter-x-following-scraper)**
- **[Twitter Affiliates X Scraper](https://apify.com/igview-owner/twitter-advanced-x-scraper)**

***

### 🏷️ **Keywords & Tags**

`twitter replies scraper`, `x replies scraper`, `extract twitter comments`, `twitter replies exporter`, `twitter comments downloader`, `twitter customer service audit`, `twitter engagement scraper`, `twitter sentiment collection`, `apify twitter scraper`, `export x comments`

***

### 🚀 **Get Started Now**

1. Click [**"Try for free"**](https://apify.com?fpr=ykgg9c) to run this actor.
2. Enter one or more Tweet URLs or IDs in the input field.
3. Configure `maxPages` to determine the depth of replies you need.
4. Export the resulting replies in JSON, CSV, or Excel format!

**⭐ If this actor is useful to your workflow, please leave a star!**

***

*Built by Sachin Kumar Yadav using Apify Platform*

# Actor input Schema

## `tweetIds` (type: `array`):

Enter Tweet IDs or full tweet URLs to fetch recent replies. Examples: '2073311697474076672', 'https://x.com/elonmusk/status/2073311697474076672'

## `maxPages` (type: `integer`):

📊 Number of result pages to scrape (1-20). Each page contains replies. More pages = more results but longer runtime and higher API usage.

## Actor input object example

```json
{
  "tweetIds": [
    "2073311697474076672"
  ],
  "maxPages": 1
}
```

# Actor output Schema

## `replies_overview` (type: `string`):

Open the dataset view with an overview of all replies including author, reply text, likes, retweets, views, and more.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "tweetIds": [
        "2073311697474076672"
    ],
    "maxPages": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/twitter-x-recent-replies").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "tweetIds": ["2073311697474076672"],
    "maxPages": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/twitter-x-recent-replies").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "tweetIds": [
    "2073311697474076672"
  ],
  "maxPages": 1
}' |
apify call igview-owner/twitter-x-recent-replies --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=igview-owner/twitter-x-recent-replies",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Twitter/X Recent Replies Scraper",
        "description": "Instantly scrape comments, replies, and engagement metrics from any X (Twitter) post. Perfect for sentiment analysis, brand monitoring, and customer feedback audits. No login required.",
        "version": "1.0",
        "x-build-id": "PmegzLhLOE8PIokRA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/igview-owner~twitter-x-recent-replies/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-igview-owner-twitter-x-recent-replies",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/igview-owner~twitter-x-recent-replies/runs": {
            "post": {
                "operationId": "runs-sync-igview-owner-twitter-x-recent-replies",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/igview-owner~twitter-x-recent-replies/run-sync": {
            "post": {
                "operationId": "run-sync-igview-owner-twitter-x-recent-replies",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "tweetIds"
                ],
                "properties": {
                    "tweetIds": {
                        "title": "Tweet IDs or URLs",
                        "minItems": 1,
                        "maxItems": 50,
                        "type": "array",
                        "description": "Enter Tweet IDs or full tweet URLs to fetch recent replies. Examples: '2073311697474076672', 'https://x.com/elonmusk/status/2073311697474076672'",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "2073311697474076672"
                        ]
                    },
                    "maxPages": {
                        "title": "📄 Maximum Pages",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "📊 Number of result pages to scrape (1-20). Each page contains replies. More pages = more results but longer runtime and higher API usage.",
                        "default": 1
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
