X (Twitter) User Profile Scraper avatar

X (Twitter) User Profile Scraper

Pricing

from $0.70 / 1,000 profile scrapeds

Go to Apify Store
X (Twitter) User Profile Scraper

X (Twitter) User Profile Scraper

"Get X/Twitter profile data - display name, bio, follower count, following count, tweet count, verification badge, and location - from a list of usernames. Uses public guest access only, no login, no cookies, no account risk."

Pricing

from $0.70 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Gopalakrishnan

Gopalakrishnan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Cheapest Twitter/X User Profile Scraper (No Login, No Cookies)

Fast, lightweight, and extremely cost-effective user profile scraper for Twitter/X. Retrieve user IDs, names, follower counts, following counts, tweet counts, locations, and bios without account login or cookies.

Why Choose This Scraper?

  • Cheapest & Lightest: Optimized to run with guest token authentication instead of spinning up browser instances, resulting in massive speed and resource savings.
  • Safe & Private: Performs scraping entirely logged-out. Because it does not use your account cookies, there is zero risk of your personal accounts getting flagged or banned.
  • No Login / No Cookies Required: Uses official guest token activation from Twitter's web app client to make authorized GraphQL API calls directly.
  • Reliable & Automatic: Built-in auto-retry mechanics for guest token rotation, auto-concurrency scaling, and rate-limit detection.

Input Parameters

The Actor accepts the following input parameters:

Field NameTypeRequiredDescriptionDefault
usernamesArrayYesA list of Twitter/X usernames (e.g. elonmusk) or full profile URLs (e.g. https://x.com/elonmusk). Both formats are accepted.-
maxProfilesIntegerNoThe maximum number of profiles to scrape. Leave empty for no limit.-
proxyConfigurationObjectYesProxy settings. Apify Proxy (datacenter or residential) is required to bypass Twitter's IP-based rate limiting.{ "useApifyProxy": true }

Output Data Structure

Every successfully scraped profile produces a clean, flat JSON object. If a handle is suspended, deleted, or does not exist, an error row with scrapeStatus: "error" is pushed to prevent empty records.

Scraped Profile Fields

Field NameTypeDescription
usernameStringThe screen name/handle (e.g. elonmusk).
nameStringDisplay name of the user.
userIdStringTwitter rest_id/User ID.
descriptionStringBio description of the user.
followersCountIntegerTotal number of followers.
followingCountIntegerTotal number of following accounts.
tweetCountIntegerTotal number of tweets/posts.
verifiedBooleanWhether the account is verified or blue-verified.
profileImageUrlStringURL of the profile image.
locationStringStated user location.
createdAtStringTimestamp when the account was created.
profileUrlStringFull profile URL (https://x.com/handle).
scrapeStatusStringScrape status: success or error.
scrapeErrorStringError explanation (e.g., USER_NOT_FOUND) if status is error.
scrapedAtStringISO timestamp when the scrape was performed.

Billing & Pay-Per-Event (PPE)

This Actor uses Apify's Pay-Per-Event (PPE) pricing to ensure you only pay for what you get:

  1. actor-start: Charged 1 time per run to cover bootstrap overhead.
  2. profile-scraped: Charged once per profile successfully scraped. If a profile lookup fails (e.g., username does not exist), you are not billed for the profile-scraped event for that handle.