Twitter Profile Scraper
Pricing
from $25.00 / 1,000 results
Twitter Profile Scraper
Scrape any Twitter/X profile without login or API key. Get followers, bio, location, website, verification status and email from bio. Optionally fetch recent tweets with likes, retweets, views and engagement metrics. Bulk input, language filter, CSV/JSON export.
Pricing
from $25.00 / 1,000 results
Rating
0.0
(0)
Developer
Yuliia Kulakova
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
4
Monthly active users
20 days ago
Last modified
Categories
Share
X / Twitter Profile Scraper

Get any Twitter/X profile data in seconds — no login, no API key.
Drop in a list of handles and get back followers, bio, location, website, verification status, list and media counts — and optionally their recent tweets with full engagement metrics. Works on any public account.
Who uses this
Sales & lead generation — Build targeted outreach lists with follower counts, bios, websites and profile data for hundreds of prospects in one run.
Market research — Track competitors, monitor influencers, benchmark engagement. Know exactly what's working in your niche.
Recruitment — Find and qualify candidates by their Twitter presence, follower count, and what they tweet about.
PR & media — Instantly pull journalist and creator profiles before outreach. See reach, activity, and posting history without manual research.
Data & analytics — Feed clean, structured Twitter data into your dashboards, CRMs, or AI pipelines.
What you get
Profile data
| Field | Description |
|---|---|
id | Numeric account ID (stays the same even if the handle changes) |
username | Twitter handle |
displayName | Full name |
bio | Profile description |
email | Email address, if the account wrote one into its bio — many don't, so expect this to be empty for most profiles |
location | Location as shown on profile |
website | Website URL |
followerCount | Number of followers |
followingCount | Number following |
tweetCount | Total tweets posted |
mediaCount | Tweets containing photos or video |
listedCount | How many public lists include this account |
likeCount | Total likes given |
verified | Legacy verified badge |
isBlueVerified | X Premium checkmark |
isProtected | Private account flag |
joinDate | When the account was created |
profileImageUrl | Full-size profile photo |
bannerUrl | Banner image |
pinnedTweetId | ID of the pinned tweet, if the account has one |
twitterUrl | Direct link to profile |
Tweet data (when maxTweetsPerUser > 0)
| Field | Description |
|---|---|
id | Tweet ID |
text | Clean tweet text |
fullText | Original text including the trailing t.co links |
createdAt | Date posted |
likeCount | Likes |
retweetCount | Retweets |
replyCount | Replies |
quoteCount | Quote tweets |
viewCount | Impressions / views |
bookmarkCount | Bookmarks |
language | Detected language |
isRetweet | Is this a retweet? |
isReply | Is this a reply? |
isQuote | Is this a quote tweet? |
hashtags | List of hashtags used |
mentions | Mentioned usernames |
urls | Expanded URLs in tweet |
media | Photos and videos with direct URLs |
tweetUrl | Direct link to the tweet |
conversationId | Thread ID — tweets sharing it belong to the same thread |
Input
| Field | Type | Description |
|---|---|---|
handles | array | Accepts any format: elonmusk, @nasa, https://x.com/openai |
profileUrls | array | Full profile URLs |
maxTweetsPerUser | integer | Tweets to fetch per profile. 0 = profile only (default). Max: 500 |
includeRetweets | boolean | Include retweets in results. Default: true |
tweetsLanguage | string | Only return tweets in this language. ISO 639-1 code: en, es, de, fr, ja... |
deduplication | boolean | Skip duplicate profiles. Default: true |
Example inputs
Profile data only — fastest:
{"handles": ["elonmusk", "sama", "ycombinator", "openai"],"maxTweetsPerUser": 0}
Profile + recent tweets:
{"handles": ["sundarpichai", "satyanadella"],"maxTweetsPerUser": 50}
English tweets only, no retweets:
{"handles": ["NASA", "SpaceX"],"maxTweetsPerUser": 100,"includeRetweets": false,"tweetsLanguage": "en"}
Mix of formats — all work:
{"handles": ["sama", "@BarackObama", "https://x.com/Apple", "https://twitter.com/Google"],"maxTweetsPerUser": 0}
Export formats
JSON · CSV · Excel · XML · HTML Table — download directly from Apify or access via API.
Pricing
$25.00 per 1,000 profiles — one profile is one result, and its tweets are included in that same result at no extra charge. A run also charges $0.01 to start.
| Run | Profiles | Tweets | Estimated cost |
|---|---|---|---|
| Quick lookup | 10 | 0 | ~$0.26 |
| Lead list | 100 | 0 | ~$2.51 |
| With recent tweets | 100 | 20 each | ~$2.51 |
| Deep research | 500 | 50 each | ~$12.51 |
Pay only for what you scrape — no subscriptions, no monthly fees.
Recent improvements (August 2026)
- Retweet filtering now works as documented. X renamed the field that marks a retweet, which meant
includeRetweets: falsecould still let retweets through. The Actor reads the current field, so the filter does what it says. - Two new fields:
mediaCountandpinnedTweetId. - Resilient to X's changes. X is rolling out a new response format. The Actor understands both the current and the new one and switches over on its own, so runs keep working through the transition.
Found a problem? Please tell me
If a field comes back empty, a profile fails, or anything doesn't match what's described above — open an issue on the Issues tab. Including the input you ran and the run ID usually makes it possible to track down the cause quickly.
And if the Actor did what you needed, leaving a rating on this page helps other people find it. Both land in the same place, and both are read.