Twitter / X Scraper - Profiles, Tweets, Search & Data Export avatar

Twitter / X Scraper - Profiles, Tweets, Search & Data Export

Pricing

$1.00 / 1,000 tweet scrapeds

Go to Apify Store
Twitter / X Scraper - Profiles, Tweets, Search & Data Export

Twitter / X Scraper - Profiles, Tweets, Search & Data Export

Scrape Twitter / X profiles, tweets, hashtags, and search results at scale. Extract follower counts, engagement metrics, user bios, and full tweet history. Supports multi-strategy data collection via Apify API.

Pricing

$1.00 / 1,000 tweet scrapeds

Rating

0.0

(0)

Developer

Hasnain Nisar

Hasnain Nisar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Twitter / X Scraper - Profiles, Tweets, Search (No API Key)

Scrape tweets, profiles, and search results from Twitter / X without an API key. Multi-strategy fallback chain (syndication → Nitter mirrors → DuckDuckGo) keeps you scraping even when one path is rate-limited. Optional Twitter API v2 path for premium reliability.

What this Twitter / X Scraper does

The actor accepts three input modes (you can mix them in a single run):

  • Profile mode — pass usernames (@elonmusk, @apify) and get their recent tweets
  • Search mode — pass free-form queries ("AI agents", "hiring frontend") and get matching tweets
  • URL mode — pass any X / twitter.com URL: status URLs, profile URLs, or search URLs

Filter out replies and / or retweets, cap results per target, and let the actor handle anti-bot defenses with its built-in fallback strategies.

Multi-strategy resolution

For each target, the actor tries strategies in order and returns the first that succeeds:

  1. Twitter API v2 — used automatically if TWITTER_BEARER_TOKEN env var is set (most reliable, recommended for production)
  2. Twitter syndication endpointsyndication.twitter.com (works for profiles, no auth)
  3. Nitter mirrors — public mirrors (xcancel.com first, 8 fallbacks) for profile + search
  4. DuckDuckGo site-search → tweet hydration — last-resort for both profiles and search

This layered approach means the actor stays useful even when individual strategies are degraded (Nitter mirrors come and go, X rate-limits unauthenticated traffic, DDG occasionally throttles automation).

Why use this Twitter / X Scraper?

  • No API key needed — works on the public surface
  • Optional API v2 boost — drop in your TWITTER_BEARER_TOKEN for best results
  • Multi-strategy resilience — auto-falls-back when one path is blocked
  • Profile, search, AND URL modes in one actor
  • Reply / retweet filters — clean original-content streams
  • Bulk-friendly — scrape multiple users / queries in a single run

Use cases

  • Brand monitoring — track every @mention of your brand
  • Sentiment analysis — bulk-scrape tweets for AI/ML pipelines
  • Influencer discovery — find creators in your niche by topic search
  • Crisis communications — monitor breaking news and trending topics
  • Lead generation — find people tweeting about a problem you solve
  • Competitor analysis — track competitor accounts and engagement
  • Research / journalism — capture viral content and public statements
  • Trend tracking — surface topics gaining traction

Input

Profile mode:

{
"usernames": ["elonmusk", "apify"],
"maxTweets": 50,
"includeReplies": false,
"includeRetweets": true
}

Search mode:

{
"queries": ["AI agents", "hiring frontend"],
"maxTweets": 100
}

URL mode:

{
"urls": [
"https://x.com/elonmusk",
"https://x.com/elonmusk/status/1234567890",
"https://x.com/search?q=apify"
]
}

Output

Each tweet record:

{
"type": "tweet",
"id": "1234567890",
"text": "Tweet body text up to 1000 chars",
"author": "elonmusk",
"author_name": "Elon Musk",
"url": "https://x.com/elonmusk/status/1234567890",
"created_at": "Mon Jan 15 00:00:00 +0000 2024",
"replies": 8500,
"retweets": 12000,
"likes": 145000,
"views": 3500000,
"image_url": "https://pbs.twimg.com/media/…",
"is_reply": false,
"is_retweet": false,
"source": "syndication"
}

The source field identifies which strategy returned the tweet (api_v2, syndication, nitter, syndication-tweet).

Optional: bring your own API key

If you have a Twitter API v2 bearer token, set it as the env var TWITTER_BEARER_TOKEN in the actor's "Environment variables" section (or add it as a secret). The actor will automatically prefer the API path when present — significantly improving reliability for search queries.

How it works

The actor implements four parallel strategies behind a single interface:

  • API v2 uses api.x.com/2/tweets/search/recent and users/by/username with proper expansion of attached users / media
  • Syndication parses __NEXT_DATA__ JSON from syndication.twitter.com/srv/timeline-profile/screen-name/...
  • Nitter scrapes timeline HTML from a list of public Nitter mirrors with anti-bot detection (Anubis, Cloudflare JS challenges)
  • DDG hydration does a site:x.com inurl:status search on DuckDuckGo, extracts tweet IDs, and resolves them via cdn.syndication.twimg.com/tweet-result (the same endpoint embed widgets use)

Cost & speed

  • Profile mode: 5–15 seconds per user (depends on which strategy succeeds first)
  • Search mode without API key: 10–30 seconds per query
  • With TWITTER_BEARER_TOKEN: ~3 seconds per target

Memory stays under 256 MB. No browser required.

  • Reddit Scraper — bulk Reddit post / comment / community scraping
  • TikTok Scraper — TikTok profiles, hashtags, search
  • LinkedIn Profile Scraper — bulk LinkedIn profile data + email finder
  • Email Verifier — verify scraped emails for outreach hygiene

FAQ

Q: Why does search sometimes return 0 tweets? Twitter has heavily restricted unauthenticated search since 2024. Without a bearer token, the actor falls back to Nitter / DDG which catch most public tweets but not all. For reliable search, set TWITTER_BEARER_TOKEN.

Q: Why does profile mode return more results than search? Profile timelines are served by the syndication endpoint without auth. Search without auth is rate-limited at the X / Nitter layer.

Q: How do I get a Twitter Bearer Token? Sign up at developer.x.com, create a project, and grab the Bearer Token from the keys/tokens screen. The free tier is enough for most personal projects.

Q: Is scraping Twitter legal? Public tweets are public. The 2022 Meta v. BrandTotal case affirmed that scraping public social media data does not violate the CFAA in the US. Always comply with X's Terms of Service when storing data, especially for commercial use.

Q: Why do some tweets have views as null? Older Nitter pages don't surface impression counts. The API v2 and syndication paths populate this when available.