How to Scrape Twitter (X) Data in 2026

To scrape Twitter (X) data in 2026, run an X search query through a scraper such as apidojo's Tweet Scraper V2 on Apify, which returns each matching post as JSON, CSV or Excel.

Cover card reading 'How to Scrape Twitter (X) Data in 2026'

To scrape Twitter (X) data in 2026, run an X search query through a scraper such as apidojo’s Tweet Scraper V2 on Apify, which returns each matching post as JSON, CSV or Excel. It costs $0.40 per 1,000 tweets and accepts the same operators you type into X search.

This guide covers what Twitter data you can collect, the three ways to collect it, which apidojo actor fits each task, and the limits that decide cost and speed. Each task links to a step-by-step guide.

What Twitter Data Can You Scrape?

You can scrape public Twitter data: posts, replies, threads, profiles, follower and following lists, list members and media URLs. Posts from protected accounts are visible only to approved followers and are not available to search-based tools. Listed below are the 6 data types and the fields each returns.

Data type Main fields apidojo actor
Posts from a search id, url, text, createdAt, lang, likeCount, retweetCount, replyCount, quoteCount, bookmarkCount, author Tweet Scraper V2
Replies and threads The same post fields, for every reply in a conversation Twitter Replies Scraper, Twitter Scraper Unlimited
A profile’s timeline Posts and their replies from one account Twitter Profile Scraper
Profiles, followers, following id, userName, name, description, followers, following, isVerified Twitter User Scraper
List timelines Posts from members of a public list Twitter List Scraper
Single posts and articles One post or X article by URL Twitter Scraper Unlimited

Post fields above are taken from Tweet Scraper V2’s output example (Apify); profile fields from Twitter User Scraper’s dataset schema (Apify).

What Are the Ways to Scrape Twitter Data?

The three ways to collect Twitter data are the official X API, a hosted scraper, and a scraper you build and run yourself. The table compares them on the points that decide the choice.

Route Cost Coverage Setup
X API (pay-per-use) $0.005 per post read; 3 million post reads per month cap Recent search: last 7 days; full archive: back to March 2006 Developer account, app, bearer token
Hosted scraper (apidojo on Apify) From $0.40 per 1,000 tweets What X web search shows, back to 2006 Apify account and token
Self-built scraper Your servers, proxies and maintenance time Whatever you keep working Code, accounts, anti-blocking

X API prices and limits are from X’s documentation (X API pricing, X API search). At those rates 100,000 posts cost $500 through the X API and $40 through Tweet Scraper V2. The full comparison is in X API vs Twitter scraper API.

Which apidojo Actor Should You Use?

Choose the apidojo actor by the shape of your input: a search query, a post, a profile, or a list of accounts. Listed below are the 6 common tasks and the actor for each.

Task Actor Input Price
Posts by keyword, user, date or any operator, 50+ results per query Tweet Scraper V2 searchTerms $0.40 per 1,000 tweets
Small queries, single posts, conversation threads Twitter Scraper Unlimited searchTerms, startUrls, conversationIds $0.016 per query + from $0.0004 per item
Every reply to a post Twitter Replies Scraper Post ID or URL From $0.40 per 1,000 items
One account’s timeline with replies Twitter Profile Scraper Profile From $0.40 per 1,000 items
Profiles, followers, following Twitter User Scraper twitterHandles, getFollowers, getFollowing From $0.40 per 1,000 items
Posts from a public list Twitter List Scraper List URL See the listing

Prices are the listed starting prices on Apify in September 2026 (Tweet Scraper V2, Twitter Scraper Unlimited, Twitter Replies Scraper, Twitter User Scraper).

How Do You Scrape Tweets With Tweet Scraper V2?

You scrape tweets with Tweet Scraper V2 by writing an X search query, putting it in the searchTerms input, and running the actor from the Apify console or the API. Listed below are the 5 steps.

  1. Test your query in X search first; the actor fetches what that search shows (Apify).
  2. Open Tweet Scraper V2 and click Try for free.
  3. Paste the query into searchTerms, choose sort (Latest, Top, or Latest + Top), and set maxItems.
  4. Start the run.
  5. Download the dataset as JSON, CSV or Excel from the run’s Storage tab.

The same run from Python with the Apify client:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("apidojo/tweet-scraper").call(run_input={
    "searchTerms": ["from:NASA since:2024-01-01 until:2024-06-01"],
    "sort": "Latest",
    "maxItems": 1000,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["createdAt"], item["author"]["userName"], item["text"])

The full Python workflow, including pagination by date range and deduplication, is in how to collect tweets with Python.

What Limits Apply to Twitter Scraping With apidojo?

apidojo’s Twitter actors limit concurrency and query size to keep runs reliable, and the free Apify plan runs them in demo mode only. Listed below are the 5 limits that shape a scraping plan (Tweet Scraper V2, Twitter Scraper Unlimited).

  1. Minimum 50 tweets per query on Tweet Scraper V2; smaller queries go to Twitter Scraper Unlimited.
  2. One concurrent run per actor, with up to 5 batched queries on Tweet Scraper V2.
  3. No repeated polling on Tweet Scraper V2: don’t run the same query at short intervals. Recurring collection belongs on Twitter Scraper Unlimited, as shown in how to monitor a keyword on X.
  4. No single posts or conversations on Tweet Scraper V2.
  5. Free plan demo mode: 5 runs per month, 10 items per run.

If a query returns fewer results than expected, the actor’s documentation suggests switching sort to Top or removing until: from the query.

Twitter Scraping Guides by Task

Each Twitter scraping task has its own guide with inputs, code and costs. Listed below are the 10 guides in this series.

  • How to scrape tweets by keyword
  • How to scrape tweets by date range
  • How to scrape tweets from a user profile
  • How to scrape Twitter search results
  • How to scrape a Twitter thread and all its replies
  • How to scrape images and videos from tweets
  • How to export tweets to CSV or JSON
  • How to collect tweets with Python
  • How to collect tweets with JavaScript and Node.js
  • Twitter scraper pagination: cursors, limits and deduplication

API-based collection is covered in the Twitter search API guide, and recurring use cases start at how to monitor a keyword on X.

Scraping public Twitter data is a legal question that depends on your country, the data you collect and how you use it, so check X’s Terms of Service and the data protection law that applies to you before collecting. Personal data in posts and profiles falls under laws such as the GDPR in the EU regardless of how it was collected. Collect only what your use case needs and store it securely.

Questions people ask

Do you need an X account or API key to scrape with apidojo?

No, apidojo's actors need only an Apify account and API token; you don't log in to X or apply for X API access.

How fast is Tweet Scraper V2?

Tweet Scraper V2 is listed at 30 to 80 tweets per second (Apify).

Can you scrape tweets older than 7 days?

Yes, the actors search the same history as X web search, back to 2006. The X API's recent search endpoint covers only 7 days; see the 7-day limit explained.

Where do you start for a production pipeline?

Start at the apidojo Twitter Scraper page, then pick the actor for your input from the table above.