🏯 Tweet Scraper V2 - X / Twitter Scraper avatar
🏯 Tweet Scraper V2 - X / Twitter Scraper

Pricing

from $0.40 / 1,000 tweets

Go to Apify Store
🏯 Tweet Scraper V2 - X / Twitter Scraper

🏯 Tweet Scraper V2 - X / Twitter Scraper

⚡️ Lightning-fast search, URL, list, and profile scraping, with customizable filters. At $0.40 per 1000 tweets, and 30-80 tweets per second, it is ideal for researchers, entrepreneurs, and businesses! Get comprehensive insights from Twitter (X) now!

Pricing

from $0.40 / 1,000 tweets

Rating

4.4

(138)

Developer

API Dojo

API Dojo

Maintained by Community

Actor stats

1.1K

Bookmarked

34K

Total users

2.4K

Monthly active users

5.1 hours

Issues response

16 hours ago

Last modified

Share

TL;DR

This actor supports Twitter advanced search queries - the most powerful way to use it. You can use the same query syntax that works on Twitter's search. Just put your query in the searchTerms input and the scraper will fetch exactly what you'd see on Twitter. Single queries can return 100K+ tweets when there's enough data.

Don't know the query syntax? Use the Query Wizard in the actor's interface - it builds queries for you through simple filters.

Quick start example:

{
"searchTerms": ["from:NASA"],
"sort": "Latest"
}

🏯 Tweet Scraper: Last Tweet Scraper you will ever need 🏯

⚠️ IMPORTANT NOTE ABOUT PRICING

Please familiarize yourself with the pricing before using this actor.

  • Pricing: $0.40 per 1,000 tweets
  • Minimum requirement: Each query must return at least 50 tweets
  • Free users: Limited to 10 items with higher pricing to prevent abuse
  • Single tweet fetching and conversation scraping are not allowed on this actor

📌 Need fewer than 50 tweets, single tweets, or conversation threads? Use Twitter Scraper Unlimited instead - it has event-based pricing that supports all use cases with no restrictions.

How It Works

This actor is optimized for large-scale data extraction. The most powerful way to use it is through Twitter advanced search queries using the searchTerms input. Single queries can return 100K+ tweets when there's enough data available.

Pro tip: You can test your queries directly on Twitter's search before running them here - the scraper fetches what you see.

Query Wizard

Don't know Twitter query syntax? No problem! This actor includes a Query Wizard that lets you build complex queries through a simple interface. Just fill in the filters (author, date range, engagement minimums, etc.) and the wizard generates the query for you.

About Missing Tweets

Some tweets may not appear in search results due to Twitter's shadow banning or content filtering. This is outside our control. If you're missing tweets from a specific account, try:

  • Using different date ranges
  • Checking if the account is shadow-banned on Twitter directly

Examples

Fetch tweets from a profile

{
"searchTerms": ["from:NASA"],
"sort": "Latest"
}

Fetch tweets with date ranges

{
"searchTerms": [
"from:NASA since:2024-01-01 until:2024-06-01",
"from:NASA since:2024-06-01 until:2024-12-01"
],
"sort": "Latest"
}

Search for keywords

{
"searchTerms": ["artificial intelligence"],
"tweetLanguage": "en",
"sort": "Latest"
}

Tweets with media from a user

{
"searchTerms": ["from:NASA filter:media"]
}

Exclude retweets

{
"searchTerms": ["from:elonmusk -filter:retweets"]
}

Mentions of a user

{
"searchTerms": ["@NASA"]
}

Tweets with specific hashtags

{
"searchTerms": ["#AI lang:en"],
"sort": "Latest"
}

Tweets from verified users on a topic

{
"searchTerms": ["cryptocurrency filter:verified"],
"sort": "Top"
}

For more query options, see the Twitter Advanced Search documentation.

