# Twitter X Profile Scraper (`cone/twitter-x-profile-scraper`) Actor

xtract full user profiles, tweets, replies, threads, media, hashtags, and virality metrics from X (formerly Twitter) at scale. Actor bypasses rate limits, eliminates official API pricing barriers, and provides clean, structured data in seconds without requiring Twitter credentials or API keys

- **URL**: https://apify.com/cone/twitter-x-profile-scraper.md
- **Developed by:** [CO⟁E Labs](https://apify.com/cone) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🐦 Twitter / X Profile & Tweets Scraper — Fast & Unlimited Data Extractor

[![ConeLabs](https://img.shields.io/badge/Maintained%20by-ConeLabs-6366f1?style=for-the-badge\&logo=rocket)](https://conelabs.xyz)
[![Apify Actor](https://img.shields.io/badge/Apify-Actor-00A65A?style=for-the-badge\&logo=apify)](https://apify.com)
[![No API Key Required](https://img.shields.io/badge/Twitter%20API-Not%20Required-1DA1F2?style=for-the-badge\&logo=x)](https://x.com)
[![Export Formats](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel%20%7C%20XML-F58220?style=for-the-badge)](https://apify.com)

Extract full user profiles, tweets, replies, threads, media, hashtags, and virality metrics from **X (formerly Twitter)** at scale. Engineered by **[ConeLabs](https://conelabs.xyz)**, this Actor bypasses rate limits, eliminates official API pricing barriers, and provides clean, structured data in seconds without requiring Twitter credentials or API keys.

> \[!TIP]
>
> ### 💎 Looking for a One-Time SaaS Purchase?
>
> We also offer this Twitter/X Scraper as a **one-time SaaS software purchase** with full source code (Python + high-performance scraping backend), self-hosted Docker deployment scripts, and lifetime updates. Zero monthly platform fees.
> 👉 **Contact us on Telegram:** [**@conelabs**](https://t.me/conelabs) or visit [**conelabs.xyz**](https://conelabs.xyz).

***

### ⚡ Why Use ConeLabs Twitter / X Scraper Instead of the Official X API?

The official X (Twitter) API pricing starts at **$100 to $5,000+ per month** with harsh rate limits and complex developer approval gates. **ConeLabs Twitter X Profile Scraper** gives you instant, unrestricted access with zero developer approval and pay-as-you-go efficiency.

| Feature | Official X (Twitter) API | ConeLabs Twitter X Scraper |
|---|---|---|
| **Monthly Cost** | $100 – $5,000+/month | **Pay-as-you-go or One-Time SaaS** |
| **API Key / Approval** | Mandatory verification & approval | **None required (Zero setup)** |
| **Rate Limits** | Strict request & monthly tweet caps | **Virtually unlimited extraction** |
| **Account Login** | Requires active Twitter accounts | **Anonymous, automated extraction** |
| **Data Formats** | Raw JSON only | **JSON, CSV, Excel, XML, HTML, RSS** |
| **Anti-Blocking** | Datacenter IP bans | **Built-in multi-mirror failover & residential proxies** |

***

### 🔍 What Data Can You Extract?

- **👤 Complete User Profile Data** — Full name, username, bio, follower count, following count, profile join date, verified checkmark type, website, location, avatar CDN URL, and banner image.
- **📝 Tweets & Posts** — Full tweet text, tweet ID, permanent URL, publish timestamp, retweets count, likes, replies, and quotes.
- **💬 Replies & Conversations** — Reply tweets, threaded conversations, and author reply trees.
- **📸 Media Attachments** — Full-resolution photos, MP4 video streams, thumbnails, and animated GIFs.
- **🔁 Retweets & Quote Tweets** — Native retweets, quoted tweet embeds, and original poster metadata.
- **🔎 Keyword & Hashtag Search** — Historical and real-time search within any user's timeline or across public tweets.
- **📊 Engagement Virality Metrics** — Filter tweets by minimum likes, retweets, and comments to isolate viral content.

***

### 💡 Top Industry Use Cases & Applications

1. **🤖 AI & LLM Training Datasets** — Collect clean conversational datasets, domain-specific text corpora, and social sentiment data for training Large Language Models (LLMs) and fine-tuning NLP classifiers.
2. **📈 Market Sentiment & Financial Intelligence** — Track real-time crypto announcements, stock discussions (Cashtags `$AAPL`, `$BTC`), and executive commentary for algorithmic trading signals.
3. **🎯 Competitor Monitoring & Audience Intelligence** — Benchmark competitor engagement rates, posting schedules, top-performing media, and audience growth patterns.
4. **📢 Brand Reputation & Crisis Management** — Monitor brand mentions, executive sentiment, product launches, and customer complaints in real-time.
5. **🤝 Influencer Discovery & Creator Research** — Find niche creators with high engagement rates and authentic follower ratios for influencer marketing campaigns.
6. **💼 B2B Lead Generation** — Identify active prospects, founders, and engineers discussing industry pain points, job openings, or technology stacks.

***

### 🚀 Quick Start Guide (How to Scrape X in 3 Steps)

1. **Select Targets**: Enter Twitter handles (e.g. `elonmusk`, `figma`, `sama`) or full profile URLs in the input form.
2. **Set Options**: Choose the maximum number of tweets (`maxItems`), toggle replies or media-only filters, or apply keyword filters.
3. **Run & Export**: Click **Start**. When finished, download your structured data in **JSON, CSV, Excel (XLSX), XML, or HTML Table** from the **Dataset** tab.

***

### ⚙️ Input Parameters & Configuration

You can configure the scraper via the Apify Console UI or pass a JSON payload directly via the Apify API:

| Parameter | Type | Default | Description |
|---|---|---|---|
| `twitterHandles` | `string[]` | `["elonmusk"]` | List of Twitter handles to scrape (with or without `@`). |
| `twitterUrls` | `string[]` | `[]` | Direct profile URLs (e.g. `https://x.com/elonmusk`). |
| `scrapeProfileInfo` | `boolean` | `true` | Extract rich profile bio, stats, followers, avatar, and banner. |
| `maxItems` | `integer` | `20` | Max tweets per target (`0` for unlimited). Free tier limited to 10. |
| `includeReplies` | `boolean` | `false` | Include author's reply tweets in timeline extraction. |
| `includeRetweets` | `boolean` | `true` | Include retweets posted by the target account. |
| `mediaOnly` | `boolean` | `false` | Only extract tweets that contain images or videos. |
| `searchTerms` | `string[]` | `[]` | Filter tweets containing specific keywords or search phrases. |
| `startDate` | `string` | `""` | Filter tweets posted on or after this date (`YYYY-MM-DD`). |
| `endDate` | `string` | `""` | Filter tweets posted on or before this date (`YYYY-MM-DD`). |
| `minLikes` | `integer` | `0` | Minimum likes threshold (virality filter). |
| `minRetweets` | `integer` | `0` | Minimum retweets threshold. |
| `minReplies` | `integer` | `0` | Minimum comments/replies threshold. |
| `location` | `string` | `""` | Geographic location filter (e.g. `San Francisco`, `London`). |
| `email` | `string` | `""` | Email for guaranteed 10–30 min data delivery guarantee. |
| `nsfwContent` | `boolean` | `true` | Allow extraction of age-restricted or sensitive media. |
| `useResidentialProxy` | `boolean` | `true` | Route through residential proxies for anti-blocking resilience. |
| `proxyConfiguration` | `object` | `{"useApifyProxy": true}` | Proxy configuration group settings. |
| `maxRetries` | `integer` | `5` | Request retry tolerance with automatic session rotation. |

#### 📋 Example JSON Input

```json
{
    "twitterHandles": ["elonmusk", "sama"],
    "maxItems": 50,
    "includeReplies": false,
    "includeRetweets": true,
    "scrapeProfileInfo": true,
    "searchTerms": ["AI", "superintelligence"],
    "startDate": "2024-01-01",
    "endDate": "2024-12-31",
    "minLikes": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

***

### 📊 Sample Output Data Format

#### 👤 Profile Record

```json
{
    "type": "profile",
    "username": "elonmusk",
    "fullname": "Elon Musk",
    "bio": "",
    "followers": 198500000,
    "following": 750,
    "tweets": 52100,
    "likes": 64200,
    "verified": true,
    "verified_type": "blue",
    "avatar": "https://pbs.twimg.com/profile_images/...",
    "banner": "https://pbs.twimg.com/profile_banners/...",
    "website": "https://x.com",
    "location": "",
    "joined": "June 2009",
    "scrape_date": "2026-09-22T08:00:00Z"
}
```

#### 📝 Tweet Record

```json
{
    "type": "tweet",
    "tweet_id": "1845123456789012345",
    "url": "https://x.com/elonmusk/status/1845123456789012345",
    "text": "Starship Flight 5 booster catch was incredible! Rapid reusability is the key to making life multiplanetary.",
    "username": "elonmusk",
    "fullname": "Elon Musk",
    "date": "2026-09-20T14:30:00Z",
    "likes": 284500,
    "retweets": 41200,
    "replies": 12800,
    "quotes": 5600,
    "is_retweet": false,
    "is_reply": false,
    "hashtags": ["#SpaceX", "#Starship"],
    "mentions": ["@SpaceX"],
    "urls": ["https://spacex.com"],
    "media": [
        {
            "type": "video",
            "url": "https://video.twimg.com/ext_tw_video/...",
            "thumbnail": "https://pbs.twimg.com/ext_tw_video_thumb/..."
        }
    ],
    "scrape_date": "2026-09-22T08:00:00Z"
}
```

***

### 💳 Free vs. Paid Plan Capabilities

| Feature | Free Tier Plan | Paid Subscription Plan |
|---|---|---|
| **Daily Runs** | **5 free runs / day** | **Unlimited daily runs** |
| **Tweets per Target** | **10 items / target** | **Unlimited (set `maxItems: 0`)** |
| **Concurrency & Speed** | Standard | High Concurrency Multi-Worker |
| **Network Routing** | Direct & Auto-failover | Residential Proxies (US/CA) + Direct |
| **Support SLA** | Community | Priority Developer Support |

> \[!NOTE]
> Free users receive up to **5 runs daily** with **10 items per target**. When you need unlimited volume, high concurrency, and deep historical scraping, upgrade to an [Apify paid subscription](https://apify.com/pricing) or purchase our self-hosted software.

***

### 🏢 One-Time SaaS & White-Label Enterprise Solutions

Need your own private, self-hosted scraping infrastructure without monthly platform subscriptions? **ConeLabs** offers this complete software package as a **one-time SaaS purchase**:

- 💻 **Complete Source Code**: Python orchestrator + high-performance scraping engine.
- 🐳 **Turnkey Self-Hosted Setup**: Pre-configured Docker Compose with auto-restarting services, local Redis caching, and health-check monitoring.
- 🔌 **Standalone REST API**: Embed tweet and profile extraction directly into your existing SaaS products, data warehouses, or internal dashboards.
- 🛡️ **Custom Proxy Integration**: Plug in your own residential, mobile, or datacenter proxy pools.
- ♾️ **Zero Monthly Platform Fees**: Pay once, own the software, and scale your data operations without per-result charges.

👉 **Inquire about One-Time SaaS / Source Code:**

- **Telegram:** [**@conelabs**](https://t.me/conelabs)
- **Website:** [**conelabs.xyz**](https://conelabs.xyz)
- **Email:** `support@conelabs.xyz`

***

### ❓ Frequently Asked Questions (FAQ)

#### Can I scrape Twitter / X without an API key?

**Yes.** This Actor operates completely independently of the official Twitter API. You do not need developer accounts, API credentials, or authentication tokens.

#### Can I export scraped tweets directly to Excel or CSV?

**Yes.** Once the run finishes, navigate to the **Dataset** tab in Apify Console to download your data in **Excel (XLSX), CSV, JSON, XML, RSS, or HTML Table** formats.

#### How do I scrape unlimited tweets?

On a paid Apify subscription or self-hosted ConeLabs instance, set `maxItems` to `0`. The scraper will paginate through the user's entire timeline without arbitrary ceilings.

#### Can this scraper access private or protected Twitter accounts?

**No.** Like all compliant web scrapers, only public Twitter profiles, public tweets, and public media can be extracted. Protected or private accounts are inaccessible.

#### Does it work with Twitter's new X.com domains and formats?

**Yes.** The scraper seamlessly handles both `x.com` and `twitter.com` profile links, short URLs (`t.co`), and updated post formats.

#### Is web scraping legal?

Yes, scraping public information available on the internet is legal under international legal precedents (such as *hiQ Labs v. LinkedIn*), provided you respect privacy regulations (such as GDPR/CCPA) and terms regarding sensitive personal data. Always review [Apify's Legal Guide to Web Scraping](https://blog.apify.com/is-web-scraping-legal/).

***

### 🔗 Integrations & Developer Ecosystem

ConeLabs Twitter X Profile Scraper integrates directly with modern automation and data workflow tools:

- **Automation:** [Make (Integromat)](https://apify.com/integrations), [Zapier](https://apify.com/integrations), GitHub Actions.
- **Storage & Databases:** Google Sheets, Airtable, Snowflake, PostgreSQL, BigQuery, AWS S3.
- **SDKs & APIs:** [Apify Python SDK](https://docs.apify.com/sdk/python/), [Apify JavaScript/TypeScript SDK](https://docs.apify.com/sdk/js/), and standard REST API endpoints.

***

### 💬 Support & Contact

- **Bug Reports & Feature Requests:** Open an issue in the **Issues** tab on the Apify Actor page.
- **Enterprise & Custom Scrapers:** Visit [**ConeLabs**](https://conelabs.xyz) or chat on Telegram: [**@conelabs**](https://t.me/conelabs).

# Actor input Schema

## `twitterHandles` (type: `array`):

Twitter usernames to extract (e.g. <code>elonmusk</code>, <code>@figma</code>, <code>apify</code>).

## `twitterUrls` (type: `array`):

Direct links to Twitter/X profiles (e.g. <code>https://x.com/elonmusk</code>).

## `scrapeProfileInfo` (type: `boolean`):

Extract full profile bio, follower count, following count, verified badge, creation date, website, and avatar/banner URLs.

## `maxItems` (type: `integer`):

Maximum tweets to collect per target. Free tier provides up to 10 items. Paid subscribers have unlimited volume (set to <code>0</code> for unlimited).

## `email` (type: `string`):

✨ <b>ConeLabs Zero-Risk Guarantee:</b> If live extraction ever yields 0 items, your dataset will be delivered to your inbox within 10–30 minutes with <b>zero compute charges</b> and an instant <b>10% discount</b> on result fees.

## `searchTerms` (type: `array`):

Keywords or search operators to filter tweets (e.g. <code>AI research</code>, <code>launch</code>).

## `startDate` (type: `string`):

Only collect tweets published on or after this date. Format: <code>YYYY-MM-DD</code>.

## `endDate` (type: `string`):

Only collect tweets published on or before this date. Format: <code>YYYY-MM-DD</code>.

## `location` (type: `string`):

Filter tweets geocoded near a specific city or region (e.g. <code>San Francisco</code>, <code>London</code>).

## `minLikes` (type: `integer`):

Only include tweets with at least this many likes. Set to <code>0</code> to disable.

## `minRetweets` (type: `integer`):

Only include tweets with at least this many retweets. Set to <code>0</code> to disable.

## `minReplies` (type: `integer`):

Only include tweets with at least this many replies. Set to <code>0</code> to disable.

## `includeReplies` (type: `boolean`):

Include author's reply tweets in the timeline results. Disabled by default to focus on original posts.

## `includeRetweets` (type: `boolean`):

Include posts retweeted by this user. Enabled by default.

## `mediaOnly` (type: `boolean`):

Only collect tweets containing photos, videos, or animated GIFs.

## `contentInclude` (type: `boolean`):

Filter to only collect tweets containing media attachments.

## `onlyVerified` (type: `boolean`):

Only collect tweets from accounts with verified badges.

## `onlyLinks` (type: `boolean`):

Only collect tweets that contain external web URLs.

## `onlyQuotes` (type: `boolean`):

Only collect quote tweets.

## `excludeReplies` (type: `boolean`):

Explicitly exclude any reply tweets.

## `excludeRetweets` (type: `boolean`):

Explicitly exclude shared retweets.

## `excludeMedia` (type: `boolean`):

Exclude tweets that have images or videos attached.

## `excludeLinks` (type: `boolean`):

Exclude tweets containing external hyperlinks.

## `nsfwContent` (type: `boolean`):

Enable extraction of age-restricted or sensitive media.

## `useResidentialProxy` (type: `boolean`):

Automatically routes requests through premium Apify residential proxies for unblocked scraping.

## `proxyConfiguration` (type: `object`):

Residential proxy settings configured for maximum anti-blocking.

## `customProxyUrl` (type: `string`):

Optional external HTTP/HTTPS proxy to route requests (e.g. <code>http://username:password@proxy.example.com:8000</code>).

## `maxRetries` (type: `integer`):

Maximum retry attempts per request. Internal failover automatically kicks in with session and proxy rotation.

## Actor input object example

```json
{
  "twitterHandles": [
    "solana"
  ],
  "scrapeProfileInfo": true,
  "maxItems": 20,
  "email": "user@example.com",
  "searchTerms": [
    "AI research",
    "web scraping"
  ],
  "startDate": "2024-01-01",
  "endDate": "2024-12-31",
  "location": "San Francisco",
  "minLikes": 0,
  "minRetweets": 0,
  "minReplies": 0,
  "includeReplies": false,
  "includeRetweets": true,
  "mediaOnly": false,
  "contentInclude": false,
  "onlyVerified": false,
  "onlyLinks": false,
  "onlyQuotes": false,
  "excludeReplies": false,
  "excludeRetweets": false,
  "excludeMedia": false,
  "excludeLinks": false,
  "nsfwContent": true,
  "useResidentialProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxRetries": 5
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing scraped Twitter/X profile information and tweets

# 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 = {
    "twitterHandles": [
        "solana"
    ],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("cone/twitter-x-profile-scraper").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 = {
    "twitterHandles": ["solana"],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("cone/twitter-x-profile-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "twitterHandles": [
    "solana"
  ],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call cone/twitter-x-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cone/twitter-x-profile-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/lteZfxs9raEJZbSsl/builds/tycepIu8yUPUs21XY/openapi.json
