How to scrape Twitter/X data with Apify (no code)
Quick answer
Apify's Twitter/X scrapers extract tweets, profiles, follower lists, and search results from public X data without requiring the Twitter API, whose paid Basic tier starts around $200/month (confirm live on developer.x.com). Configure a Store Actor in the browser, pay Apify usage instead of an X API seat, and export CSV or JSON.
Browse Twitter/X Actors · Try Tweet Scraper V2 → · Create an Apify account
X (formerly Twitter) is a core channel for brand monitoring, crisis detection, and research. This guide walks through a no-code scrape on Apify, lists fields you can extract, and compares the approach to the official API so you can choose consciously.
What you need
- An Apify account: the free plan includes monthly credits for experiments.
- A chosen Twitter/X scraper from the Store (this tutorial references patterns from Tweet Scraper V2, one of the most-used X scrapers on the Store; confirm inputs on the live listing).
Step 1: Pick a Twitter/X scraper
Open the Apify Store and search twitter or x, or go straight to Tweet Scraper V2.
See all Twitter-related Actors →
Step 2: Configure the run
Most Actors support several modes (exact field names differ by listing):
- Search queries: keyword or hashtag streams (e.g.
generative ai hiring). - User profiles: metadata and tweet history for handles like
elonmusk. - Followers / following: graph-style lists where the platform and Actor still expose them.
- Tweet URLs: deep links to specific posts.
Example (profile-style pull):
- Enter handles without
@if the schema expects bare usernames. - Set mode to profile (or equivalent).
- Cap max items for your first test.
Some modes work on public data alone; others ask for session cookies. Follow the Actor README, and never share cookies in public repos.
Step 3: Start the scraper
Click Start. Watch the Log for block or auth messages; adjust proxies or limits if the README suggests it.
Step 4: Download your dataset
When the run finishes, open Storage → Dataset. Preview rows, then download CSV, Excel, or JSON.
Data you can extract (typical fields)
Exact keys depend on the Actor and mode; use this table as a planning checklist and verify against your sample export.
| Data | Often available? | Notes |
|---|---|---|
| Tweet text & permalink | Common | Core for monitoring and NLP |
| Author handle, name, verification | Common | Join key across pulls |
| Timestamps | Common | Time-series and alerting |
| Retweets, likes, replies counts | Common | Engagement KPIs |
| Follower / following counts (profile modes) | Common | Audience sizing |
| Profile bio, location, banner | Common | Persona and geo hints |
| Media URLs | Varies | Check legal/use policy for storage |
| Follower / following lists | Varies | Frequently restricted; read Actor limits |
Apify scraper vs official Twitter / X API
| Topic | Apify Store scraper | Official X API |
|---|---|---|
| Access path | Browser-style extraction configured in console or API | Developer portal keys and product tiers |
| Monthly floor cost | Pay Apify usage; no X API subscription | ~$200/mo Basic tier (verify on developer.x.com) |
| Contract | Apify Terms + your compliance review | X Developer Agreement and endpoint caps |
| Data scope | Public-facing data the Actor can reach without breaking rules | Endpoint-specific fields; some historical access gated by tier |
| Stability | UI changes can break scrapers; maintainers ship fixes | Versioned endpoints; policy changes still apply |
| Best when | Research, one-off exports, or avoiding API procurement | First-party integrations that require sanctioned streams |
API pricing and tiers change, so confirm on X’s developer site before budgeting.
| Field | Description | Example |
|---|---|---|
| url | Tweet or profile URL | https://twitter.com/elonmusk/status/… |
| userName | Handle | elonmusk |
| followers | Follower count (profile modes) | 175000000 |
| following | Following count | 780 |
| statusesCount | Historical tweet count | 42000 |
| description | Bio text | … |
| isBlueVerified | Paid verification flag when exposed | true |
| profilePicture | Avatar URL | https://pbs.twimg.com/profile_images/… |
Your dataset schema follows the Actor version you run, so validate keys in the live export.
{
"url": "https://twitter.com/elonmusk",
"userName": "elonmusk",
"name": "Elon Musk",
"description": "…",
"followers": 175000000,
"following": 780,
"statusesCount": 42000,
"isBlueVerified": true,
"profilePicture": "https://pbs.twimg.com/profile_images/…"
}
Use cases
- Brand monitoring: track mentions and sentiment spikes.
- Competitive intel: compare posting cadence and engagement.
- Research: sample public discourse for models or social science.
- Investor / PR alerts: schedule pulls and pipe rows to Slack or Sheets.
Automate and integrate
Use Schedules for recurring snapshots and webhooks (or Make, n8n) to load warehouses or Google Sheets.
Run Tweet Scraper V2 on Apify. Start with a 50-row test, then scale once the schema matches your dashboard.
No. Store scrapers pull public X data using Apify’s infrastructure. Most X Actors bill pay-per-event (a fixed price per tweet or profile scraped) instead of the X API subscription, though you must still comply with applicable laws and X’s terms.
The X API's Basic paid tier is commonly quoted around $200 per month, while Apify bills for platform usage and Actor events. Compare total cost after a representative test run on both paths.
Depends on the Actor and mode. Many public profile or search tests run without cookies; sensitive or list-heavy modes may require cookies documented in the README.
Legality depends on jurisdiction, data type, and platform rules; this is not legal advice. Review our scraping legality guide and X’s terms before large-scale collection.
Most X Actors charge pay-per-event, a fixed price per result (for example, around $0.40 per 1,000 tweets on Tweet Scraper V2). Check the Actor's Pricing tab for the current rate, use the free credits for a small run, then read Billing for a forward estimate.
Scrapers are batch tools. Schedule frequent runs (for example hourly) and push results through webhooks for near-real-time dashboards. This is not a native firehose.
Common mistakes and fixes
Empty or partial dataset.
Lower limits, try a single public profile or search term, and check the Actor log; some modes expect cookies per the README.
Run fails with auth or rate messages.
Follow cookie guidance on the Store page, reduce concurrency, and retry off-peak; confirm you are not targeting non-public data.
Costs spike on large searches.
Tighten date filters, cap max items, and run pricing estimates from a 100-row sample before scaling.





