Ultimate X (Twitter) Advanced Search Scraper avatar

Ultimate X (Twitter) Advanced Search Scraper

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Ultimate X (Twitter) Advanced Search Scraper

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

ВAH

Maintained by Community

Actor stats

30

Bookmarked

576

Total users

92

Monthly active users

13 hours

Issues response

8 days ago

Last modified

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. maxItems applies 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) and videoUrls (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

FeatureThis ActorTypical others
Advanced Search filters✅ AllPartial
Sort by Latest and TopOften one only
Auto date-range splitting✅ day / week / month
Fields per tweet42~15–25
Photos and video MP4s✅ BothOften images only
Author metrics (followers, bio, age)Partial
EngineDirect API (fast)Sometimes browser-based
  • 📈 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:

FieldTypeDescription
tweetIdstringUnique tweet ID
tweetUrlstringDirect link to the tweet
createdAtstringTweet timestamp (UTC)
fullTextstringFull tweet text (long posts included, not truncated)
languagestringTweet language code
imageUrlsarrayPhoto URLs
videoUrlsarrayDirect MP4 video URLs (highest bitrate)
hashtagsarrayHashtags used
mentionsarrayMentioned account handles
externalUrlsarrayExpanded (non-t.co) links
cashtagsarrayStock symbols (e.g. NVDA)
replyCount / repostCount / retweetCount / quoteCount / likeCountnumberEngagement counts (repostCount = retweets + quotes)
viewCount / bookmarkCountnumberViews and bookmarks
conversationIdstringThread/conversation ID
isReply / isRetweet / isQuote / isAdbooleanTweet type flags
inReplyToHandle / inReplyToUrl / inReplyToTweetIdstringReply target
quotedTweetUrl / quotedTweetId / quotedText / quotedAuthorHandlestringQuoted tweet details (for quote tweets)
cardTitle / cardDescription / cardDomainstringLink-preview card (for tweets sharing a link)
possiblySensitivebooleanSensitive-content flag
sourcestringPosting client (e.g. Twitter for iPhone)
authorId / authorName / authorHandle / authorUrl / authorWebsitestringAuthor identity and website
authorBio / authorLocationstringAuthor bio and public location
authorFollowers / authorFollowing / authorTweetCount / authorFavouritesCount / authorListedCount / authorMediaCountnumberAuthor metrics
authorCreatedAtstringAuthor account creation date
authorProfileImagestringAuthor avatar URL
isVerified / verifiedTypeboolean / stringVerified status and type (Business/Government)
queryStr / searchUrlstringThe query and search URL used
  1. Click "Try for free" to add this Actor to your Apify account.
  2. 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).
  3. Set the date range and sorting — choose startDate, endDate, splitMode (use day for the most complete results), and sortBy (Latest recommended).
  4. Add optional filters — language, media type, verified-only, exclude replies, engagement thresholds, or a location, and cap maxItems if needed.
  5. 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 like from: here.
  • X search URLs (searchUrls) — paste search URLs from x.com; each is scraped exactly as you built it (only maxItems applies — the fields below do NOT change URLs). A profile URL (x.com/handle) auto-converts to from:handle.
  • Advanced search fieldsAll_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 Latest for complete data. Top returns only the tweets X ranks as most relevant; Latest returns the full chronological timeline.
  • Use splitMode: day for 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 = endDate scrapes a single full day.
  • mediaType is exclusive: images returns photo tweets only and videos returns video tweets only. Use media for either.
  • geoWithin (e.g. 15mi, 10km) only applies when geoNear is 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. maxItems applies 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.