Important Note

  1. Minimum 50 tweets per query - If your query might return fewer results, use Twitter Scraper Unlimited instead
  2. Max 1 concurrent run with up to 5 batched queries
  3. No monitoring - Don't run the same query repeatedly in short intervals
  4. No single tweet fetching - Use Twitter Scraper Unlimited for this
  5. No conversation/reply scraping - Use Twitter Scraper Unlimited for fetching replies to specific tweets

💡 When to use Twitter Scraper Unlimited instead:

  • Fetching single tweets or tweet URLs
  • Scraping conversation threads / replies to tweets
  • Queries that might return fewer than 50 results
  • Any use case requiring flexibility without restrictions

ℹ️ Why Choose This Actor?

  • Daily maintenance by a dedicated team of engineers ensures maximum stability and reliability.
  • Battle-tested infrastructure with multiple scraping mechanisms, automatic retries, and fallback strategies - the most robust solution available.
  • Enterprise-grade trust - our clients fetch millions of tweets daily, relying on this actor for critical business operations.

No bullsh*t - just data. You name it, we get it.

🐉 Features and Functionality

  • Incredibly speedy, highly efficient, and suitable for all types of applications.
  • Query Wizard: Create queries effortlessly without requiring knowledge of complex search terms.
  • A wide array of filters at your disposal, including options for timeframes, targeting, and more.
  • In-depth user information for thorough data analysis.
  • Support for multiple languages to accommodate global requirements.
  • Precise data pinpointing through geo-targeting and geolocation support.

🆓 Demo Mode & Free Users

Users on the Free Plan can use the actor only in Demo Mode. Free users can retrieve a maximum of 10 items and the pricing is higher to prevent abuse. They also cannot use the actor via API. To use this actor without limitations, subscribe to a paid plan on Apify. Subscribe here.

👹 Competitors

Well, this is the place where we should go crazy. But we don't. Try it, and you will see the difference. Please be aware that although all the tests used identical inputs and resources, the recorded speeds and costs may differ and might not accurately reflect the real metrics.

Feature🏯 Tweet ScraperMicroworlds Twitter ScraperQuacker Twitter-scraper
Working Twitter Search✔️✔️✔️
Query Wizard✔️
Search Data RangeUnlimitedUnlimitedN/A
Price Per 100k Results (Tweet URL)$40$150$9.56
Price Per 100k Results (Profile)$40$150$2.25
Price Per 100k Results (Profile with Filtering)$40$150N/A
Price Per 100k Results (Search)$40$150N/A
Tweets Per Second (URL)64247
Tweets Per Second (Profile)581315
Tweets Per Second (Search)4914N/A
Pricing Plan$0.40 per 1k results$1 per 1k resultsPay for Usage
Maximum Tweets Per Input Limit✔️✔️✔️
Maximum Tweets Total Limit✔️✔️
Maximum Profiles Scraped Limit✔️✔️
Language Detection✔️✔️
Collect Detailed User Info✔️✔️✔️
Scrape Specific Profiles✔️✔️✔️
Scrape From Tweet URLs✔️✔️✔️
Scrape From Twitter List URLs✔️✔️
Advanced User Information✔️✔️
Advanced Filtering Options in Interface✔️✔️
Date Range Interface✔️✔️✔️
Maximum Attempts✔️✔️
No Proxy Required✔️✔️

🎎 Who needs this?

Tweet Scraper is designed for large-scale data extraction:

  • Data Analysts engaged in extensive scraping tasks - Tweet Scraper handles large data volumes efficiently and cost-effectively.
  • Data Enthusiasts who need detailed, filtered scraping with robust filtering capabilities.
  • Researchers conducting comprehensive search scraping to unearth valuable insights.
  • Entrepreneurs with time-sensitive tasks who benefit from Tweet Scraper's lightweight design and swift startup.

While Tweet Scraper excels at large-scale tasks, for smaller or more flexible use cases, consider Twitter Scraper Unlimited.

🍜 Output Example

