# Fast Twitter (X) User Scraper API | Extract Profiles, Followers (`apidojo/twitter-user-scraper`) Actor

Introducing Twitter (X) User Scraper, the ultimate solution for direct user extraction from Twitter (X). It offers blazing speed and comprehensiveness, delivering lightning-fast user extraction features.

- **URL**: https://apify.com/apidojo/twitter-user-scraper.md
- **Developed by:** [API Dojo](https://apify.com/apidojo) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 8,668 total users, 997 monthly users, 98.6% runs succeeded, 140 bookmarks
- **User rating**: 4.44 out of 5 stars

## Pricing

from $0.40 / 1,000 dataset items

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

![](https://www.dropbox.com/scl/fi/phvo0q2a2jn6she34le8m/twitter-list-scraper.png?rlkey=gg4jqdgjc3v73wczlpfdultlf\&dl=1)

## Fast Twitter User Scraper API: Extract Profiles, Followers & Following at Scale

Extract user profiles, followers, following lists, and retweeters from X (formerly Twitter) at scale. This **Twitter user scraper** collects usernames, bios, follower counts, verification status, profile pictures, locations, and account metadata—all without login or API keys.

Use this **Twitter user scraper API** to build influencer databases, **extract Twitter followers** for lead generation, analyze competitor audiences, or **export Twitter followers to CSV** for CRM import. Scrape up to 67 users per second with complete profile data including X Premium status, listed count, and account creation dates.

**💰 Event-Based Pricing:** $0.004/profile | $0.016/followers query | $0.0004/user | **⚡ Speed:** 30-80 users/second | **🔓 No login required**

***

### 📋 Table of Contents

1. [What Does the Twitter User Scraper Do?](#-what-does-the-twitter-user-scraper-do)
2. [Features & Capabilities](#-features--capabilities)
3. [Pricing](#-pricing)
4. [Input Parameters](#-input-parameters)
5. [Twitter User Scraper Strategy Guide](#-twitter-user-scraper-strategy-guide)
6. [Output Format](#-output-format)
7. [Custom Map Function](#-custom-map-function)
8. [Related Scrapers](#-related-scrapers)
9. [Demo Mode & Free Testing](#-demo-mode--free-testing)
10. [Troubleshooting](#-troubleshooting)
11. [Use Cases & Industries](#-use-cases--industries)
12. [Quick Start Guide](#-quick-start-guide)
13. [FAQ](#-frequently-asked-questions)
14. [Contact](#-contact)

***

### 🧭 What Does the Twitter User Scraper Do?

**Twitter user scraper** is a tool that automates the extraction of user profiles, follower lists, following lists, and retweeters from public X (formerly Twitter) accounts. This **X user scraper** enables influencer research, lead generation, and audience analysis by collecting usernames, bios, follower counts, verification status, and profile metadata.

The **Api Dojo Twitter User Scraper API** retrieves comprehensive profile data—including user IDs, display names, profile pictures, cover images, locations, website URLs, account creation dates, tweet counts, and X Premium verification status—by username, profile URL, or user ID. This tool operates at speeds up to 67 users per second without requiring proxies, authentication, or official Twitter API quotas.

This **Twitter profile scraper** serves as a practical alternative to the official Twitter API v2 for bulk user extraction. No rate limits, no API key management—just straightforward data access through Apify's infrastructure. **Scrape Twitter users** and their networks for thousands of profiles in minutes.

#### Why Choose This Twitter User Scraper?

| Feature                 | This Scraper      | Twitter API v2     | Other Scrapers     |
| ----------------------- | ----------------- | ------------------ | ------------------ |
| **Speed**               | 30-80 users/sec   | Rate limited       | 5-12 users/sec     |
| **Cost**                | $0.004/profile    | Free tier limited  | $0.01-0.05/profile |
| **Authentication**      | None required     | OAuth 2.0 required | Often required     |
| **Rate Limits**         | No hard limits    | 15 requests/15 min | Varies             |
| **Followers/Following** | ✅ Full extraction | ✅ Limited          | ⚠️ Partial          |
| **Retweeters**          | ✅ Supported       | ❌ Not available    | ❌ Not available    |
| **Export Formats**      | JSON, CSV, Excel  | JSON only          | Varies             |

#### What Data Can You Extract?

##### Profile-Level Data

- **User ID** — Unique Twitter user identifier
- **Username (handle)** — @username
- **Display name** — Profile display name
- **Bio / profile description** — User's bio text with parsed URLs
- **Profile picture URL** — Avatar image (multiple sizes)
- **Cover picture URL** — Banner/header image
- **Follower count** — Total followers
- **Following count** — Accounts they follow
- **Tweet count** — Total tweets/statuses posted
- **Listed count** — How many lists they appear in
- **Favorites count** — Total likes given
- **Media count** — Photos/videos posted
- **Account creation date** — When account was created
- **Location** — Profile location text
- **Website URL** — Profile website link (expanded)
- **Is verified** — Legacy verification status
- **Is blue verified (X Premium)** — Paid verification
- **Verified type** — Business, government, or individual
- **Is protected** — Private account status
- **Professional type** — Business category if applicable
- **Can DM** — Whether DMs are open
- **Withheld in countries** — Geo-restrictions

##### Relationship Data

- **Followers list** — Complete follower profiles
- **Following list** — Complete following profiles
- **Retweeters list** — Users who retweeted a specific tweet
- **Follower of** — Which profile this user was extracted from

***

### ⚡ Features & Capabilities

#### Query Types Supported

| Input Type         | Example                         | Speed           | Best For                      |
| ------------------ | ------------------------------- | --------------- | ----------------------------- |
| **Profile URL**    | `https://x.com/elonmusk`        | 67 users/sec    | Direct profile extraction     |
| **Twitter Handle** | `elonmusk`                      | 67 users/sec    | Batch username lookup         |
| **User ID**        | `44196397`                      | 67 users/sec    | Programmatic access           |
| **Tweet URL**      | `https://x.com/user/status/123` | 67 users/sec    | Get tweet author + retweeters |
| **Keyword Search** | `AI researcher`                 | 30-50 users/sec | Discover users by bio/name    |

#### Core Features

- **� High-Speed Extraction** — 30-80 users per second from any public profile
- **👥 Follower/Following Lists** — Extract complete network data
- **🔄 Retweeters Extraction** — Get users who retweeted any tweet
- **🔍 Keyword Search** — Find users by bio, name, or description
- **🔓 No Authentication** — No login, API keys, or OAuth required
- **📁 Multiple Export Formats** — JSON, CSV, Excel direct download
- **⚙️ Custom Transformations** — Shape output with custom map functions
- **🔗 API Integration** — RESTful API for Python, Node.js, or any HTTP client

#### Complete Twitter Scraper Ecosystem

This **X user scraper** is part of the Apidojo Twitter scraper suite. Combine with other tools for comprehensive Twitter data extraction:

| Tool                                                                                   | What It Extracts                           | Best For                           |
| -------------------------------------------------------------------------------------- | ------------------------------------------ | ---------------------------------- |
| 👤 **Twitter User Scraper**                                                             | Profiles, followers, following, retweeters | User extraction **(You are here)** |
| 🐦 **[Tweet Scraper](https://apify.com/apidojo/tweet-scraper?fpr=yhdrb)**               | Tweets by keyword, hashtag, user           | General tweet extraction           |
| 🏯 **[Twitter List Scraper](https://apify.com/apidojo/twitter-list-scraper?fpr=yhdrb)** | List tweets, members, metadata             | List monitoring                    |
| ⚡ **[Twitter Scraper Lite](https://apify.com/apidojo/twitter-scraper-lite?fpr=yhdrb)** | Lightweight tweet extraction               | Quick searches                     |

***

### 💰 Pricing

#### Event-Based Cost Structure

Pay only for what you scrape—no subscriptions, no hidden fees. This **Twitter followers scraper** uses transparent event-based pricing:

| Event Type           | Price           | What's Included                                         |
| -------------------- | --------------- | ------------------------------------------------------- |
| **Keyword Search**   | $0.008/search   | First ~20 users FREE (first page)                       |
| **Profile URL**      | $0.004/URL      | Each `startUrls` or `twitterHandles` entry              |
| **Followers Query**  | $0.016/query    | First ~70 users FREE (first page)                       |
| **Following Query**  | $0.016/query    | First ~70 users FREE (first page)                       |
| **Retweeters Query** | $0.016/query    | First ~70 retweets FREE (first page)                    |
| **About Page**       | $0.0002/profile | Extended metadata (creation date, verification history) |
| **Additional Users** | $0.0004/user    | Beyond free first page                                  |

#### Cost Examples

| Scenario                                       | What You Pay |
| ---------------------------------------------- | ------------ |
| 5 profile URLs only                            | **$0.02**    |
| 1 keyword search, 20 users                     | **$0.008**   |
| 1 keyword search, 100 users                    | **$0.04**    |
| 1 profile + 70 followers                       | **$0.02**    |
| 1 profile + 500 followers                      | **$0.19**    |
| 1 profile + followers + following (1,000 each) | **$0.78**    |
| 1 tweet + 200 retweeters                       | **$0.07**    |

#### Why This Pricing Works

- **No monthly fees** — Pay only for data extracted
- **Free first pages** — First ~20-70 users included with each query
- **Predictable costs** — Calculate exact spend before running
- **Scales linearly** — Same rate whether extracting 100 or 100,000 users

#### Important Usage Note

To cover operational costs, this actor requires a minimum of 5 objects per run. For single profile extraction without followers/following:

```json
{
  "twitterHandles": ["elonmusk", "elonmusk", "elonmusk", "elonmusk", "elonmusk"],
  "getFollowers": false,
  "getFollowing": false,
  "maxItems": 5
}
```

If extracting followers/following with 5+ results, no duplication needed.

**Free users**: Limited to **5 runs per month**, each capped at **10 items**.

***

### 🍚 Input Parameters

Configure your **Twitter user scraper** extraction with these parameters. Whether you want to **scrape Twitter users** by handle, URL, or extract their followers/following networks, these settings control what data you collect.

| Field                     | Type    | Description                                                 | Default    |
| ------------------------- | ------- | ----------------------------------------------------------- | ---------- |
| `startUrls`               | array   | X (Twitter) URLs. Profile URLs or Tweet URLs supported.     | `[]`       |
| `twitterHandles`          | array   | Twitter handles to extract (without @).                     | `[]`       |
| `twitterUserIds`          | array   | Twitter user IDs for programmatic access.                   | `[]`       |
| `getFollowers`            | boolean | Extract followers of the given profiles.                    | `false`    |
| `getFollowing`            | boolean | Extract following list of the given profiles.               | `false`    |
| `getRetweeters`           | boolean | Extract retweeters of given tweet URLs.                     | `false`    |
| `includeUnavailableUsers` | boolean | Include suspended/unavailable users in output.              | `false`    |
| `maxItems`                | number  | Maximum users to extract.                                   | `Infinity` |
| `customMapFunction`       | string  | JavaScript function to transform output. Not for filtering. | `null`     |

#### Parameter Examples

**Extract Single Profile:**

```json
{
  "twitterHandles": ["elonmusk"],
  "getFollowers": false,
  "getFollowing": false,
  "maxItems": 5
}
```

**Extract Followers:**

```json
{
  "startUrls": ["https://x.com/elonmusk"],
  "getFollowers": true,
  "maxItems": 1000
}
```

**Extract Following:**

```json
{
  "twitterHandles": ["naval", "paulg"],
  "getFollowing": true,
  "maxItems": 500
}
```

**Extract Retweeters from Tweet:**

```json
{
  "startUrls": ["https://x.com/elonmusk/status/1234567890"],
  "getRetweeters": true,
  "maxItems": 200
}
```

**Keyword Search for Users:**

```json
{
  "keywords": ["AI researcher"],
  "maxItems": 100
}
```

***

### 📖 Twitter User Scraper Strategy Guide

Master the art of **how to scrape Twitter followers** with these proven strategies. Whether you're building influencer databases, analyzing competitor audiences, or generating leads, this guide covers the optimal approach for each use case.

***

#### 🎯 Strategy 1: Influencer Database Building

**Goal:** Build comprehensive influencer lists with profile data

**Best Input:**

```json
{
  "twitterHandles": ["influencer1", "influencer2", "influencer3"],
  "getFollowers": false,
  "getFollowing": false,
  "maxItems": 100
}
```

**Why This Works:**

- Extract complete profile data for influencer qualification
- Get follower counts, bios, verification status, and engagement metrics
- Build databases for **influencer research** and outreach
- **Export Twitter followers to CSV** for CRM import

**Pro Tips:**

- Batch multiple handles in one run for efficiency
- Use listed count as a quality signal (high listed count = influential)
- Check verification status for brand safety

***

#### 🎯 Strategy 2: Competitor Audience Analysis

**Goal:** Analyze who follows your competitors

**Best Input:**

```json
{
  "startUrls": ["https://x.com/competitor1"],
  "getFollowers": true,
  "maxItems": 5000
}
```

**Why This Works:**

- Discover competitor's audience demographics
- Identify potential customers already interested in your niche
- Find influencers who engage with competitors
- Build lookalike audiences for advertising

**Pro Tips:**

- Compare follower overlap between multiple competitors
- Filter by follower count to find high-value accounts
- Analyze bios for job titles and interests

***

#### 🎯 Strategy 3: Lead Generation from Following Lists

**Goal:** Find prospects by analyzing who industry leaders follow

**Best Input:**

```json
{
  "twitterHandles": ["industryLeader"],
  "getFollowing": true,
  "maxItems": 2000
}
```

**Why This Works:**

- Industry leaders follow relevant accounts in their space
- Following lists are curated by the account owner
- Higher quality leads than random follower extraction
- Discover hidden gems and micro-influencers

**Pro Tips:**

- Target VCs to find startup founders they're watching
- Target journalists to find sources they follow
- Target recruiters to find talent they're tracking

***

#### 🎯 Strategy 4: Viral Content Audience Analysis

**Goal:** Identify users who engaged with viral content

**Best Input:**

```json
{
  "startUrls": ["https://x.com/user/status/VIRAL_TWEET_ID"],
  "getRetweeters": true,
  "maxItems": 1000
}
```

**Why This Works:**

- Retweeters actively engaged with specific content
- Higher intent audience than passive followers
- Identify brand advocates and potential ambassadors
- Build audiences around specific topics or campaigns

**Pro Tips:**

- Target tweets with high engagement in your niche
- Combine with follower extraction for deeper analysis
- Use for event promotion and community building

***

### 📊 Output Format

Clean, structured JSON output with comprehensive user profile data. Each user object contains profile metadata, engagement metrics, and relationship data—everything you need to **extract Twitter followers** and build user databases at scale.

#### User Output Example

```json
{
  "followerOf": "elonmusk",
  "type": "user",
  "userName": "exampleUser",
  "url": "https://x.com/exampleUser",
  "twitterUrl": "https://twitter.com/exampleUser",
  "id": "1467931973616386052",
  "name": "Example User",
  "isVerified": true,
  "isBlueVerified": true,
  "verifiedType": "business",
  "profilePicture": "https://pbs.twimg.com/profile_images/.../normal.jpg",
  "coverPicture": "https://pbs.twimg.com/profile_banners/...",
  "description": "Bio description with links and hashtags",
  "location": "San Francisco, CA",
  "followers": 1147899,
  "following": 561,
  "protected": false,
  "canDm": true,
  "createdAt": "Mon Dec 06 19:00:41 +0000 2021",
  "favouritesCount": 1450,
  "listedCount": 1294,
  "mediaCount": 139,
  "statusesCount": 2104,
  "professional": {
    "professional_type": "Business",
    "category": []
  }
}
```

#### Field Availability Guarantees

| Field            | Availability | Data Type | Notes                                    |
| ---------------- | ------------ | --------- | ---------------------------------------- |
| `id`             | ✅ Always     | string    | Unique user ID                           |
| `userName`       | ✅ Always     | string    | @handle                                  |
| `name`           | ✅ Always     | string    | Display name                             |
| `url`            | ✅ Always     | string    | X.com profile URL                        |
| `followers`      | ✅ Always     | number    | Follower count                           |
| `following`      | ✅ Always     | number    | Following count                          |
| `description`    | ✅ Always     | string    | Bio text                                 |
| `location`       | ⚠️ Sometimes  | string    | If set by user                           |
| `isVerified`     | ✅ Always     | boolean   | Legacy verification                      |
| `isBlueVerified` | ✅ Always     | boolean   | X Premium status                         |
| `profilePicture` | ✅ Always     | string    | Avatar URL                               |
| `coverPicture`   | ⚠️ Sometimes  | string    | Banner URL if set                        |
| `createdAt`      | ✅ Always     | string    | Account creation date                    |
| `statusesCount`  | ✅ Always     | number    | Total tweets                             |
| `listedCount`    | ✅ Always     | number    | Lists they appear in                     |
| `followerOf`     | ⚠️ Sometimes  | string    | Source profile (for follower extraction) |

#### Export Options

- **JSON:** Complete datasets with nested objects—ideal for analysis pipelines
- **CSV:** Direct download from Apify Console—perfect for **export Twitter followers to CSV**
- **API:** RESTful endpoints for Python, Node.js, or any HTTP client

***

### 🧩 Custom Map Function

Transform output using the `customMapFunction` parameter. This JavaScript function receives each user object and returns your desired format—flatten nested data, extract specific fields, or restructure for your pipeline.

**Important:** Custom map function is for data transformation—**not for filtering**. Filtering items may result in automatic restrictions.

#### Example: Simplified Output for Lead Generation

```javascript
(object) => ({
  handle: object.userName,
  name: object.name,
  bio: object.description,
  followers: object.followers,
  following: object.following,
  location: object.location || null,
  website: object.entities?.url?.urls?.[0]?.expanded_url || null,
  isVerified: object.isBlueVerified || false,
  accountAge: object.createdAt,
  listedCount: object.listedCount
})
```

#### Common Transformations

| Use Case                | What to Extract                                               |
| ----------------------- | ------------------------------------------------------------- |
| **Lead Generation**     | `userName`, `name`, `description`, `location`, `entities.url` |
| **Influencer Research** | `followers`, `following`, `listedCount`, `isBlueVerified`     |
| **Audience Analysis**   | `description`, `location`, `createdAt`, `statusesCount`       |
| **Network Mapping**     | `userName`, `id`, `followers`, `following`, `followerOf`      |

***

### 🌴 Related Scrapers

Expand your Twitter data extraction capabilities with our complete suite of **X profile scraper** tools. Each focuses on specific data types for comprehensive social intelligence.

#### 📦 Complete Apidojo Twitter Scraper Ecosystem

| Tool                                                                                   | What It Extracts                           | Best For                           |
| -------------------------------------------------------------------------------------- | ------------------------------------------ | ---------------------------------- |
| 👤 **Twitter User Scraper**                                                             | Profiles, followers, following, retweeters | User extraction **(You are here)** |
| 🐦 **[Tweet Scraper](https://apify.com/apidojo/tweet-scraper?fpr=yhdrb)**               | Tweets by keyword, hashtag, user           | General tweet extraction           |
| 🏯 **[Twitter List Scraper](https://apify.com/apidojo/twitter-list-scraper?fpr=yhdrb)** | List tweets, members, metadata             | List monitoring                    |
| ⚡ **[Twitter Scraper Lite](https://apify.com/apidojo/twitter-scraper-lite?fpr=yhdrb)** | Lightweight tweet extraction               | Quick searches                     |

#### 🌐 Cross-Platform Social Media Scrapers

| Platform    | Tool                                                                           | What It Extracts             |
| ----------- | ------------------------------------------------------------------------------ | ---------------------------- |
| 📺 YouTube   | **[YouTube Scraper](https://apify.com/apidojo/youtube-scraper?fpr=yhdrb)**     | Videos, channels, playlists  |
| 📸 Instagram | **[Instagram Scraper](https://apify.com/apidojo/instagram-scraper?fpr=yhdrb)** | Posts, reels, profiles       |
| 🎵 TikTok    | **[TikTok Scraper](https://apify.com/apidojo/tiktok-scraper?fpr=yhdrb)**       | Videos, profiles, engagement |

***

### 🆓 Demo Mode & Free Testing

If you run on Apify's Free plan, you can still use this **Twitter user scraper** in Demo Mode. **Free users can run the actor up to 5 times per month**, with each run capped at a maximum of 10 items — just enough to test it out. For unrestricted usage and to unlock the full power of this **Twitter user scraper API** at scale, subscribe to a paid Apify plan.

**Free Plan Benefits:**

- ✅ Test with up to 5 runs per month, each capped at 10 user extractions
- ✅ Perfect for testing workflows before scaling
- ✅ Validate output format and data quality risk-free

**Upgrade for Full Access:**

- 🚀 Unlimited user extraction from Twitter
- 🚀 Up to 67 users per second processing speed
- 🚀 API access for automated workflows and integrations
- 🚀 Scheduled runs with webhooks and cron jobs

For unrestricted usage, [subscribe to a paid Apify plan](https://apify.com/pricing?fpr=yhdrb).

***

### 🔧 Troubleshooting

Having trouble with your extraction? Here are solutions to common issues when you **scrape Twitter users** and their networks.

***

#### ❓ Getting Fewer Users Than Expected?

**Problem:** Extraction returns fewer users than anticipated

**Solutions:**

✅ **Check `maxItems` setting**—increase the limit if you need more users\
✅ **Verify account has followers**—some accounts have limited networks\
✅ **Check account visibility**—protected accounts cannot be scraped\
✅ **Remember free tiers**—Free users are limited to **5 runs per month**, each capped at **10 items**

***

#### ❓ Want Only the Profile (No Followers)?

**Problem:** You only want profile data, not follower/following lists

**Solution:**

```json
{
  "twitterHandles": ["username"],
  "getFollowers": false,
  "getFollowing": false,
  "getRetweeters": false
}
```

Make sure all extraction options are disabled to get only the profile.

***

#### ❓ Want Only Tweet Author (No Retweeters)?

**Problem:** You want the tweet author but not retweeters

**Solution:**

```json
{
  "startUrls": ["https://x.com/user/status/123"],
  "getRetweeters": false
}
```

Disable `getRetweeters` to extract only the tweet author.

***

#### 💰 Unexpected Costs?

**Problem:** Your run cost more than anticipated

**Key pricing to remember:**

| Scenario                    | What You Pay |
| --------------------------- | ------------ |
| 1 profile only              | $0.004       |
| 1 profile + 70 followers    | $0.02        |
| 1 profile + 500 followers   | $0.19        |
| 1 keyword search, 100 users | $0.04        |

**Cost control tips:**

✅ **Use `maxItems` to cap spending**—set hard limits on total extraction\
✅ **Start with smaller batches**—test with 100-500 users first\
✅ **First page is free**—~20-70 users included with each query

***

#### ❓ Rate Limiting Issues?

**Problem:** Extraction fails or slows down

**Solutions:**

✅ **Maximum 1-2 concurrent runs**—avoid parallel extractions\
✅ **Wait between runs**—allow a few minutes between large extractions\
✅ **Minimum 5 objects per run**—required for operational costs

***

### 🎯 Use Cases & Industries

This **Twitter user scraper** serves professionals who need fast, structured user intelligence—from **lead generation** to **influencer research** and **audience analysis**. Use it to **extract Twitter followers** for any business intelligence need.

***

#### 🎯 Lead Generation & B2B Prospecting

Build targeted prospect lists from Twitter profiles.

- **Extract Twitter followers** for sales outreach
- Build **lead generation** databases from industry accounts
- Collect bios, locations, and website URLs for qualification
- **Export Twitter followers to CSV** for CRM import

**Example:** Extract followers of industry thought leaders for **B2B prospecting**.

***

#### 👤 Influencer Research & Marketing

Discover and qualify influencers for partnership opportunities.

- Identify creators for **influencer research** and outreach
- Analyze follower counts, engagement, and verification status
- Track creator networks and who they follow
- Build **influencer marketing** campaign lists

**Example:** Extract profiles of verified accounts in your niche for **influencer research**.

***

#### 🔍 Competitor Audience Analysis

Analyze competitor followers and following lists.

- Track **competitor intelligence** through their audience
- Discover who follows your competitors
- Identify potential customers interested in your niche
- Build lookalike audiences for advertising

**Example:** Extract competitor followers for **audience analysis** and targeting.

***

#### 📊 Social Network Analysis

Map Twitter networks and relationships.

- Build **social graph analysis** datasets
- Map follower/following relationships
- Identify central nodes and influencers
- Analyze **network analysis** structures

**Example:** Extract following lists of VCs to map **startup ecosystem** connections.

***

#### 🎤 Event & Speaker Discovery

Find speakers and thought leaders.

- Identify **event speaker discovery** opportunities
- Build **podcast guest research** databases
- Track conference speakers and their networks
- Discover thought leaders in specific niches

**Example:** Extract profiles of conference speakers for **speaker discovery**.

***

#### 👥 Recruiting & Talent Sourcing

Build candidate pipelines from Twitter profiles.

- Identify candidates for **recruiting** and **talent sourcing**
- Extract bios and locations for qualification
- Find developers, designers, and specialists by bio keywords
- Track talent movements and networks

**Example:** Search for "software engineer" to find **talent sourcing** candidates.

***

#### 🔄 Viral Content Analysis

Analyze who engages with viral content.

- Extract retweeters for **viral content analysis**
- Identify brand advocates and ambassadors
- Build audiences around specific topics
- Track engagement patterns for campaigns

**Example:** Extract retweeters of viral tweets for **audience building**.

***

### 💡 Quick Start Guide

Simple setup—whether extracting profiles, followers, or following lists. This **Twitter user scraper API** makes it easy to **scrape Twitter users** in minutes.

#### Copy-Paste Examples by Persona

**For Sales Teams (Followers → CSV):**

```json
{
  "startUrls": ["https://x.com/TARGET_ACCOUNT"],
  "getFollowers": true,
  "maxItems": 2000
}
```

→ Run, then **export Twitter followers to CSV** from Storage tab.

**For Developers (API → JSON):**

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("apidojo/twitter-user-scraper").call(run_input={
    "twitterHandles": ["elonmusk"],
    "getFollowers": True,
    "maxItems": 1000
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

**For Researchers (Multiple Profiles):**

```json
{
  "twitterHandles": ["user1", "user2", "user3"],
  "getFollowers": false,
  "getFollowing": false,
  "maxItems": 100
}
```

#### 3 Steps to Get Started

1. **Add input:** Paste profile URL, handle, or user ID
2. **Configure:** Enable followers/following extraction, set `maxItems` limit
3. **Run & Export:** Click Start, then download JSON/CSV from Storage tab

***

#### 📋 Method 1: Extract by Profile URL

**Best for:** Quick extraction from a single profile

```json
{
  "startUrls": ["https://x.com/elonmusk"],
  "getFollowers": true,
  "maxItems": 1000
}
```

***

#### 📋 Method 2: Extract by Twitter Handle

**Best for:** Batch extraction, multiple profiles

```json
{
  "twitterHandles": ["naval", "paulg", "sama"],
  "getFollowing": true,
  "maxItems": 500
}
```

***

#### 📋 Method 3: Extract Retweeters from Tweet

**Best for:** Engagement analysis, audience building

```json
{
  "startUrls": ["https://x.com/user/status/TWEET_ID"],
  "getRetweeters": true,
  "maxItems": 200
}
```

***

#### 🔧 Best Practices for Twitter User Scraping

##### ✅ DO:

- **Start with 500-1000 users**—test before scaling
- **Batch multiple handles**—extract several profiles in one run
- **Set `maxItems`**—control costs by limiting total extraction
- **Use first page free**—~20-70 users included with each query

##### ❌ DON'T:

- **Use customMapFunction for filtering**—this causes automatic blocking
- **Scrape protected accounts**—only public profiles are accessible
- **Run too many concurrent extractions**—maximum 1-2 concurrent runs
- **Forget minimum 5 objects**—required for single profile extraction

***

### ❓ Frequently Asked Questions

#### What is a Twitter User Scraper API?

A **Twitter user scraper API** is a tool that programmatically extracts user profiles, follower lists, following lists, and retweeters from X (formerly Twitter). This **Twitter profile scraper** serves as an alternative to the Twitter API v2 without rate limits or OAuth requirements.

#### How much does it cost to scrape Twitter users?

**$0.004 per profile**, **$0.016 per followers/following query**, **$0.0004 per additional user**. Extract 1,000 followers for about **$0.40**—significantly cheaper than building custom scrapers.

#### Can I scrape Twitter users without login?

Yes! This **Twitter user scraper** requires **no authentication** or login. Start extracting user data immediately without any Twitter account or API key.

#### What Twitter user data can I extract?

Extract **user IDs**, **usernames**, **display names**, **bios**, **follower counts**, **following counts**, **tweet counts**, **locations**, **website URLs**, **verification status**, **X Premium status**, **profile pictures**, **cover images**, **account creation dates**, **listed counts**, and **media counts**—all in structured JSON or CSV format.

#### Can I export Twitter followers to CSV?

Yes. Download data directly from Apify Console in JSON, CSV, or Excel format. Perfect for **export Twitter followers to CSV** workflows and CRM import.

#### Can I use Python to scrape Twitter users?

Yes! Full Python support via the Apify Client library. See the [Quick Start Guide](#-quick-start-guide) above for **Twitter followers scraper** Python integration.

#### Is this faster than the Twitter API?

Yes. Up to 67 users/second without rate limits. The official Twitter API v2 has strict rate limits (15 requests/15 min for user endpoints) and requires OAuth 2.0 setup.

#### Can I scrape followers and following at the same time?

Yes. Enable both `getFollowers` and `getFollowing` to extract complete network data in one run.

#### Can I scrape retweeters?

Yes. Provide a tweet URL and enable `getRetweeters` to extract all users who retweeted that tweet.

#### Can I scrape protected accounts?

No. Only public profiles are accessible. Protected accounts require authentication which this tool does not support.

#### Can I use this for lead generation?

Yes. Perfect for **lead generation**, **B2B prospecting**, and **sales prospecting**. **Extract Twitter followers** to build targeted outreach lists.

#### Can I use this for influencer research?

Yes. Ideal for **influencer research**, **audience analysis**, and **influencer marketing**. Extract follower counts, bios, and verification status for qualification.

#### Is this a real-time Twitter API?

Yes. Extract current Twitter user data in real-time with up to 67 users/second processing speed. Data reflects the latest publicly available information.

***

### 📞 Contact

If you need any sort of support, please send an email to **apidojo10@gmail.com**. You name it, we get it.

***

**Ready to start extracting Twitter user data?** With transparent event-based pricing, blazing-fast speeds, and support for profiles, followers, following, and retweeters, this **Twitter User Scraper API** is the ultimate tool for **lead generation**, **influencer research**, **audience analysis**, and **B2B prospecting**. Start scraping today! 🏯

# Actor input Schema

## `startUrls` (type: `array`):

Twitter (X) URLs. Paste Profile or Tweet URLs and get the results immediately.

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

Apply search terms to retrieve users from Twitter (X).

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

Maximum number of items that you want as output.

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

Twitter handles that you want to retrieve from Twitter (X).

## `twitterUserIds` (type: `array`):

Twitter user IDs that you want to retrieve from Twitter (X).

## `getFollowers` (type: `boolean`):

If selected, the actor will scrape followers of the given Twitter (X) profiles.

## `getFollowing` (type: `boolean`):

If selected, the actor will scrape followed profiles of the given Twitter (X) profiles.

## `getAbout` (type: `boolean`):

Enable this to extract account metadata including creation date, username change history, verification timestamps, account source, location accuracy, profile image details, and avatar URL. Triggers Profile About Query charge.

## `getRetweeters` (type: `boolean`):

If selected, the actor will scrape retweeters of the given tweets. This option is only available when using tweets as start URLs.

## `includeUnavailableUsers` (type: `boolean`):

If selected, the actor will include users that are not available (e.g. suspended) in the output.

## `customMapFunction` (type: `string`):

Function that takes each object as an argument and returns data that will be mapped by the function itself. This function is not intended for filtering; please don't use it for filtering purposes or you will be banned automatically.

## Actor input object example

```json
{
  "startUrls": [
    "https://twitter.com/apify",
    "https://twitter.com/BillGates",
    "https://twitter.com/SpaceX/status/1725852544587727145",
    "https://twitter.com/search?q=elon&src=typed_query"
  ],
  "searchTerms": [
    "elonmusk",
    "taylorswift13"
  ],
  "maxItems": 1000,
  "twitterHandles": [
    "elonmusk",
    "taylorswift13"
  ],
  "twitterUserIds": [
    "44196397",
    "17919972"
  ],
  "getFollowers": true,
  "getFollowing": true,
  "getAbout": false,
  "getRetweeters": true,
  "includeUnavailableUsers": false,
  "customMapFunction": "(object) => { return {...object} }"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "startUrls": [
        "https://twitter.com/apify",
        "https://twitter.com/BillGates",
        "https://twitter.com/SpaceX/status/1725852544587727145",
        "https://twitter.com/search?q=elon&src=typed_query"
    ],
    "searchTerms": [
        "elonmusk",
        "taylorswift13"
    ],
    "maxItems": 1000,
    "twitterHandles": [
        "elonmusk",
        "taylorswift13"
    ],
    "twitterUserIds": [
        "44196397",
        "17919972"
    ],
    "customMapFunction": (object) => { return {...object} }
};

// Run the Actor and wait for it to finish
const run = await client.actor("apidojo/twitter-user-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 = {
    "startUrls": [
        "https://twitter.com/apify",
        "https://twitter.com/BillGates",
        "https://twitter.com/SpaceX/status/1725852544587727145",
        "https://twitter.com/search?q=elon&src=typed_query",
    ],
    "searchTerms": [
        "elonmusk",
        "taylorswift13",
    ],
    "maxItems": 1000,
    "twitterHandles": [
        "elonmusk",
        "taylorswift13",
    ],
    "twitterUserIds": [
        "44196397",
        "17919972",
    ],
    "customMapFunction": "(object) => { return {...object} }",
}

# Run the Actor and wait for it to finish
run = client.actor("apidojo/twitter-user-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 '{
  "startUrls": [
    "https://twitter.com/apify",
    "https://twitter.com/BillGates",
    "https://twitter.com/SpaceX/status/1725852544587727145",
    "https://twitter.com/search?q=elon&src=typed_query"
  ],
  "searchTerms": [
    "elonmusk",
    "taylorswift13"
  ],
  "maxItems": 1000,
  "twitterHandles": [
    "elonmusk",
    "taylorswift13"
  ],
  "twitterUserIds": [
    "44196397",
    "17919972"
  ],
  "customMapFunction": "(object) => { return {...object} }"
}' |
apify call apidojo/twitter-user-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,apidojo/twitter-user-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/V38PZzpEgOfeeWvZY/builds/I8w2RaWeB4mweI3c1/openapi.json
