This project is a web scraper designed to extract user data and tweets from X (formerly known as Twitter) using Crawlee and Playwright.
This project is a web scraper designed to extract user data and tweets from X (formerly known as Twitter) using Crawlee and Playwright.
The main purpose of this scraper is to:
This tool can be useful for various applications, such as:
startUrls
array in the input configuration.maxRequestsPerCrawl
value to limit the number of requests if needed.The scraper outputs two main types of data:
The collected data is structured and can be easily processed for further analysis or integration into other systems.
Here's an example of the structured output you can expect from this scraper:
1"user": { 2"__typename": "User", 3"id": "VXNlcjo0NDE5NjM5Nw==", 4"rest_id": "44196397", 5"affiliates_highlighted_label": { 6"label": { 7"url": { 8"url": "https://twitter.com/X", 9"urlType": "DeepLink" 10}, 11"badge": { 12"url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" 13}, 14"description": "X", 15"userLabelType": "BusinessLabel", 16"userLabelDisplayType": "Badge" 17} 18}, 19"is_blue_verified": true, 20"profile_image_shape": "Circle", 21"legacy": { 22"created_at": "Tue Jun 02 20:12:29 +0000 2009", 23"default_profile": false, 24"default_profile_image": false, 25"description": "", 26"entities": { 27"description": { 28"urls": [] 29} 30}, 31"fast_followers_count": 0, 32"favourites_count": 60807, 33"followers_count": 189827332, 34"friends_count": 662, 35"has_custom_timelines": true, 36"is_translator": false, 37"listed_count": 152087, 38"location": "", 39"media_count": 2308, 40"name": "Elon Musk", 41"normal_followers_count": 189827332, 42"pinned_tweet_ids_str": [ 43"1813310196506349995" 44], 45"possibly_sensitive": false, 46"profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1690621312", 47"profile_image_url_https": "https://pbs.twimg.com/profile_images/1780044485541699584/p78MCn3B_normal.jpg", 48"profile_interstitial_type": "", 49"screen_name": "elonmusk", 50"statuses_count": 47242, 51"translator_type": "none", 52"verified": false, 53"withheld_in_countries": [] 54}, 55"professional": { 56"rest_id": "1679729435447275522", 57"professional_type": "Creator", 58"category": [] 59}, 60"tipjar_settings": { 61"is_enabled": false, 62"bandcamp_handle": "", 63"bitcoin_handle": "", 64"cash_app_handle": "", 65"ethereum_handle": "", 66"gofundme_handle": "", 67"patreon_handle": "", 68"pay_pal_handle": "", 69"venmo_handle": "" 70}, 71"legacy_extended_profile": {}, 72"is_profile_translatable": false, 73"has_hidden_subscriptions_on_profile": false, 74"verification_info": { 75"is_identity_verified": false, 76"reason": { 77"description": { 78"text": "This account is verified because it's an affiliate of @X on X. Learn more", 79"entities": [ 80{ 81"from_index": 54, 82"to_index": 56, 83"ref": { 84"url": "https://twitter.com/X", 85"url_type": "ExternalUrl" 86} 87}, 88{ 89"from_index": 63, 90"to_index": 73, 91"ref": { 92"url": "https://help.twitter.com/en/rules-and-policies/profile-labels", 93"url_type": "ExternalUrl" 94} 95} 96] 97}, 98"verified_since_msec": "-156836000000000", 99"override_verified_year": -3000 100} 101}, 102"highlights_info": { 103"can_highlight_tweets": true, 104"highlighted_tweets": "265" 105}, 106"user_seed_tweet_count": 0, 107"business_account": {}, 108"creator_subscriptions_count": 151 109},
1{ 2"__typename": "Tweet", 3"rest_id": "1519480761749016577", 4"unmention_data": {}, 5"is_translatable": false, 6"views": { 7"state": "Enabled" 8}, 9"source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", 10"legacy": { 11"bookmark_count": 21256, 12"bookmarked": false, 13"created_at": "Thu Apr 28 00:56:58 +0000 2022", 14"conversation_id_str": "1519480761749016577", 15"display_text_range": [ 160, 1752 18], 19"entities": { 20"hashtags": [], 21"symbols": [], 22"timestamps": [], 23"urls": [], 24"user_mentions": [] 25}, 26"favorite_count": 4468299, 27"favorited": false, 28"full_text": "Next I’m buying Coca-Cola to put the cocaine back in", 29"is_quote_status": false, 30"lang": "en", 31"quote_count": 166677, 32"reply_count": 182762, 33"retweet_count": 625073, 34"retweeted": false, 35"user_id_str": "44196397", 36"id_str": "1519480761749016577" 37}, 38"quick_promote_eligibility": { 39"eligibility": "IneligibleUserUnauthorized" 40} 41},
Please ensure you comply with X's terms of service and respect rate limits when using this scraper.
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!