# How to Scrape Twitter Search Results

To scrape Twitter search results, copy the query you ran on X, or the search results page URL, into apidojo's Tweet Scraper V2 on Apify, and export the posts it returns.

[![apidojo](/blog/authors/apidojo.png)**Apidojo** *15+ years of experience in data retrieval.*](/blog/authors/apidojo/)

**7 October 2026** Published

**3 min** Read

![Cover card reading 'How to Scrape Twitter Search Results'](/blog/covers/scrape-search-results.png)

**To scrape Twitter search results, copy the query you ran on X, or the search results page URL, into apidojo’s [Tweet Scraper V2](https://apify.com/apidojo/tweet-scraper) on Apify, and export the posts it returns.** The actor accepts any X advanced search query in `searchTerms` and any search URL in `startUrls`, at $0.40 per 1,000 tweets.

X search has no export button, so this is the direct route from a search you already built to a dataset. Every operator you can use is in the [Twitter advanced search operators](/blog/twitter-search/advanced-search-operators/) reference. Every other collection task is mapped in [how to scrape Twitter (X) data](/blog/twitter-scraping/how-to-scrape-twitter/).

## How Do You Turn an X Search Into a Dataset?

**You turn an X search into a dataset by running the same query through Tweet Scraper V2 and downloading the run’s results.** Listed below are the 5 steps.

1.  **Build** the search on X and check that the results look right; the actor fetches what that search shows (Apify).
2.  **Copy** the query from the search bar, or the full URL from the address bar.
3.  **Paste** the query into `searchTerms`, or the URL into `startUrls`.
4.  **Choose** `sort`: `Latest` for time order, `Top` for engaged posts, `Latest + Top` for the most results.
5.  **Run** the actor and export the dataset as JSON, CSV or Excel.

## Should You Use a Search Query or a Search URL?

**Use `searchTerms` for queries you write or generate, and `startUrls` when you already have X search result URLs to paste.** Both return the same post data; queries are easier to edit and batch (Apify).

```
{
  "searchTerms": ["(crm OR pipeline) -salesforce min_faves:10 lang:en"],
  "sort": "Top",
  "maxItems": 2000
}
```

```
{
  "startUrls": ["https://x.com/search?q=%23buildinpublic%20min_faves%3A50&f=live"],
  "maxItems": 2000
}
```

In a search URL, `f=live` is the Latest tab. If you don’t know the operator syntax, the actor’s **Query Wizard** builds queries from filters such as author, date range and engagement minimums.

## Which Search Filters Can the Actor Apply for You?

**Tweet Scraper V2 has input fields for the most common search filters, so you can apply them without writing operators.** Listed below are the 9 filter inputs (Apify).

| Input | Same as |
| --- | --- |
| tweetLanguage | lang: |
| author | from: |
| inReplyTo | to: |
| mentioning | @username |
| minimumFavorites | min_faves: |
| minimumRetweets | min_retweets: |
| minimumReplies | min_replies: |
| onlyImage, onlyVideo, onlyQuote | filter:images, filter:videos, filter:quote |
| onlyVerifiedUsers | filter:verified |

## What Data Does a Scraped Search Result Contain?

**Each scraped search result contains the post, its engagement counts and its author.** The main fields from the actor’s output example are listed below (Apify).

| Field | Contains |
| --- | --- |
| id, url | The post ID and link |
| text, lang | The post text and detected language |
| createdAt | Post time, for example Fri Nov 24 17:49:36 +0000 2023 |
| likeCount, retweetCount, replyCount, quoteCount, bookmarkCount | Engagement counts |
| isReply, isRetweet, isQuote | Post type |
| author | userName, name, followers, following, isVerified, isBlueVerified |

Saving these results to a file is covered in [how to export tweets to CSV or JSON](/blog/twitter-scraping/export-tweets-csv-json/).

## What Limits Apply to Scraping Search Results?

**Each Tweet Scraper V2 query must return at least 50 tweets, one run can batch up to 5 queries, and only one run can run at a time.** The same query must not be repeated at short intervals (Apify). Small searches go to [Twitter Scraper Unlimited](https://apify.com/apidojo/twitter-scraper-lite), and long periods to [how to scrape tweets by date range](/blog/twitter-scraping/scrape-tweets-by-date/).

## The scrapers behind this

-   [Tweet Scraper V2 Tweets from searches, profiles, Lists and URLs; 49–64 tweets/sec; minimum 50 per query $0.40 / 1K tweets](/scrapers/twitter-scraper/)
-   [Twitter Scraper Unlimited Single tweets, reply threads, X Articles and small queries; no minimum $0.016 / query + $0.40 / 1K](/scrapers/twitter-scraper-lite/)
-   [Twitter User Scraper Profiles, followers, following and retweeters by handle, URL or keyword $0.004 / profile + $0.40 / 1K users](/scrapers/twitter-user-scraper/)

## Questions people ask

### Can you scrape the Top tab of a search?

Yes, set `sort` to `Top`.

### Can you scrape X People search results?

For accounts rather than posts, use [Twitter User Scraper](https://apify.com/apidojo/twitter-user-scraper/input-schema) with its `searchTerms` input.

### Can you scrape a search that returns millions of posts?

Yes, single queries can return more than 100,000 tweets when the data exists; split very large searches into date windows.

### Where do you start?

At [how to scrape Twitter data in 2026](/blog/twitter-scraping/how-to-scrape-twitter/) or the [apidojo Twitter Scraper](/scrapers/twitter-scraper/).

## More on scraping X data

-   [How to Scrape Twitter (X) Data in 2026 What Twitter data you can scrape, the 3 ways to collect it, which apidojo actor fits each task, prices, limits and Python code.](/blog/twitter-scraping/how-to-scrape-twitter/)
-   [How to Scrape Tweets by Keyword (2026 Guide) Scrape tweets by keyword with apidojo's Tweet Scraper V2: query rules, batching, Python code, costs and fixes for low results.](/blog/twitter-scraping/scrape-tweets-by-keyword/)
-   [How to Scrape Tweets by Date Range Scrape tweets between two dates by splitting periods into windows, running them in batches and removing duplicates, with Python code.](/blog/twitter-scraping/scrape-tweets-by-date/)
-   [How to Scrape Tweets From a User Profile Scrape any public profile's tweets with from:username, collect a full history in date windows, and compare two apidojo actors.](/blog/twitter-scraping/scrape-user-tweets/)
-   [How to Scrape a Twitter Thread and All Replies Scrape every reply in a thread with conversation\_id:, keep only the author's thread, filter replies and see what each thread costs.](/blog/twitter-scraping/scrape-thread-replies/)
-   [How to Scrape Images and Videos From Tweets Collect tweets with media, find the media URLs in the output, download images with Python and pick the best video file.](/blog/twitter-scraping/scrape-twitter-media/)
-   [How to Export Tweets to CSV or JSON Export tweets to CSV, Excel, JSON or JSONL: your own archive, any search through a scraper, the columns you get and the API call.](/blog/twitter-scraping/export-tweets-csv-json/)
-   [How to Collect Tweets With Python (2026) A complete Python tweet collector: setup, first run, date parsing, date-window batching, deduplication and CSV export.](/blog/twitter-scraping/scrape-tweets-python/)
-   [How to Collect Tweets With JavaScript and Node.js A complete Node.js tweet collector: setup, first run, safe tweet IDs, date-window batching, deduplication and CSV export.](/blog/twitter-scraping/scrape-tweets-javascript/)
-   [Twitter Scraper Pagination: Cursors and Limits How pagination works in the X API and apidojo's actors, why searches stop early, and how to deduplicate and resume collections.](/blog/twitter-scraping/pagination/)
-   [How to rebuild an X conversation tree from replies Replies arrive as a flat list. Two fields, conversationId and inReplyToId, are what turn that list back into the threaded conversation you saw on X.](/blog/twitter-scraping/x-reply-tree/)
-   [When the X replies endpoint under-returns A thread that looks busy on X can come back thin from a scrape. Here is how to tell a quiet conversation from a short run, and what the second flow fixes.](/blog/twitter-scraping/x-replies-vs-search-flow/)
-   [Reading account age in X reply data Every reply carries the responder's account creation date, follower counts and post history. Here is what those fields can and cannot tell you.](/blog/twitter-scraping/x-replier-account-age/)

![apidojo](/blog/authors/apidojo.png)

## [Apidojo](/blog/authors/apidojo/)

15+ years of experience in data retrieval.

API Dojo is always ready for you. With 15+ years of experience, data acquisition has never been that easy. Cheapest prices with high availability.

-   🏯 15+ years of experience in data retrieval.
-   💰 Cheapest prices, qualified data.
-   ⚙️ High availability, extreme maintenance.
-   🐉 Hyper communicative, excellent support.

-   [apify.com](https://apify.com/apidojo)
-   [x.com](https://x.com/apidojo_)
-   [github.com](https://github.com/apidojo-io)
