Scweet Twitter (X) Scraper — Pay-Per-Result $0.30 / 1 k avatar
Scweet Twitter (X) Scraper — Pay-Per-Result $0.30 / 1 k

Pricing

$0.30 / 1,000 tweets

Go to Store
Scweet Twitter (X) Scraper — Pay-Per-Result $0.30 / 1 k

Scweet Twitter (X) Scraper — Pay-Per-Result $0.30 / 1 k

Developed by

JEB

JEB

Maintained by Community

Open-source powered Twitter/X scraper. Filter by keywords, hashtags, users, dates; export JSON/CSV. Free demo, 1 000 tweets/min, unlimited scale for $0.30 / 1k tweets.

5.0 (2)

Pricing

$0.30 / 1,000 tweets

7

Total users

223

Monthly users

67

Runs succeeded

>99%

Issues response

18 hours

Last modified

9 days ago

Scweet on Apify builds upon the original Scweet library to enable large-scale tweet scraping from X (formerly Twitter) in a cloud environment. With minimal setup and flexible configuration, you can easily collect vast amounts of tweet data for research, analytics, journalism, and more.
Free tier ⇒ up to 10 lifetime runs and 10 000 lifetime tweets; upgrade for unlimited usage.

🚨 Responsible Usage

This Actor is intended for lawful and ethical use only. Please ensure you comply with X's terms of service when using this tool.


🛠️ Quick Guide

  1. Open the Actor on Apify – Start by opening the Actor on your Apify console.
  2. Set Input Parameters – Define your parameters, such as keywords, hashtags, date range, and optionally location or user filters.
  3. Run the Actor – Initiate the scraping process.
  4. Monitor Progress – Keep an eye on high-level messages during the run.
  5. Retrieve Data – Once the run completes, access the tweet data from the Apify dataset.

⚙️ Detailed Usage

3.1 Configuration & Input Parameters

Customize your tweet search using the following parameters. All fields are optional, and defaults will apply if omitted.

FieldTypeDefaultDescription
words_andlist[string][] (empty)Terms that must appear in the tweet.
words_orlist[string][] (empty)At least one term must appear in the tweet.
hashtaglist[string][] (empty)One or more hashtags to search for.
from_userstringNoneScrape tweets from a specific user.
to_userstringNoneScrape tweets replying to a specific user.
min_likesstringNoneMinimum likes required for a tweet.
min_repliesstringNoneMinimum replies required for a tweet.
min_retweetsstringNoneMinimum retweets required for a tweet.
langstringNoneRestrict tweets to a specific language (e.g., "en").
sincestring (YYYY-MM-DD)2 years agoStart date of the search window.
untilstring (YYYY-MM-DD)Today’s dateEnd date of the search window.
typestring"Top"Choose "Top" (popular tweets) or "Latest" (real-time tweets).
maxItemsnumber1000Maximum number of tweets to scrape.
geocodestringNoneGeolocation search (e.g., "39.8283,-98.5795,2500km").
placestringNoneTwitter Place ID for more precise location-based search.
nearstringNoneName of a city or location to narrow the search. Use with within for accuracy.

3.2 Location Considerations 🌍

  • Location Data Limitations: Only about 1–2% of all X tweets include geolocation data. Many users also provide fictional or playful locations (e.g., "Laugh Tale"). Therefore, location-based searches might yield incomplete results.

  • Improving Accuracy: If you need better location accuracy, use the place parameter (Twitter Place ID). This will yield far more precise results than geocode.

  • Using the near Parameter: If you use the near field, we recommend adding a within radius (e.g., "within:10km") to increase search accuracy.

3.3 User Filters 🧑‍💻

  • Scraping for Specific Users: If you want to scrape tweets from a specific user or tweets replying to a particular user, use the from_user and to_user parameters.

    • Example: from_user: "exampleuser" will filter tweets sent by this user.
    • Similarly, to_user: "exampleuser" will capture tweets replying to this user.

    Note: Scraping a specific profile (e.g., https://x.com/handle) is equivalent to using the from_user parameter with the profile’s handle.

3.4 Usage Limits & Rate Limiting ⏱️

To protect our shared infrastructure and ensure fair access, Scweet applies different quotas for free vs. paid users:

LimitFree PlanPaid Plan
Concurrent connectionsUp to 5 concurrencyUnlimited
Run frequency60 s between runs5 s between runs
Total runs (lifetime)10Unlimited
Total tweets (lifetime)10 000Unlimited
  • Free Plan: Best for tests or light research (max 10 total runs / 10 000 tweets).
  • Paid Plan: Ideal for high-volume research or production workloads.

If you hit a “rate limit” message, simply wait the required seconds before starting your next run.
If you reach the 10-run / 10 000-tweet lifetime cap, please upgrade to continue scraping.

3.5 Speed & Performance ⚡

  • Standard Speed: Under typical conditions, Scweet on Apify can scrape over 1,000 tweets per minute.

  • Enhanced Performance: Paying users benefit from higher resource allocation, allowing for faster scraping and larger tweet volumes. The performance boost depends on the maxItems setting and date range.


📥 Output Format

The Actor stores the results in Apify’s dataset. You can download your results in JSON, CSV, or XLSX format.

Example JSON output:

[
{
"id": "tweet-1877796743036743891",
"user_is_blue_verified": true,
"user_created_at": "Tue Jun 02 20:12:29 +0000 2009",
"user_description": "",
"user_urls": [],
"user_favourites_count": 113767,
"user_followers_count": 212302178,
"user_friends_count": 931,
"user_location": "",
"user_media_count": 3086,
"user_handle": "elonmusk",
"user_profile_image_url_https": "...",
"tweet_source": "<a href=\"http://twitter.com/download/iphone\" ...>",
"tweet_created_at": "Fri Jan 10 19:16:45 +0000 2025",
"tweet_mentions": [],
"tweet_url": "https://x.com/elonmusk/status/1877796743036743891",
"tweet_view_count": "28738465",
"tweet_text": "Tyrannical behavior",
"tweet_hashtags": [],
"tweet_favorite_count": 218062,
"tweet_quote_count": 1518,
"tweet_reply_count": 10558,
"tweet_retweet_count": 51030,
"tweet_lang": "en",
"tweet_media_urls": [],
"tweet_media_expanded_urls": []
}
]

🛠️ Support & Future Growth

Scweet on Apify is constantly evolving. We welcome feedback from researchers, data scientists, journalists, and casual users. Let us know how you use this tool and any improvements you'd like to see.

Changelog

  • 2025-06-16 – Introduced lifetime free-tier limits (10 total runs, 10 000 total tweets) and reset counters for all existing free users.

⚠️ Disclaimer

Scweet on Apify only stores minimal run-related user data for the sole purpose of rate limiting and preventing abuse. This data is used internally and is not shared with third parties.