Twitter (X) User Scraper - Profiles & Followers, No Login
Keyless X (Twitter) profile scraper: followers, bio, verified status & more by username. No login or API key, pay per profile, failed lookups free.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
twitterHandles,startUrls,sessionCookies(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.00014 per profile = $0.14 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Profile returned | Charged once per profile returned. Failed/not-found lookups are not charged. | $0.00014 |
| Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.0005 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-03, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
twitterHandles | X / Twitter usernames (with or without @) to fetch full profile data for. Example: elonmusk, nasa. | array |
startUrls | Or paste profile URLs directly (https://x.com/nasa). | array |
sessionCookies | Optional, and not needed for a normal run. Leave it empty: this Actor reads public data without any login. A cookie is only used as a fallback if the public route is refused, and to give you a rate limit nobody else draws on. In Chrome, logged in to x.com: F12 -> Application -> Cookies -> https://x.com, and copy auth_token and ct0. Paste one account per line as 'auth_token=XXXX; ct0=YYYY'. Stored as a secret and never logged. | array |
notionConnector | Optional. Deliver the profiles to your connected Notion via Apify MCP connectors. | string |
notionParentId | Optional Notion database/data-source id to create the pages in. | string |
What you get
A structured dataset — each result includes fields like:
iduserNamenamedescriptionfollowersCountfriendsCountstatusesCountverifiedisBlueVerifiedlocationprofileImageUrlcreatedAturlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
5 ready-to-run use cases
Scrape @elonmusk's X (Twitter) Profile Data
Get @elonmusk's live X (Twitter) follower count, bio, tweet count, verified status and join date. No login or API key. Export JSON/CSV.
Track Tech CEO X Profiles (Musk, Pichai, Nadella)
Monitor follower counts, bios and verified status of top tech CEOs on X (Twitter) in one run. No login. Export to JSON, CSV or Notion.
Scrape @NASA's X (Twitter) Profile & Followers
Pull @NASA's full X profile: followers, following, tweet count, bio and join date from the profile URL. No API key needed. JSON/CSV export.
Scrape Football Star X Profiles (Ronaldo, Messi)
Get follower counts and profile data for Ronaldo, Messi, Neymar and Mbappe on X (Twitter) in one run. No login. Export JSON/CSV/Excel.
Audit Brand X Profiles (Nike, Adidas, Puma)
Benchmark competitor brands on X: compare Nike, Adidas, Puma follower counts, bios and verified status in one run. No API key. Export CSV.
Related tools in Social Media Scrapers
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
TikTok User Scraper - Profiles, Followers & Stats (No Login)
Scrape TikTok profiles without login or API key. Get followers, likes, bio, verified status & stats. Export CSV/JSON. Only $0.35 per 1,000 profiles.
Reddit Scraper
Scrape Reddit posts and comments from any subreddit or user profile. Sort by top/hot/new, filter by score, get clean text. No key or login needed.
Reddit Posts Search Scraper
Search Reddit by keyword across the site or one subreddit and export matching posts as JSON. Sort by relevance, top, new or hot. No code needed.
Reddit Video Scraper & Downloader
Download v.redd.it videos from any subreddit or Reddit user, with audio muxed in plus metadata. Filter by sort, time, and duration. No login or API key.
Telegram Channel Scraper
Scrape public Telegram channels without login or an API key. Get posts with text, date, views, media, plus channel title and subscriber count.
Pinterest Search Scraper
Scrape Pinterest search results by keyword. Get pins as JSON: image/video URLs, destination links, save and comment counts. No login, paginated.
Where this tool sits
- Categories
- Social Media Scrapers
- Platforms
- X (Twitter)
⚡ Twitter (X) User Scraper — Profiles, Followers & Bios (No Login, No API Key)
Get full X (Twitter) profile data without a login or API key. Feed it usernames and get back followers, following, tweet count, bio, location, verified status, profile image and join date — perfect for bulk profile enrichment, influencer vetting, lead lists and audience research. Export to JSON, CSV or Excel, call it from the API, or deliver straight to Notion.
$0.14 per 1,000 profiles ($0.00014 each), plus $0.0005 each time a run starts. Flat rate — no volume tiers, no plan gates — and you are charged only for profiles actually returned. *(From 2026-08-19 the run-start fee becomes $0.001; the per-profile price is unchanged.)*
> No account. No token to find. Paste handles and run.
Why this scraper wins
- 🔓 Keyless by default — a profile is a public, shareable page, and X serves it to a plain guest token, so no credentials are needed and none are asked of you. A session is held in reserve purely as a fallback for the rare run where the guest route is refused outright.
- 🛡️ Self-healing — auto-repairs when X rotates its GraphQL feature flags, so it keeps working when other scrapers break.
- 💸 Pay only for hits — $0.14 / 1,000 profiles, billed per profile actually returned. Suspended, not-found and blocked handles cost nothing.
- 🧹 Clean, flat records — one tidy object per profile, ready for spreadsheets or CRM import.
- 📬 Built-in Notion delivery — push results straight into Notion via Apify connectors, zero extra code.
- 🚦 Honest errors — a clear
errorCoderow for suspended/not-found handles instead of silent gaps.
Input
| Field | Notes |
|---|---|
twitterHandles | Usernames to look up, with or without the @ (e.g. nasa, elonmusk). |
startUrls | Or paste profile URLs directly (https://x.com/nasa). Mix freely with handles. |
proxyConfiguration | Leave it alone. The run rotates its own exit addresses — a large datacenter pool with rented static addresses behind it — and hops as soon as one is throttled, because X's guest limit is counted per address. None of it is billed per gigabyte. Set this only to route through proxy servers you already pay for. |
sessionCookies | Optional, and not needed for a normal run. Leave it empty. If you do supply an auth_token=…; ct0=… pair from your own logged-in x.com, it is used only as a fallback when the keyless route is refused. Stored as a secret. |
notionConnector | Optional. Deliver each profile into your connected Notion workspace via an Apify MCP connector — no extra code. |
notionParentId | Optional Notion database / data-source id to create the pages in. Leave empty and pages are created privately in your workspace. |
Output (one record per profile)
{
"id": "11348282",
"userName": "NASA",
"name": "NASA",
"description": "There's space for everybody. ✨",
"followersCount": 84000000,
"friendsCount": 180,
"statusesCount": 71000,
"verified": true,
"isBlueVerified": false,
"location": "",
"profileImageUrl": "https://pbs.twimg.com/profile_images/....jpg",
"createdAt": "Wed Dec 19 20:20:32 +0000 2007",
"url": "https://x.com/NASA"
}
Every field above comes straight from X's own profile record. Where X publishes nothing — an empty location, for instance — you get an empty value rather than a guess.
Pricing
| Event | When | Price |
|---|---|---|
| Actor start | Once per run, per GB of run memory | $0.0005 |
| Profile returned | Each profile successfully resolved | $0.00014 ($0.14 / 1,000) |
Only successful lookups are charged. A handle that is suspended, renamed, deleted or simply wrong comes back as a labelled diagnostic row with an errorCode — NOT_FOUND, NO_RESULTS, BLOCKED or NETWORK — and costs nothing. So a list of 1,000 handles where 120 are dead bills 880 profiles, not 1,000.
100 profiles = $0.0145. 1,000 profiles = $0.1405. 10,000 profiles = $1.4005.
From 2026-08-19 the run-start fee rises from $0.0005 to $0.001. The $0.00014 per-profile price does not change.
FAQ
Do I need a Twitter account or API key? No — profiles are fully keyless. The actor obtains a public guest token from X the same way a logged-out browser does, and every handle is asked for that way first.
Then what is sessionCookies for? It is an optional fallback, and most runs never touch it. When X refuses the keyless route for a handle — a throttled address on both hops, or a guest token it will not mint at all — the run falls back to a session rather than handing you an error row. Supplying your own cookie there means the fallback uses your account and your rate limit instead of a shared one. Leaving it empty is the normal case.
How many handles per run? As many as you like; you pay per profile returned, and there is only one start fee no matter how long the list.
What happens when X rotates its GraphQL feature flags? The actor re-reads them and repairs its query on the fly, which is what keeps it running when hard-coded scrapers start returning empty.
Am I charged for a handle that doesn't exist? No. Only rows that carry real profile data are billed.
Want the tweets too? Use the companion Tweet Scraper for timelines and search.