Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
Twitter (X) User Scraper - Profiles & Followers, No Login icon

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.

5 from 1 review on Apify 376 runs on Apify $0.00014 per profile ($0.14 / 1,000)
Run this in the cloudRun on Apify →

Social Media Scrapers

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust twitterHandles, startUrls, sessionCookies (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export 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 forWhenPrice
Profile returnedCharged once per profile returned. Failed/not-found lookups are not charged.$0.00014
Actor StartCharged 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

FieldWhat it doesType
twitterHandlesX / Twitter usernames (with or without @) to fetch full profile data for. Example: elonmusk, nasa.array
startUrlsOr paste profile URLs directly (https://x.com/nasa).array
sessionCookiesOptional, 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
notionConnectorOptional. Deliver the profiles to your connected Notion via Apify MCP connectors.string
notionParentIdOptional Notion database/data-source id to create the pages in.string

What you get

A structured dataset — each result includes fields like:

iduserNamenamedescriptionfollowersCountfriendsCountstatusesCountverifiedisBlueVerifiedlocationprofileImageUrlcreatedAturl

Export 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) iconSocial Media Scrapers

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.

5 use cases

Reddit Scraper iconSocial Media Scrapers

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.

20 use cases

Reddit Posts Search Scraper iconSocial Media Scrapers

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.

22 use cases

Reddit Video Scraper & Downloader iconSocial Media Scrapers

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.

17 use cases

Telegram Channel Scraper iconSocial Media Scrapers

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.

21 use cases

Pinterest Search Scraper iconSocial Media Scrapers

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.

20 use cases

See all Social Media Scrapers →

⚡ 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 errorCode row for suspended/not-found handles instead of silent gaps.

Input

FieldNotes
twitterHandlesUsernames to look up, with or without the @ (e.g. nasa, elonmusk).
startUrlsOr paste profile URLs directly (https://x.com/nasa). Mix freely with handles.
proxyConfigurationLeave 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.
sessionCookiesOptional, 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.
notionConnectorOptional. Deliver each profile into your connected Notion workspace via an Apify MCP connector — no extra code.
notionParentIdOptional 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

EventWhenPrice
Actor startOnce per run, per GB of run memory$0.0005
Profile returnedEach 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 errorCodeNOT_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.