X Twitter Unlimited Scraper $9 Only 💸
Pricing
$9.00/month + usage
X Twitter Unlimited Scraper $9 Only 💸
Low-cost X.com/Twitter scraper for search and user timelines. Filter by dates, media, replies/retweets/quotes, verified, links, news, safe, and location. Use query, username, or both to search within a user. Export JSON/CSV/XLSX.
0.0 (0)
Pricing
$9.00/month + usage
0
2
2
Last modified
3 hours ago
X (Twitter) Scraper — Low-Cost, Reliable Tweet Extraction for Search, Users & Filters
🤖 What does X (Twitter) Scraper do?
This Apify Actor scrapes tweets from X.com (Twitter) using a rich set of filters (date range, media types, replies/retweets/quotes, verified, links, news, NSFW safety, geolocation via near).
It's engineered to be LowCost yet reliable — perfect when you need a lot of tweets without burning budget.
Great for: social listening, brand monitoring, competitor research, trend mining, influencer discovery, lead gen, and academic/market research.
SEO keywords: Twitter scraper, X scraper, scrape tweets, download tweets, Twitter search, Twitter username scraper, Twitter API alternative, Apify actor, low cost Twitter scraper.
🚀 Quick Start
-
Set
query,username, or bothqueryalone → search across X.usernamealone → user timeline.query+username→ search within that user's tweets.
-
Add filters (optional): replies/retweets/quotes, verified, links, media/images/videos/native videos/pro videos, news, safe,
near, andminDate/maxDate. -
Run the Actor and download the dataset as JSON/CSV/Excel.
📝 Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
maxItems | Integer | Yes | Max tweets to scrape. Min 1. Default 10. |
query | String | No* | Search text. If used with username, it filters that user's tweets. |
username | String | No* | X handle (without @). If used with query, only tweets from this user that match the query are returned. |
minDate | String | No | Lower bound date YYYY-MM-DD. |
maxDate | String | No | Upper bound date YYYY-MM-DD. |
replies | Enum | No | "" (Any) · "only" · "exclude". |
retweets | Enum | No | "" (Any) · "only" · "exclude". |
quotes | Enum | No | "" (Any) · "only" · "exclude". |
verified | Enum | No | "" (Any) · "only" (Verified only) · "exclude". |
links | Enum | No | "" (Any) · "only" · "exclude". |
media | Enum | No | "" (Any) · "only" · "exclude". |
images | Enum | No | "" (Any) · "only" · "exclude". |
videos | Enum | No | "" (Any) · "only" · "exclude". |
nativeVideos | Enum | No | "" (Any) · "only" · "exclude". |
proVideos | Enum | No | "" (Any) · "only" · "exclude". |
news | Enum | No | "" (Any) · "only" · "exclude". |
safe | Enum | No | "" (Any) · "only" (Safe only) · "exclude". |
near | String | No | Location bias for search (e.g., "Madrid", "New York"). |
proxyConfiguration | Object | No | Apify proxy settings (prefill uses RESIDENTIAL). |
*Provide query or username (or both).
Example inputs
Global search
{"maxItems": 50,"query": "pizza","images": "only","retweets": "exclude","minDate": "2024-05-01","maxDate": "2024-08-31","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
User timeline only
{"maxItems": 100,"username": "elonmusk","replies": "exclude","retweets": "exclude"}
Search within a user's tweets (combined)
{"maxItems": 100,"username": "elonmusk","query": "pizza","images": "only"}
📊 Results (Output Schema)
Each dataset item (tweet) looks like:
{"id": "1819469673169408242","permalink": "https://x.com/elonmusk/status/1819469673169408242","userUrl": "https://x.com/elonmusk","username": "elonmusk","fullname": "Elon Musk","avatar": "https://pbs.twimg.com/profile_images/.../kqqe2iWO_bigger.jpg","verified": "blue","text": "I did all my coding with just Diet Coke, burgers & pizza","html": "I did all my coding with just Diet Coke, burgers & pizza","isRetweet": false,"retweetedBy": "","replyingTo": ["growing_daniel"],"relativeTime": "2 Aug 2024","displayTime": "Aug 2, 2024 · 8:25 PM UTC","createdAt": "2024-08-02T20:25:00Z","images": null,"links": null,"comments": 430,"retweets": 156,"quotes": 59,"likes": 3890}
Field reference:
id, permalink, userUrl, username, fullname, avatar, verified, text, html, isRetweet, retweetedBy, replyingTo[], relativeTime, displayTime, createdAt, images, links, comments, retweets, quotes, likes.
🧭 Common Recipes
- Original tweets only:
replies="exclude",retweets="exclude",quotes="exclude". - Videos only:
videos="only"ornativeVideos="only". - News-only:
news="only". - Verified only:
verified="only". - Geo-biased search: set
near(e.g.,"San Francisco"). - Event window: combine
minDate+maxDate. - Search inside a user: set both
usernameandquery(e.g.,"username":"nasa","query":"mars").
🏎️ Performance & LowCost Tips
- Set a realistic
maxItemsto avoid over-fetching. - Combine
username+queryto cut noise (cheaper & faster). - Use media filters (
images="only",videos="only") to focus on assets.
🌍 Proxy Usage
Default prefill enables Apify RESIDENTIAL proxies to avoid being blocked or rate limited.
⚖️ Legal & Ethical Considerations
- Respect X.com's Terms of Service and robots rules.
- Privacy: Handle personal data responsibly (e.g., GDPR).
- Scope & rate: Avoid abusive request patterns.
- Attribution: When publishing analyses, follow fair-use and platform policies.
❓FAQ
Do I need both query and username?
No. Provide either. If you provide both, the Actor searches the query within that user's tweets.
How do I keep only original tweets?
Set replies="exclude", retweets="exclude", quotes="exclude".
Can I filter by media?
Yes — use images, videos, nativeVideos, or general media with "only" / "exclude".
How do I restrict by date?
Use minDate and/or maxDate in YYYY-MM-DD.
Is this really LowCost? Yes. It's optimized to minimize bandwidth/requests while preserving accuracy — cheaper per result than heavy browser solutions.
🛟 Support
Need a custom field or export? Open an issue or contact me at https://igolaizola.com/#contact I can adapt the scraper to your workflow.
On this page
Share Actor:
