What is the Twitter Search Scraper?
The InsightSocial Twitter search scraper is a free Chrome extension that exports the tweets behind any X search to CSV, Excel, JSON or Google Sheets. Search a keyword, an exact phrase, an advanced query or a hashtag on x.com, open the sidebar, and every tweet X loads becomes one row: the text, when it was posted, likes, replies, reposts, quotes, views, bookmarks, media links, and who posted it.
There is no developer account, no API key and no query language to learn. The extension doesn't run its own search. It reads the results X already serves to your logged-in browser tab, so anything X's search box accepts, the scraper can export, including date ranges and the other operators covered below.
One thing to know before you start, because it changes how you run it: X search only loads more results while its tab is on screen. Profiles, lists, your home feed and reply threads keep collecting when you switch to another tab. Search and hashtag pages don't. The sidebar says so under the Start button, and the section on limits below explains why.
Two ways in: keyword search and hashtag pages
The extension recognizes two X pages as search sources. Both use the same Posts scrape type and export the same columns:
| Source | Example URL | What gets collected |
|---|---|---|
| Search | x.com/search?q=standing desk&f=live | The tweets X returns for your query on the tab you picked (Top or Latest) |
| Hashtag | x.com/hashtag/buildinpublic | The tweets X shows for that hashtag |
The sidebar shows the source back to you as Search: standing desk or #buildinpublic, so you can confirm the query before anything runs. The same label is saved on every exported row in the Source Name column, which lets you stack several searches into one sheet and still tell them apart.
Searching by date, account or language
Because the scraper exports whatever X renders, X's own advanced search operators work as filters. Type them into the search box or build them with X's Advanced Search form:
"exact phrase"for an exact matchsince:2026-09-01 until:2026-10-01for a date range, which is how you search Twitter by datefrom:handlefor one account's tweets,to:handlefor replies sent to itlang:ento keep one languagemin_faves:100ormin_retweets:20to skip low-engagement postsfilter:mediafor tweets with images or video, or-filter:repliesto drop replies
Pick Latest for a chronological record of everything matching, or Top for X's ranked selection. Latest is the better choice for monitoring and research datasets because it isn't filtered by X's ranking.
Who is it for?
- Brand and product teams exporting every recent mention of a product name, including misspellings and competitors' names
- Researchers building keyword and hashtag datasets for discourse, sentiment or misinformation studies
- Marketers finding which posts on a topic earned the most views and reposts before planning content
- Analysts tracking how a campaign hashtag spreads over a date range
- Agencies pulling topic and competitor mentions into a weekly client report
- Journalists collecting public reaction to a launch, statement or event in one sheet
How to Use the Twitter Search Scraper
Step 1: Install the Extension
Add InsightSocial from the Chrome Web Store. The icon appears in your toolbar.
Step 2: Run Your Search on X
Log in to X, then search your keyword or advanced query, or open a hashtag page. X only shows search results to signed-in accounts, and the extension reads your own session. It never asks for your password.
Step 3: Open the Sidebar
Click the InsightSocial icon. It detects the Search or Hashtag page and offers the Posts scrape type, listing the fields it will collect: post text, post type, media URLs, likes, reposts, replies, quotes, views, bookmarks, author details, post URL and timestamp.
Step 4: Pick How Many Posts
Choose 50, 100 or 300 posts, or type your own number. For a first run on an unfamiliar query, 100 shows you quickly whether the search returns what you expected.
Step 5: Start Scraping, With the Tab in Front
Click "Start Scraping" and keep the X tab visible. Tweets stream into the sidebar's live preview as each page of results loads. If you switch away, the run waits; switch back and it carries on. It stops when it reaches your number or when X stops returning results.
Step 6: Export
Click "Export" and choose CSV, Excel (.xlsx), JSON, or Google Sheets. Every run also syncs to your private InsightSocial portal, where you can sort by views or likes, search the text, and export again later.
What You Get for Each Tweet
| Column group | Fields |
|---|---|
| The tweet | Post URL, content, posted at (UTC), post type (text, photo or video), post ID |
| Engagement | Likes, replies, reposts, quotes, views, bookmarks |
| Author | Display name, @handle, profile URL, avatar, author ID, verified and blue-verified flags |
| Media | Image URLs, video URLs, first media URL and media type |
| Pulled from the text | Hashtags, @mentions, links, plus any email address or phone number written in the tweet |
| Provenance | Source type (search or hashtag), the query, scraped at, session ID |
Hashtags, mentions and links are split into their own columns, so counting the most-used co-hashtags in a campaign, or the domains people link to on a topic, is a pivot table instead of a text-parsing job.
How It Compares
There are three common ways to get tweets for a keyword into a spreadsheet. They suit different jobs:
| InsightSocial extension | Official X API | Hosted scraping services | |
|---|---|---|---|
| Setup | Install, log in to X, search | Developer account, app keys, code | Vendor account, enter queries in their form or API |
| Query syntax | X's own search box and operators | API query language | Varies by vendor |
| Where it runs | Your own browser tab | Your server or script | The vendor's servers |
| Runs unattended | No, the search tab stays in front | Yes | Yes |
| Sees what | What your logged-in account sees | What your API access allows | What the vendor's accounts see |
| Output | CSV, Excel, JSON, Google Sheets | JSON | Usually JSON or CSV |
If you need tweets streaming into a pipeline overnight, an API or a hosted service fits better. If you need a clean sheet of tweets for a query you can type, from searches you can already see, without writing code, the extension is the shortest path.
Limits Worth Knowing
The search tab has to stay in front. Most InsightSocial sources keep collecting in a background tab by re-requesting the next page of results themselves. X's search timeline refuses that: each request for the next page carries a one-time token that only X's own page can create. So for Search and Hashtag sources the extension scrolls the page like you would, and a hidden tab doesn't scroll. The run pauses rather than fails, and the sidebar tells you up front ("Keep this tab in front while it runs").
X decides how deep a search goes. A search ends when X stops returning results, not at a fixed number. Narrow queries run out quickly. Broad ones on the Latest tab go further. When the results stop, the run finishes with everything collected so far.
Big date ranges work better in slices. For a month of tweets on a busy keyword, run several since:/until: windows instead of one long search. Each window becomes its own session, and Source Name keeps them apart when you combine the exports.
Only what your account can see. Protected accounts' tweets appear only if you follow them. Anything X hides from your search (filtered, removed or blocked content) isn't visible to the scraper either.
Frequently Asked Questions
Is it free?
Scraping is free on every plan. Only exported rows are metered, one credit per row, and exporting a row you have already paid for again is free:
- Free plan: 500 exported rows per month
- Pro Monthly: 10,000 exported rows per month for $9.99/mo
- Pro Yearly: 10,000 exported rows per month for $7.99/mo, billed yearly
One-time credit packs are available if you need more in a particular month.
Do I need an API key?
No. There is no developer app, no bearer token and no rate-limit tier to manage. The extension reads the results x.com loads in your browser.
How many tweets can I export from a search?
Pick 50, 100 or 300, or type a custom number. The practical ceiling is how many results X returns for your query; when X stops serving pages, the run ends with what it has.
Does it work as a Twitter hashtag scraper?
Yes. Open any x.com/hashtag/... page and the sidebar detects it as a Hashtag source with the same columns as a keyword search. To combine a hashtag with other filters, search it instead, for example #buildinpublic lang:en min_faves:20.
Can I export tweets from one account instead of a search?
You can, with from:handle in a search, but the Twitter Posts Scraper is the better route: open the profile and it collects the account's timeline, which keeps going in a background tab and isn't limited by what X's search index returns. The Twitter Profile Scraper covers the same profile page.
Can I get the replies under the tweets I found?
A search export gives you each tweet's reply count. To export the replies themselves, open the tweet and use the Twitter Replies Scraper, which collects the reply thread under one post with each reply's author and engagement.
Going further with the people you found? The Twitter Followers Scraper exports who follows any of them, and the Twitter Analytics Scraper shows how an account's own posts perform over time.