{
"type": "tweet",
"id": "1728108619189874825",
"url": "https://x.com/elonmusk/status/1728108619189874825",
"twitterUrl": "https://twitter.com/elonmusk/status/1728108619189874825",
"text": "More than 10 per human on average",
"retweetCount": 11311,
"replyCount": 6526,
"likeCount": 104121,
"quoteCount": 2915,
"createdAt": "Fri Nov 24 17:49:36 +0000 2023",
"lang": "en",
"quoteId": "1728107610631729415",
"bookmarkCount": 702,
"isReply": false,
"card": {},
"place": {},
"source:": "Twitter for Android",
"author": {
"type": "user",
"userName": "elonmusk",
"url": "https://x.com/elonmusk",
"twitterUrl": "https://twitter.com/elonmusk",
"id": "44196397",
"name": "Elon Musk",
"isVerified": true,
"isBlueVerified": true,
"verifiedType": "business",
"profilePicture": "https://pbs.twimg.com/profile_images/1683325380441128960/yRsRRjGO_normal.jpg",
"followers": 172669889,
"following": 538
},
"isRetweet": false,
"isQuote": true
}

🍚 Input Parameters

FieldTypeDescriptionDefault value
startUrlsarrayTwitter (X) URLs. Paste the URLs and get the results immediately. Tweet, Profile, Search or List URLs are supported.[]
searchTermsarraySearch terms you want to search from Twitter (X). You can refer to this documentation.[]
twitterHandlesarrayTwitter handles that you want to search on Twitter (X)[]
tweetLanguageStringRestricts tweets to the given language, given by an ISO 639-1 code.null
maxItemsnumberMaximum number of items that you want to receive as outputInfinity
onlyVerifiedUsersBooleanIf selected, only returns tweets by users who are verified.false
onlyTwitterBlueBooleanIf selected, only returns tweets by users who are Twitter Blue subscribers.false
onlyImageBooleanIf selected, only returns tweets that contain images.false
onlyVideoBooleanIf selected, only returns tweets that contain videos.false
onlyQuoteBooleanIf selected, only returns tweets that are quotes.false
authorStringReturns tweets sent by the given user. It should be a Twitter (X) Handle.null
inReplyToStringReturns tweets that are replies to the given user. It should be a Twitter (X) Handle.null
mentioningStringReturns tweets mentioning the given user. It should be a Twitter (X) Handle.null
geotaggedNearStringReturns tweets sent near the given location.null
withinRadiusStringReturns tweets sent within the given radius of the given location.null
geocodeStringReturns tweets sent by users located within a given radius of the given latitude/longitude.null
placeObjectIdStringReturns tweets tagged with the given place.null
minimumRetweetsNumberReturns tweets with at least the given number of retweets.null
minimumFavoritesNumberReturns tweets with at least the given number of favorites.null
minimumRepliesNumberReturns tweets with at least the given number of replies.null
startStringReturns tweets sent after the given date.null
endStringReturns tweets sent before the given date.null
includeSearchTermsBooleanIf selected, a field will be added to each tweets about the search term that was used to find it.false
customMapFunctionStringFunction that takes each of the objects as argument and returns data that will be mapped by the function itself. This function is not intended for filtering, please don't use it for filtering purposes or you will get banned automatically.null

🔧 Troubleshooting

  • Getting Few Results? Check "Maximum number of items on output" (maxItems) field. Leaving it empty will result in unlimited results.
  • Are Some Outputs Missing? Ensure that you review all fields, not just the overview. Navigate to the "Storage" tab and select either "Download the results" or "Open in a New Tab."
  • Getting No Results? Confirm that your parameters are not overly restrictive.
  • Missing Tweets? Some tweets may be shadow-banned or filtered by Twitter. This is outside our control.
  • Need fewer than 50 tweets? Use Twitter Scraper Unlimited which has no minimum requirements.

📞 Contact and Feature Requests

If you need any sort of support, please send an email to apidojo10@gmail.com. You name it, we get it.

🈴 Other Actors you might want to check

Discord Verifications

  • Misτer_Cole ττ - 🫡