Ultimate X (Twitter) Advanced Search Scraper
Pricing
from $0.40 / 1,000 results
Ultimate X (Twitter) Advanced Search Scraper
🚀 Scrape X (Twitter) Advanced Search without login — filter by keyword, hashtag, user, engagement, media, language & date range, and batch many searches at once. Export 55 fields including media, author stats & more. Fast API, pay per result.
Pricing
from $0.40 / 1,000 results
Rating
4.9
(22)
Developer
ВAH
Maintained by CommunityActor stats
30
Bookmarked
576
Total users
92
Monthly active users
13 hours
Issues response
8 days ago
Last modified
Categories
Share
What does Ultimate X (Twitter) Advanced Search Scraper do?
Ultimate X (Twitter) Advanced Search Scraper extracts tweets from X (Twitter) Advanced Search — no login, no X API keys, no rate-limit headaches. It works as an unofficial X (Twitter) API alternative, turning any advanced-search query into a clean, structured dataset.
Search by keywords, exact phrases, hashtags, accounts, engagement, media type, language, location, and date range, then export up to 42 fields per tweet to JSON, CSV, or Excel. Built on a fast direct-API engine (no browser), it automatically splits long date ranges into day/week/month segments so even year-long scrapes finish reliably and completely.
Why use this X (Twitter) scraper?
- 🔎 Full Advanced Search — every filter from X's Advanced Search page: all/any/none of these words, exact phrase, hashtags, from/to/mentioning accounts, and minimum replies/likes/reposts.
- 🧺 Batch queries — scrape many searches in one run: put one query per line in Search terms, or paste multiple X search URLs.
maxItemsapplies to each query. - 🆕 Latest or Top — choose the complete chronological timeline (
Latest) or only the tweets X ranks highest (Top). - 📅 Reliable long-range scraping — automatic day/week/month date splitting captures full history without gaps.
- 🎬 Rich media — separate
imageUrls(photos) andvideoUrls(direct MP4 links), not just thumbnails. - 👤 Author insights — followers, following, bio, tweet count, account age, verified type, and profile image on every tweet.
- 🧵 Complete text — long-form posts are captured in full (not truncated at 280 characters).
- 🎯 Precise filters — media type, verified-only, exclude replies, language, and geo (near a place within a radius).
- ⚡ Fast & low-cost — direct API means high speed and a low price per 1,000 tweets.
How this scraper compares
| Feature | This Actor | Typical others |
|---|---|---|
| Advanced Search filters | ✅ All | Partial |
| Sort by Latest and Top | ✅ | Often one only |
| Auto date-range splitting | ✅ day / week / month | ✗ |
| Fields per tweet | 42 | ~15–25 |
| Photos and video MP4s | ✅ Both | Often images only |
| Author metrics (followers, bio, age) | ✅ | Partial |
| Engine | Direct API (fast) | Sometimes browser-based |
Popular use cases
- 📈 Market & sentiment analysis — track conversations around a brand, product, or topic.
- 📊 Competitor monitoring — watch competitors' posts, replies, and engagement over time.
- 📰 News & trend tracking — follow breaking events with precise date and language filters.
- 🧑🔬 Academic research — collect reproducible datasets on public discourse.
- ❤️ Brand monitoring & lead research — find mentions (even without @) and high-engagement authors.
What data can you extract?
Each tweet is returned with the following fields:
| Field | Type | Description |
|---|---|---|
tweetId | string | Unique tweet ID |
tweetUrl | string | Direct link to the tweet |
createdAt | string | Tweet timestamp (UTC) |
fullText | string | Full tweet text (long posts included, not truncated) |
language | string | Tweet language code |
imageUrls | array | Photo URLs |
videoUrls | array | Direct MP4 video URLs (highest bitrate) |
hashtags | array | Hashtags used |
mentions | array | Mentioned account handles |
externalUrls | array | Expanded (non-t.co) links |
cashtags | array | Stock symbols (e.g. NVDA) |
replyCount / repostCount / retweetCount / quoteCount / likeCount | number | Engagement counts (repostCount = retweets + quotes) |
viewCount / bookmarkCount | number | Views and bookmarks |
conversationId | string | Thread/conversation ID |
isReply / isRetweet / isQuote / isAd | boolean | Tweet type flags |
inReplyToHandle / inReplyToUrl / inReplyToTweetId | string | Reply target |
quotedTweetUrl / quotedTweetId / quotedText / quotedAuthorHandle | string | Quoted tweet details (for quote tweets) |
cardTitle / cardDescription / cardDomain | string | Link-preview card (for tweets sharing a link) |
possiblySensitive | boolean | Sensitive-content flag |
source | string | Posting client (e.g. Twitter for iPhone) |
authorId / authorName / authorHandle / authorUrl / authorWebsite | string | Author identity and website |
authorBio / authorLocation | string | Author bio and public location |
authorFollowers / authorFollowing / authorTweetCount / authorFavouritesCount / authorListedCount / authorMediaCount | number | Author metrics |
authorCreatedAt | string | Author account creation date |
authorProfileImage | string | Author avatar URL |
isVerified / verifiedType | boolean / string | Verified status and type (Business/Government) |
queryStr / searchUrl | string | The query and search URL used |
How to scrape X (Twitter) advanced search
- Click "Try for free" to add this Actor to your Apify account.
- Choose how to search (use any one, or mix them) — (a) type plain keywords in Search terms (one per line, each combined with the Advanced fields below); (b) paste X search URLs (scraped exactly as-is); or (c) leave both empty and fill the Advanced search fields (= the classic X Advanced Search).
- Set the date range and sorting — choose
startDate,endDate,splitMode(usedayfor the most complete results), andsortBy(Latestrecommended). - Add optional filters — language, media type, verified-only, exclude replies, engagement thresholds, or a location, and cap
maxItemsif needed. - Click "Start", then download your data as JSON, CSV, Excel, XML, or HTML from the Storage tab.
How much does it cost?
This Actor uses a pay-per-result model — you are charged per tweet in the dataset, plus a tiny per-run start fee. Because it runs on a direct API engine (no headless browser), compute cost is very low, which keeps the price per 1,000 tweets low and lets a free run return meaningful data. Pricing tiers are shown on the Actor's page; higher-volume plans get automatic discounts. See the Pricing section on the Actor page for the current per-1,000-tweets price.
Input
Configure from the visual Input tab, or provide JSON. There are three ways to tell the Actor what to search — use any one, or mix them (each runs as a separate search):
- Search terms (
searchTerms) — one plain keyword/phrase per line. Each is combined with the Advanced search fields below, so you don't need operators likefrom:here. - X search URLs (
searchUrls) — paste search URLs from x.com; each is scraped exactly as you built it (onlymaxItemsapplies — the fields below do NOT change URLs). A profile URL (x.com/handle) auto-converts tofrom:handle. - Advanced search fields —
All_of_these_words,This_exact_phrase,Any_of_these_words,None_of_these_words,These_hashtags,From_these_accounts,To_these_accounts,Mentioning_these_accounts,Minimum_replies/Minimum_likes/Minimum_reposts. These refine each Search term; with no Search terms or URLs, they run as one search (= X Advanced Search).
Applied to Search terms & the Advanced search (not to URLs): date range (startDate, endDate, splitMode), sortBy, language, mediaType, onlyVerified, excludeReplies, geoNear / geoWithin. maxItems applies to each search. The run log prints every search's final query and which mode it used, so you can always see exactly what ran.
See the Input tab for the full description, defaults, and examples of each field.
Output
Each dataset item is one tweet. Example (fields that are sometimes empty are annotated):
{"tweetId": "2073553222287974765","tweetUrl": "https://x.com/JoeyZNJ/status/2073553222287974765","createdAt": "2026-07-04 23:43:07+00:00","fullText": "ICUMI\nSpaceX buys AI coding startup Cursor for $60 billion ... #Bloomberg @dagenmcdowell https://t.co/eQg4sWK58s","language": "en","imageUrls": [], // photo URLs; empty when no photos"videoUrls": [], // MP4 URLs (highest bitrate); empty when no video"hashtags": ["Bloomberg"],"mentions": ["dagenmcdowell", "Varneyco", "CNBC", "FoxBusiness"],"externalUrls": ["https://apnews.com/article/spacex-cursor-acquisition-..."], // expanded (non-t.co) links"cashtags": [], // e.g. ["NVDA"] stock symbols"replyCount": 0,"repostCount": 0, // retweetCount + quoteCount"retweetCount": 0,"quoteCount": 0,"likeCount": 0,"viewCount": 25,"bookmarkCount": 0,"conversationId": "2073553222287974765","isAd": false,"isReply": false,"isRetweet": false,"isQuote": false,"inReplyToHandle": "", // the inReplyTo* fields are set when isReply is true"inReplyToUsername": "","inReplyToUrl": "","inReplyToTweetId": "","quotedTweetUrl": "", // the quoted* fields are set when isQuote is true"quotedTweetId": "","quotedText": "","quotedAuthorHandle": "","cardTitle": "SpaceX buys AI coding startup Cursor for $60 billion ...", // link-preview card, when the tweet shares a link"cardDescription": "SpaceX will move forward with its $60 billion acquisition of ...","cardDomain": "apnews.com","possiblySensitive": false,"source": "Twitter Web App","authorId": "64431830","authorName": "JoeyZee","authorHandle": "JoeyZNJ","authorUrl": "https://x.com/JoeyZNJ","authorWebsite": "", // author's profile website, when set"authorBio": "NEWS AND OPINION","authorLocation": "USA", // author's public profile location, when set"authorFollowers": 1554,"authorFollowing": 1666,"authorTweetCount": 61263,"authorFavouritesCount": 5533,"authorListedCount": 4,"authorMediaCount": 2015,"authorCreatedAt": "Mon Aug 10 15:38:43 +0000 2009","authorProfileImage": "https://pbs.twimg.com/profile_images/2036217113468153856/EcdUuoD2_normal.jpg","isVerified": true,"verifiedType": "", // "Business" / "Government" / "" for standard verified"queryStr": "openai","searchUrl": "https://x.com/search?q=openai lang:en until:2026-07-05 since:2026-07-04&src=typed_query"}
Tips
- Use
Latestfor complete data.Topreturns only the tweets X ranks as most relevant;Latestreturns the full chronological timeline. - Use
splitMode: dayfor maximum completeness on busy queries — X caps how many tweets a single search window returns, so smaller windows capture more. - Both dates are inclusive, so
startDate=endDatescrapes a single full day. mediaTypeis exclusive:imagesreturns photo tweets only andvideosreturns video tweets only. Usemediafor either.geoWithin(e.g.15mi,10km) only applies whengeoNearis set. Geo results depend on tweets carrying location data, so volume can be low.- Batch mode: put many queries in Search terms (one per line — use Bulk edit) or paste several X search URLs to scrape them all in one run.
maxItemsapplies to each query separately. - Schedule recurring runs or connect to Make, Zapier, Google Sheets, and more via the Apify integrations.
FAQ and support
Do I need an X (Twitter) account or API key? No. The Actor handles access for you — just enter your search.
Why did a run return fewer tweets than expected? X limits results per search window. Use splitMode: day and a narrower date range to capture more, and prefer sortBy: Latest.
Can it scrape a specific user's tweets? Yes — put the handle in From_these_accounts, or use the dedicated Advanced X (Twitter) Profile Scraper for a full profile timeline.
Is scraping X (Twitter) legal? This Actor extracts only publicly available data. Our Actors are ethical and do not extract private user data such as email addresses, gender, or location beyond what a user has chosen to share publicly. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Need a custom field or filter? Reach out via Apify support or leave feedback on the Actor's page — we respond quickly.
Related Actors
- Advanced X (Twitter) Profile Scraper — scrape a user's entire tweet history, not just recent posts.