Introducing Twitter Scraper Unlimited, the most comprehensive Twitter data extraction solution available. Our enterprise-grade scraper offers unmatched capabilities with a transparent event-based pricing model, making it perfect for both small-scale and large-scale data extraction needs.
Introducing Twitter Scraper Unlimited, the most comprehensive Twitter data extraction solution available. Our enterprise-grade scraper offers unmatched capabilities with a transparent event-based pricing model, making it perfect for both small-scale and large-scale data extraction needs. Whether you're a researcher, data analyst, or business intelligence professional, our scraper provides the reliability and scalability you need.
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.
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:
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-03-01", 10 "from:NASA since:2023-03-01 until:2023-05-01", 11 "from:NASA since:2023-05-01 until:2023-07-01", 12 "from:NASA since:2023-07-01 until:2023-09-01", 13 "from:NASA since:2023-09-01 until:2023-12-01" 14 ], 15 "sort": "Latest", 16 "tweetLanguage": "en" 17}
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}
from:NASA filter:media -filter:images
(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.
Our transparent event-based pricing ensures you only pay for what you use:
Price per item varies based on your batch size:
Tier | Batch Size | Cost per Item |
---|---|---|
1 | ≤ 5 queries | $0.0004 |
2 | 6-10 queries | $0.0008 |
3 | 11-30 queries | $0.0012 |
4 | 31-100 queries | $0.0016 |
5 | >100 queries | $0.002 |
apidojo
) or emailBasic Profile Scraping:
from:NASA
Batch Profile Scraping:
Single Tweet Fetch:
The users that are on Free Plan can use the actor only on Demo Mode. 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.
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 | 🏯 Twitter Scraper Unlimited | Competitor A | Competitor B |
---|---|---|---|
Working Twitter Search | ✔️ | ✔️ | ✔️ |
Query Wizard | ✔️ | ❌ | ❌ |
Event-Based Pricing | ✔️ | ❌ | ❌ |
Enterprise Support | ✔️ | ❌ | ✔️ |
Cost per Query | $0.016 | N/A | N/A |
Transparent Pricing | ✔️ | ❌ | ❌ |
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 | ✔️ | ✔️ | ❌ |
Tweet Scraper is designed to provide exceptional efficiency, speed, and cost-effectiveness for a diverse range of users:
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.
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.
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}
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 |
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.If you need any sort of support, please send an email to apidojo10@gmail.com. You name it, we get it.
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!