🏯 Tweet Scraper V2 (Pay Per Result) - X / Twitter Scraper
Pay $0.40 for 1,000 tweets
🏯 Tweet Scraper V2 (Pay Per Result) - X / Twitter Scraper
Pay $0.40 for 1,000 tweets
⚡️ Lightning-fast search, URL, list, and profile scraping, with customizable filters. At $0.30 per 1000 tweets, and 30-80 tweets per second, it is ideal for researchers, entrepreneurs, and businesses! Get comprehensive insights from Twitter (X) now!
TL;DR
Our twitter actor supports all of the Twitter queries and this is the suggested way to use it. If you want to leverage Twitter Queries, you need to use only the searchTerms
input.
You can also check your queries on Twitter web UI using search. Just paste your queries there and check the output. The scraper supposed to fetch what you see.
Here are some examples:
Fetching the tweets of a profile
Since Twitter returns ~800 tweets for each search, you need to divide your run into several search queries using since
and until
alongside with from
. This way, the scraper will initiate 11 runs for each month that can get max ~800 tweets each. If you think that profile tweets more than ~800 a month, you need to increase the timeframes to weeks or even to days.
1{ 2 "includeSearchTerms": false, 3 "onlyImage": false, 4 "onlyQuote": false, 5 "onlyTwitterBlue": false, 6 "onlyVerifiedUsers": false, 7 "onlyVideo": false, 8 "searchTerms": [ 9 "from:NASA since:2023-01-01 until:2023-02-01", 10 "from:NASA since:2023-02-01 until:2023-03-01", 11 "from:NASA since:2023-03-01 until:2023-04-01", 12 "from:NASA since:2023-04-01 until:2023-05-01", 13 "from:NASA since:2023-05-01 until:2023-06-01", 14 "from:NASA since:2023-06-01 until:2023-07-01", 15 "from:NASA since:2023-07-01 until:2023-08-01", 16 "from:NASA since:2023-08-01 until:2023-09-01", 17 "from:NASA since:2023-09-01 until:2023-10-01", 18 "from:NASA since:2023-10-01 until:2023-11-01", 19 "from:NASA since:2023-11-01 until:2023-12-01" 20 ], 21 "sort": "Latest", 22 "tweetLanguage": "en" 23}
Fetching replies of a tweet with specific hashtag
1{ 2 "includeSearchTerms": false, 3 "onlyImage": false, 4 "onlyQuote": false, 5 "onlyTwitterBlue": false, 6 "onlyVerifiedUsers": false, 7 "onlyVideo": false, 8 "searchTerms": [ 9 "conversation_id:tweet_id_here #hashtag_here" 10 ], 11 "sort": "Latest", 12 "tweetLanguage": "en" 13}
Some More
- Tweets from @Nasa with all types of media except images
from:NASA filter:media -filter:images
- Mentions of either "puppy" or "kitten", AND with mentions of either "sweet" or "cute", excluding Retweets, with at least 10 likes
(puppy OR kitten) (sweet OR cute) -filter:nativeretweets min_faves:10
Please refer to https://github.com/igorbrigadir/twitter-advanced-search to get more informaton about Twitter Queries.
Important Note
Please note that using our actor for monitoring activies is not allowed. In other words: you should not try to initiate the same run in a very short period of time with time filters in order to understand if a profile tweeted or not. The actor's main purpose is to fetch historical tweets, not monitor profiles in real time. If you do this, you will get ratelimitted automatically and banned very shortly if you continue doing this.
🏯 Tweet Scraper: Last Tweet Scraper you will ever need 🏯
Introducing Tweet Scraper, the ultimate Twitter data retrieval tool available at x.com. It boasts unmatched speed and comprehensiveness, providing lightning-fast search, URL, and profile scraping options, all complemented by a wide range of filters for tailored data extraction. Whether you're a researcher in need of extensive Twitter data for analysis or a business seeking insights into customer sentiment and trends, Tweet Scraper is your ideal companion. And the best part? It's priced at just $0.30 per 1000 tweets, with the capability to scrape 30-80 tweets per second!
ℹ️ Disclaimer
We are people who are experts on data extraction. This actor is overly optimized for Tweet Scraping and we offer you an extensive set of tools. Not just that, but, we offer high maintenance and perfect support. 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
The users that are on Free Plan can use the actor only on Demo Mode. Please keep in mind that the users that are on Free Plan can retrieve a maximum of 10 items, and cannot use the actor via API. If you want to use this actor without any limitation, you have to subscribe to a paid plan on Apify. You can check this link to subscribe easily.
👹 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 Scraper | Microworlds Twitter Scraper | Quacker Twitter-scraper |
---|---|---|---|
Working Twitter Search | ✔️ | ✔️ | ✔️ |
Query Wizard | ✔️ | ❌ | ❌ |
Search Data Range | Unlimited | Unlimited | N/A |
Price Per 100k Results (Tweet URL) | $30 | $150 | $9.56 |
Price Per 100k Results (Profile) | $30 | $150 | $2.25 |
Price Per 100k Results (Profile with Filtering) | $30 | $150 | N/A |
Price Per 100k Results (Search) | $30 | $150 | N/A |
Tweets Per Second (URL) | 64 | 24 | 7 |
Tweets Per Second (Profile) | 58 | 13 | 15 |
Tweets Per Second (Search) | 49 | 14 | N/A |
Pricing Plan | $0.30 per 1k results | $1 per 1k results | Pay 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 to provide exceptional efficiency, speed, and cost-effectiveness for a diverse range of users:
- For those engaged in extensive link or user scraping tasks, such as Data Analysts, Tweet Scraper is engineered to effortlessly handle large data volumes, offering a highly efficient and budget-friendly solution.
- If you're passionate about detailed, filtered user scraping, Tweet Scraper's robust filtering capabilities enable you to precisely extract the most relevant data, catering to Data Enthusiasts.
- Researchers can rely on Tweet Scraper to conduct comprehensive search scraping, enabling them to unearth valuable insights from deep within the data.
- Entrepreneurs with time-sensitive tasks benefit from Tweet Scraper's lightweight design and swift startup, ensuring prompt access to the required data.
While Tweet Scraper excels in handling these large-scale tasks, it's also a great tool for smaller projects due to its adjustable settings and scalability. Regardless of the size of your task, Tweet Scraper is built to deliver.
🍜 Output Example
1{ 2 "type": "tweet", 3 "id": "1728108619189874825", 4 "url": "https://x.com/elonmusk/status/1728108619189874825", 5 "twitterUrl": "https://twitter.com/elonmusk/status/1728108619189874825", 6 "text": "More than 10 per human on average", 7 "retweetCount": 11311, 8 "replyCount": 6526, 9 "likeCount": 104121, 10 "quoteCount": 2915, 11 "createdAt": "Fri Nov 24 17:49:36 +0000 2023", 12 "lang": "en", 13 "quoteId": "1728107610631729415", 14 "bookmarkCount": 702, 15 "isReply": false, 16 "card": {}, 17 "place": {}, 18 "source:": "Twitter for Android", 19 "author": { 20 "type": "user", 21 "userName": "elonmusk", 22 "url": "https://x.com/elonmusk", 23 "twitterUrl": "https://twitter.com/elonmusk", 24 "id": "44196397", 25 "name": "Elon Musk", 26 "isVerified": true, 27 "isBlueVerified": true, 28 "verifiedType": "business", 29 "hasNftAvatar": false, 30 "profilePicture": "https://pbs.twimg.com/profile_images/1683325380441128960/yRsRRjGO_normal.jpg", 31 "coverPicture": "https://pbs.twimg.com/profile_banners/44196397/1690621312", 32 "description": "", 33 "location": "", 34 "followers": 172669889, 35 "following": 538, 36 "protected": false, 37 "status": "", 38 "canDm": false, 39 "canMediaTag": false, 40 "advertiserAccountType": "promotable_user", 41 "analyticsType": "enabled", 42 "createdAt": "Tue Jun 02 20:12:29 +0000 2009", 43 "entities": { 44 "description": { 45 "hashtags": [], 46 "symbols": [], 47 "urls": [], 48 "user_mentions": [] 49 } 50 }, 51 "fastFollowersCount": 0, 52 "favouritesCount": 42455, 53 "geoEnabled": false, 54 "hasCustomTimelines": true, 55 "hasExtendedProfile": true, 56 "isTranslator": false, 57 "mediaCount": 2002, 58 "profileBackgroundColor": "C0DEED", 59 "statusesCount": 37933, 60 "translatorTypeEnum": "None", 61 "withheldInCountries": [], 62 "affiliatesHighlightedLabel": { 63 "label": { 64 "url": { 65 "urlType": "DeepLink", 66 "url": "https://twitter.com/X" 67 }, 68 "badge": { 69 "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" 70 }, 71 "userLabelType": "BusinessLabel", 72 "userLabelDisplayType": "Badge", 73 "description": "X" 74 } 75 } 76 }, 77 "extendedEntities": {}, 78 "isRetweet": false, 79 "isQuote": true, 80 "quote": { 81 "type": "tweet", 82 "id": "1728107610631729415", 83 "text": "The posts on 𝕏 gets ~ 100 billion impressions every day.\n\n https://t.co/AuF1KStCFf", 84 "retweetCount": 646, 85 "replyCount": 789, 86 "likeCount": 3983, 87 "quoteCount": 2493, 88 "createdAt": "Fri Nov 24 17:45:35 +0000 2023", 89 "lang": "en", 90 "bookmarkCount": 127, 91 "author": { 92 "type": "user", 93 "userName": "cb_doge", 94 "url": "https://x.com/cb_doge", 95 "twitterUrl": "https://twitter.com/cb_doge", 96 "id": "1389913567671975937", 97 "name": "DogeDesigner", 98 "isVerified": true, 99 "isBlueVerified": true, 100 "verifiedType": "business", 101 "hasNftAvatar": false, 102 "profilePicture": "https://pbs.twimg.com/profile_images/1498070100393754625/C2V-fbll_normal.jpg", 103 "coverPicture": "https://pbs.twimg.com/profile_banners/1389913567671975937/1707664307", 104 "description": "UX/UI & Graphic Designer at Dogecoin & MyDoge Inc./ 𝕏 Creator", 105 "location": "Dogecoin.com", 106 "followers": 441904, 107 "following": 867, 108 "protected": false, 109 "status": "", 110 "canDm": true, 111 "canMediaTag": false, 112 "advertiserAccountType": "promotable_user", 113 "analyticsType": "disabled", 114 "createdAt": "Wed May 05 12:03:43 +0000 2021", 115 "entities": { 116 "url": { 117 "urls": [ 118 { 119 "display_url": "MyDoge.com", 120 "expanded_url": "http://MyDoge.com", 121 "indices": [ 122 0, 123 23 124 ], 125 "url": "https://t.co/E0fsFaNdeI" 126 } 127 ] 128 }, 129 "description": { 130 "hashtags": [], 131 "symbols": [], 132 "urls": [], 133 "user_mentions": [] 134 } 135 }, 136 "fastFollowersCount": 0, 137 "favouritesCount": 70660, 138 "geoEnabled": true, 139 "hasCustomTimelines": true, 140 "hasExtendedProfile": true, 141 "isTranslator": false, 142 "mediaCount": 10987, 143 "profileBackgroundColor": "F5F8FA", 144 "statusesCount": 24918, 145 "translatorTypeEnum": "None", 146 "withheldInCountries": [], 147 "affiliatesHighlightedLabel": { 148 "label": { 149 "url": { 150 "urlType": "DeepLink", 151 "url": "https://twitter.com/MyDogeOfficial" 152 }, 153 "badge": { 154 "url": "https://pbs.twimg.com/profile_images/1656530956801523719/SC7nEKMa_bigger.png" 155 }, 156 "userLabelType": "BusinessLabel", 157 "userLabelDisplayType": "Badge", 158 "description": "MyDoge Wallet" 159 } 160 } 161 }, 162 "extendedEntities": { 163 "media": [ 164 { 165 "additional_media_info": { 166 "monetizable": false, 167 "graphql_source_user": { 168 "user": { 169 "legacy": { 170 "id_str": "1389913567671975937", 171 "screen_name": "cb_doge", 172 "name": "DogeDesigner", 173 "profile_image_url_https": "https://pbs.twimg.com/profile_images/1498070100393754625/C2V-fbll_normal.jpg", 174 "verified": false, 175 "protected": false, 176 "can_dm": true, 177 "can_media_tag": false 178 } 179 } 180 } 181 }, 182 "display_url": "pic.twitter.com/AuF1KStCFf", 183 "expanded_url": "https://twitter.com/cb_doge/status/1727821969343533149/video/1", 184 "ext_media_availability": { 185 "status": "Available" 186 }, 187 "id_str": "1727821919171313664", 188 "indices": [ 189 59, 190 82 191 ], 192 "media_key": "13_1727821919171313664", 193 "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1727821919171313664/img/t2oLSNoW4igyatu6.jpg", 194 "original_info": { 195 "width": 1920, 196 "height": 1080, 197 "focus_rects": [] 198 }, 199 "sizes": { 200 "large": { 201 "w": 1920, 202 "h": 1080 203 } 204 }, 205 "source_status_id_str": "1727821969343533149", 206 "source_user_id_str": "1389913567671975937", 207 "type": "video", 208 "url": "https://t.co/AuF1KStCFf", 209 "video_info": { 210 "aspect_ratio": [ 211 16, 212 9 213 ], 214 "duration_millis": 3566, 215 "variants": [ 216 { 217 "url": "https://video.twimg.com/amplify_video/1727821919171313664/pl/aGHTtMOSK_JQx9Q1.m3u8?tag=14&container=cmaf", 218 "content_type": "application/x-mpegURL" 219 }, 220 { 221 "url": "https://video.twimg.com/amplify_video/1727821919171313664/vid/avc1/480x270/EkwZuvHPaMbH7O1a.mp4?tag=14", 222 "content_type": "video/mp4", 223 "bitrate": 288000 224 }, 225 { 226 "url": "https://video.twimg.com/amplify_video/1727821919171313664/vid/avc1/640x360/0XXJiF8kImc0SNUN.mp4?tag=14", 227 "content_type": "video/mp4", 228 "bitrate": 832000 229 }, 230 { 231 "url": "https://video.twimg.com/amplify_video/1727821919171313664/vid/avc1/1280x720/VvbDj9laYWdX1dfX.mp4?tag=14", 232 "content_type": "video/mp4", 233 "bitrate": 2176000 234 } 235 ] 236 }, 237 "allow_download_status": { 238 "allow_download": true 239 } 240 } 241 ] 242 } 243 }, 244 "media": [] 245}
🍚 Input Parameters
Field | Type | Description | Default value |
---|---|---|---|
startUrls | array | Twitter (X) URLs. Paste the URLs and get the results immediately. Tweet, Profile, Search or List URLs are supported. | [] |
searchTerms | array | Search terms you want to search from Twitter (X). You can refer to this documentation. | [] |
twitterHandles | array | Twitter handles that you want to search on Twitter (X) | [] |
conversationIds | array | Conversation IDs that you want to search on Twitter (X) | [] |
tweetLanguage | String | Restricts tweets to the given language, given by an ISO 639-1 code. | null |
maxItems | number | Maximum number of items that you want to receive as output | Infinity |
onlyVerifiedUsers | Boolean | If selected, only returns tweets by users who are verified. | false |
onlyTwitterBlue | Boolean | If selected, only returns tweets by users who are Twitter Blue subscribers. | false |
onlyImage | Boolean | If selected, only returns tweets that contain images. | false |
onlyVideo | Boolean | If selected, only returns tweets that contain videos. | false |
onlyQuote | Boolean | If selected, only returns tweets that are quotes. | false |
author | String | Returns tweets sent by the given user. It should be a Twitter (X) Handle. | null |
inReplyTo | String | Returns tweets that are replies to the given user. It should be a Twitter (X) Handle. | null |
mentioning | String | Returns tweets mentioning the given user. It should be a Twitter (X) Handle. | null |
geotaggedNear | String | Returns tweets sent near the given location. | null |
withinRadius | String | Returns tweets sent within the given radius of the given location. | null |
geocode | String | Returns tweets sent by users located within a given radius of the given latitude/longitude. | null |
placeObjectId | String | Returns tweets tagged with the given place. | null |
minimumRetweets | Number | Returns tweets with at least the given number of retweets. | null |
minimumFavorites | Number | Returns tweets with at least the given number of favorites. | null |
minimumReplies | Number | Returns tweets with at least the given number of replies. | null |
start | String | Returns tweets sent after the given date. | null |
end | String | Returns tweets sent before the given date. | null |
includeSearchTerms | Boolean | If selected, a field will be added to each tweets about the search term that was used to find it. | false |
customMapFunction | String | Function 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, and "Maximum charged results" fields. These two fields enable you to handle the total number of results. Leaving both empty will result infinite results. - Are Some Outputs Missing? Ensure that you review all fields, not just the overview. You can 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.
- Incomplete Tweet Collection? Keep in mind that sensitive or spam-filtered comments may not be accessible for scraping. Additionally, in a surface-level run, replies to replies might not be included in the collected data.
- Not Receiving New Tweets After a Large Batch? Examine the log for messages like "Logging is too fast, some lines were skipped." If you encounter this issue, consider scraping smaller amounts of data to avoid it.
📞 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
- Twitter Scraper Lite
- Twitter List Scraper
- Twitter User Scraper
- TikTok Comment Scraper
- TikTok User Scraper
Discord Verifications
- Misτer_Cole ττ - 🫡
Actor Metrics
1.7k monthly users
-
305 stars
99% runs succeeded
4.3 hours response time
Created in Nov 2023
Modified 10 hours ago