Skip to content

Why Xeepy?

The Problem We Solved

In 2023, Twitter (now X) drastically changed their API:

  • Basic API: $100/month, severely rate-limited
  • Pro API: $5,000/month for reasonable access
  • Enterprise: Contact sales (read: very expensive)

Worse, many endpoints were removed entirely. Tweet replies? Gone from the free tier. Full-archive search? Enterprise only. Unfollower detection? Never existed.

The original twitter_reply.py script in this repo used Tweepy's search APIβ€”which Twitter broke in 2023. Xeepy was born from the ashes of that broken script.

Our Solution: Browser Automation

Instead of fighting API restrictions, we went around them entirely. Xeepy uses Playwright to automate a real browser, giving you the same access as any X user:

# What used to require expensive API access
# now works with simple browser automation

async with Xeepy() as x:
    # This "impossible" query now just works
    replies = await x.scrape.replies(tweet_url)

Xeepy vs. Alternatives

vs. Twitter API (Official)

Aspect Twitter API Xeepy
Monthly Cost \(100-\)5,000+ Free
Tweet Replies ❌ Premium only βœ… Included
Full Archive ❌ Enterprise only βœ… Included
Rate Limits Strict, per-endpoint Flexible, human-like
Unfollower Detection ❌ Not available βœ… Built-in
Setup API keys, OAuth Just cookies

vs. Tweepy

Tweepy is a great libraryβ€”but it depends on the Twitter API:

# Tweepy (BROKEN since 2023)
import tweepy
api.search_tweets(q=f"to:{username}")  # ❌ No longer works!

# Xeepy (WORKS)
from xeepy import Xeepy
await x.scrape.replies(tweet_url)  # βœ… Works perfectly

vs. SNScrape

SNScrape was popular but is now unmaintained and broken:

Aspect SNScrape Xeepy
Status ❌ Unmaintained βœ… Actively developed
Login Required No (but limited) Yes (full access)
Anti-Detection Basic Advanced
Actions Scraping only Scraping + Actions
AI Features ❌ No βœ… Built-in

vs. Nitter

Nitter instances are unreliable and frequently go down:

Aspect Nitter Xeepy
Reliability ❌ Instances die often βœ… Your own browser
Authentication ❌ Can't log in βœ… Full account access
Actions ❌ Read only βœ… Full automation
Rate Limits Per-instance Your control

Unique Features

Xeepy isn't just a scraperβ€”it's a complete automation toolkit:

🎯 Unfollower Detection

The #1 requested feature that no API provides:

from xeepy import UnfollowerDetector

detector = UnfollowerDetector(storage, notifier)
report = await detector.detect("yourusername")

print(f"Lost followers: {report.unfollowers}")
print(f"New followers: {report.new_followers}")
print(f"Net change: {report.net_change}")

πŸ“Š Advanced Analytics

Built-in analytics that would cost $50+/month elsewhere:

from xeepy.analytics import BestTimeAnalyzer, AudienceInsights

# Find YOUR optimal posting times
analyzer = BestTimeAnalyzer()
schedule = await analyzer.analyze("yourusername")
print(schedule.get_schedule_text())
# "Best time to post: Tuesday at 9:00 AM"

# Understand your audience
insights = AudienceInsights()
report = await insights.analyze("yourusername")
print(f"Top locations: {report.locations}")
print(f"Bot percentage: {report.likely_bots_percentage}%")

πŸ€– AI Integration

Native AI support for content and analysis:

from xeepy.ai import ContentGenerator, SentimentAnalyzer

# Generate viral content
generator = ContentGenerator(provider="openai")
thread = await generator.generate_thread(
    topic="Python async tips",
    style="viral",
    num_tweets=10
)

# Analyze sentiment of replies
analyzer = SentimentAnalyzer()
for reply in replies:
    sentiment = await analyzer.analyze(reply.text)
    if sentiment.label == "negative":
        print(f"Hater detected: @{reply.author}")

πŸ”” Multi-Channel Notifications

Get alerts everywhere:

from xeepy.notifications import NotificationManager

manager = NotificationManager()
manager.add_channel("discord", discord_webhook)
manager.add_channel("telegram", telegram_bot)
manager.add_channel("email", email_config)
manager.add_channel("slack", slack_webhook)

# All channels notified instantly
await manager.notify("🚨 Alert!", "Someone important followed you!")

πŸ›‘οΈ Advanced Stealth

Undetectable automation:

from xeepy import Xeepy
from xeepy.core import BrowserConfig

config = BrowserConfig(
    stealth_mode=True,        # Anti-fingerprinting
    rotate_user_agent=True,   # Random user agents
    human_delays=True,        # Natural timing
    proxy_rotation=True,      # IP rotation
)

async with Xeepy(browser_config=config) as x:
    # Scrape like a human
    ...

Who Uses Xeepy?

  • Growth Hackers


    Automate follow/unfollow, find optimal posting times, track competitor growth.

  • Data Scientists


    Scrape large datasets for research, sentiment analysis, network analysis.

  • Marketing Teams


    Monitor brand mentions, track campaigns, generate engagement reports.

  • AI Developers


    Build AI-powered bots, train models on Twitter data, automate content.

  • Researchers


    Academic research, discourse analysis, misinformation tracking.

  • Personal Users


    Clean up following list, track unfollowers, optimize posting schedule.

The Bottom Line

Need Solution
Scrape tweet replies βœ… Xeepy
Detect unfollowers βœ… Xeepy
Automate follows βœ… Xeepy
Analyze engagement βœ… Xeepy
Generate AI content βœ… Xeepy
$0 monthly cost βœ… Xeepy

Ready to get started?

Quick Start Guide