X (Twitter) Scraper Unlimited โ No Limits
Pricing
from $2.00 / 1,000 results
X (Twitter) Scraper Unlimited โ No Limits
Scrape X (Twitter) posts, profiles, articles and threads with no login or cookies. Get text, likes, views, author, media and profile analytics from links, handles or search terms. Bulk input, advanced filters, auto proxy fallback. Export JSON, CSV or Excel for social listening.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
X (Twitter) Scraper Unlimited โ No Limits is an Apify Actor and Twitter scraper that extracts posts, profiles, X Articles, threads and profile analytics from X links, handles, search terms and post ids. No login, cookies or API key needed. Export JSON, CSV or Excel for lead generation, monitoring and research, from $0.002 per result on the Gold plan ($0.003 on the Free plan). ๐ Try it free
What can this Twitter scraper do?
- โ Bulk input in one run - a Twitter bulk scraper for profile links, post links, article links, search links, handles, search terms and post ids.
- ๐ Search with advanced operators - Twitter search by keyword with from:, to:, lang:, since:, until:, min_faves:, min_retweets:, min_replies: and filter: phrases.
- ๐ค Profile rows and account search - bios, follower counts and contact data from the bio, plus finding accounts by topic.
- ๐ Engagement and analytics - the Twitter engagement rate per post and an optional analytics row per profile.
- ๐ A Twitter API alternative - no key, login or cookies, and pay per result.
- ๐งต Threads, articles and reply chains - full X Article text, thread position and the reply chain above a post.
- ๐งฐ Filters before you pay - date range, language, minimum likes, reposts, replies and views, verified authors, media and quote posts.
- ๐ Export and integrations - JSON, CSV, Excel, API, schedules and webhooks through Apify.
Scrape tweets by keyword or hashtag. It works as a Twitter keyword scraper and a Twitter hashtag scraper. Use it as a Twitter crawler or Twitter extractor. It covers Twitter data collection and Twitter data extraction. Profile rows make it a Twitter user scraper. You can scrape Twitter data and scrape X data the same way. It is also a Twitter scraping tool for Twitter trend analysis.
What data can I extract from X?
The scraper reads public data from X. Each profile row has the Twitter followers count. It also has Twitter bio email data when the bio shows one. You can find Twitter verified accounts with a filter. Rows come in four types: tweet (a post), user (a profile), profileStats (analytics for one profile) and error (an input that gave no result).
| Field | Description |
|---|---|
๐ท type | Row type: tweet, user, profileStats or error. |
๐ url, twitterUrl | Link to the post or profile on x.com and on twitter.com. |
๐ text | Full text of the post, long posts included. |
๐ createdAt, createdAtIso | Creation time in X's date format and as an ISO 8601 UTC string. |
โค likeCount, retweetCount, replyCount, quoteCount, bookmarkCount, viewCount | Counts for likes, reposts, replies, quote posts, bookmarks and views. |
๐ engagement, engagementRate, engagementRateByViews | Likes + reposts + replies + quotes, as a number and as a percentage of followers and of views. |
๐ค author | The account that wrote the post: user name, name, verification, followers, following and, when available, bio, location, website and creation date. |
๐ผ media, mediaUrls | Photos, videos and GIFs with details, and direct links to original-size photos and the best video quality. |
๐ hashtags, mentions, urls, domains | Hashtags, mentioned accounts, links in the post and the domains of those links. |
โป isRetweet, isQuote, retweeted, quote, quoteId | Whether the post is a repost or quote, and the original or quoted post. |
๐งต conversationId, threadId, threadPosition, threadLength, isReply, inReplyToId, inReplyToUserName, isPinned, thread | Conversation and thread details, reply links, pinned flag and the posts above a reply. |
๐ฐ article | X Article attached to the post: id, title, preview, cover image, dates, plain text and content blocks. |
๐ lang, source, place, card, isLongPost, possiblySensitive, isEdited, editTweetIds, hasAiGeneratedMedia | Language, sending app (reposts only), place, link card or poll, and post flags. |
๐งญ matchedSearchTerm, discoveredVia, dataQuality | Which search term found the row, a short source label, and a reason when a row has fewer details than usual. |
๐ userName, name, id, isVerified, isBlueVerified, verifiedType, followers, following, tweetsCount, isProtected | Profile rows: handle, display name, account id, verification and counts. |
๐ description, location, website, profilePicture, profileBanner, createdAt, birthdate | Profile rows: bio, location, website, images, creation date and public birthdate when shared. |
โ bioEmails, bioLinks, bioMentions, bioHashtags | Email addresses, links, handles and hashtags written in the bio. |
๐ข mediaCount, likesGiven, affiliatesCount, highlightedPostsCount, subscribersCount | Extra profile counts, present when available. |
๐ postsAnalyzed, originalPosts, retweets, replies, quotes, withMedia, withLinks, from, to, postsPerWeek | Analytics rows: what was analysed and the posting pace. |
๐ likes, retweetCounts, replyCounts, views, avgEngagementRate, topHashtags, topMentions, topDomains, postsByWeekdayUtc, bestHourUtc, sources, topPosts, threads | Analytics rows: average, median, maximum and total counts, top hashtags, mentions and domains, best posting hour and the three top posts. |
โ input, error | Error rows: the input that gave no result and why. |
Only public data is collected. Protected accounts, private messages and posts that need an account to view are not available. As a Twitter media scraper it returns links in mediaUrls for Twitter media download. The thread columns describe each Twitter conversation thread.
What can you do with the data from X?
๐ฏ Twitter lead generation
- Put topic phrases such as
web3 founderintoprofileSearchTermsand setoutputModetoprofiles. - Narrow the list with
minFollowers,profileBioContainsandprofileLocationContains. - Export the
bioEmails,bioLinksandwebsitecolumns to CSV.
๐ฃ Twitter brand monitoring
- Add your brand as a
searchTermsentry, for example"your brand" -filter:retweets. Twitter hashtag tracking works the same way with #tags. - For Twitter monitoring of new posts, save the last post id of the previous run in
sinceIdso each run returns only newer posts. - Schedule the run and send the dataset to your tools with a webhook.
๐ฌ Twitter sentiment analysis and research dataset
- Choose
searchTermsortwitterHandles, settweetLanguageand collect Twitter posts by date range withstartandend. - Keep
includeAuthorProfileon to get author details in every row. - Export
text,createdAtIsoand the engagement columns, or scrape tweets to CSV for your analysis.
๐ Twitter competitor analysis and influencer research
- Add competitor handles to
twitterHandlesand turn onincludeProfileStats. - Compare
postsPerWeek,avgEngagementRate,topHashtagsandbestHourUtcin the analytics table.
How do I use this Twitter scraper?
Run this Twitter scraper online in the Apify Console.
- Open X (Twitter) Scraper Unlimited โ No Limits on Apify and click Try for free.
- Add links, handles, search terms or post ids in the What to scrape section.
- Set Maximum rows and choose What to output: posts, profiles or both.
- Add optional dates, language and post or account filters.
- Click Start and watch rows appear in the Output tab while the run is in progress.
- Open the Dataset tab and export as JSON, CSV or Excel, or fetch the results through the API.
How much does it cost to scrape X?
The Actor uses pay-per-event pricing, so it is a Twitter scraper with pay per result billing. You pay for each result saved: a post, a profile or a profile analytics row. Error rows are never billed. Platform usage is billed in addition.
| Plan | Price per result | Per 1,000 results |
|---|---|---|
| ๐ Free | $0.003 | $3.00 |
| ๐ฅ Bronze | $0.0027 | $2.70 |
| ๐ฅ Silver | $0.0024 | $2.40 |
| ๐ฅ Gold | $0.002 | $2.00 |
A start event of $0.00005 is charged per GB of memory, with a minimum of one event. The default memory is 1024 MB (1 GB), so one start event costs $0.00005.
Worked example: 500 results on the Bronze plan cost 500 ร $0.0027 = $1.35, plus the $0.00005 start event, which makes $1.35005 plus platform usage.
You can set a maximum cost per run. When that spend limit is reached, the run stops cleanly and keeps the rows already saved.
Is scraping X free?
Not entirely. Every saved result is charged at the price of your Apify plan, starting at $0.003 per result on the Free plan, and platform usage is billed in addition. Error rows cost nothing, and a maximum cost per run lets you cap what a single run can spend.
How much does X (Twitter) Scraper cost per 1,000 results?
1,000 results cost $3.00 on the Free plan, $2.70 on Bronze, $2.40 on Silver and $2.00 on Gold, plus the $0.00005 start event and platform usage. Higher plans pay less per result, so the per-1,000 price falls as your plan grows.
Input
Provide at least one link, handle, search term, account search or post id. You can mix all of them in the same run, and searchTerms accepts Twitter advanced search operators. No field is required on its own, and the Console form fills in sensible defaults.
| Field | Type | Required | Description | Default / example |
|---|---|---|---|---|
urls | array | No | Post, article, profile or search links, one per line. A profile link collects that account's latest posts. Handles such as @NASA and plain post ids also work. | https://x.com/NASA |
twitterHandles | array | No | Profile handles with or without the @. | NASA |
searchTerms | array | No | Keywords or advanced-search phrases. Supported operators: from: to: lang: since: until: min_faves: min_retweets: min_replies: and filter: values (media, images, videos, links, verified, replies, retweets, quote, hashtags, mentions), quoted phrases, -exclusions, OR, #tags and @mentions. Matches cover the posts reachable without an account, not every post on X. | from:NASA filter:media min_faves:100 |
profileSearchTerms | array | No | Find accounts instead of posts. Each account must mention the words in its name, handle, bio or location. | web3 founder |
tweetIds | array | No | Plain post ids to read directly. | 1728108619189874825 |
conversationIds | array | No | Conversation ids. Only the first post of the conversation is returned; replies are not available. | |
maxItems | integer | No | Maximum rows (posts and profiles) saved in total. 0 means no row cap. | Default 10 |
outputMode | string | No | tweets (posts), profiles or both. | Default tweets |
sort | string | No | Latest, Top or Latest + Top (behaves like Latest). Latest keeps each batch newest first; Top orders each batch by likes and reposts. | Default Latest |
timelineKind | string | No | Profile tab to read: posts or highlights. | Default posts |
maxItemsPerSource | integer | No | Maximum posts per profile, link or search term. 0 shares the total of maxItems across all inputs. | Default 0 |
start | string | No | Keep posts on or after this date (YYYY-MM-DD). | 2026-09-01 |
end | string | No | Keep posts before this date (YYYY-MM-DD, this day excluded). | 2026-10-01 |
sinceId | string | No | Keep only posts with an id above this post id, for monitoring. | 1728108619189874825 |
tweetLanguage | string | No | Keep posts in this language. Leave empty for all languages. | en |
minimumFavorites | integer | No | Minimum likes, the Twitter min faves filter. | 100 |
minimumRetweets | integer | No | Minimum reposts. | |
minimumReplies | integer | No | Minimum replies. | |
minimumViews | integer | No | Minimum views. | |
onlyVerifiedUsers | boolean | No | Only posts from verified accounts. | Default false |
onlyTwitterBlue | boolean | No | Only posts from authors with a Blue subscription. | Default false |
onlyImage | boolean | No | Only posts with images. | Default false |
onlyVideo | boolean | No | Only posts with video. | Default false |
onlyQuote | boolean | No | Only quote posts. | Default false |
excludeRetweets | boolean | No | Leave out reposts. | Default false |
excludeReplies | boolean | No | Leave out replies. | Default false |
author | string | No | Added to every search term as a from: filter, or run as its own search. Links and handles are not filtered by it. | NASA |
inReplyTo | string | No | Added to every search term as a to: filter, or run as its own search. | NASA |
mentioning | string | No | Added to every search term as an @ mention filter, or run as its own search. | NASA |
minFollowers | integer | No | Keep accounts with at least this many followers (profile rows and account search). | 1000 |
maxFollowers | integer | No | Keep accounts with at most this many followers. | |
profileBioContains | array | No | Keep accounts whose bio contains at least one of these words. | founder |
profileLocationContains | array | No | Keep accounts whose location contains at least one of these words. | London |
onlyVerifiedProfiles | boolean | No | Only verified accounts. | Default false |
profileMatch | string | No | How strictly an account found by topic must match: all words, any word or off. | Default all |
includeAuthorProfile | boolean | No | Add the author's bio, location, website and creation date to every post. | Default true |
includeArticles | boolean | No | Add the full text of X Articles when a post contains one. | Default true |
includeThreadAncestors | boolean | No | For replies, add the chain of posts above them (up to 10). | Default false |
includeSearchTerms | boolean | No | Add matchedSearchTerm to each post. | Default false |
includeProfileStats | boolean | No | Add one analytics row per profile, based on the posts collected. | Default false |
includeErrorRows | boolean | No | Add a row that explains why an input gave no result. Never billed. | Default true |
outputFields | array | No | Limit post rows to these fields, for example text, likeCount, author. Empty means all fields. | |
proxyConfiguration | object | No | Optional network setting. Leave the default unless you need requests to leave from a specific network or country. | Default {"useApifyProxy": false} |
Example input:
{"urls": ["https://x.com/NASA"],"searchTerms": ["from:NASA filter:media min_faves:100"],"maxItems": 50,"outputMode": "tweets","sort": "Latest","start": "2026-09-01","tweetLanguage": "en","includeAuthorProfile": true}
Output
Results are saved to the Apify Dataset as soon as each row is ready. The Dataset tab has separate tables for posts, engagement, authors, media and links, reposts and quotes, articles, threads and replies, source and quality, profiles, profile analytics and errors. A run summary is saved to the key-value store under the key SUMMARY. Export JSON, CSV, Excel, XML or HTML from the Console or through the API.
A post row (trimmed):
{"type": "tweet","id": "1000000000000000001","url": "https://x.com/example/status/1000000000000000001","twitterUrl": "https://twitter.com/example/status/1000000000000000001","text": "Example post text","retweetCount": 12,"replyCount": 3,"likeCount": 120,"quoteCount": 2,"createdAt": "Mon Sep 01 10:00:00 +0000 2026","lang": "en","isReply": false,"author": {"type": "user","userName": "example","url": "https://x.com/example","name": "Example Account","isVerified": false,"isBlueVerified": true,"followers": 5000,"following": 100,"website": "https://example.com"},"isRetweet": false,"isQuote": false,"viewCount": 4500,"createdAtIso": "2026-09-01T10:00:00.000Z","conversationId": "1000000000000000001","hashtags": ["example"],"mentions": [],"urls": [],"media": [],"engagement": 137,"engagementRate": 2.74,"mediaUrls": [],"domains": []}
A profile row (trimmed):
{"type": "user","userName": "example","url": "https://x.com/example","twitterUrl": "https://twitter.com/example","id": "1000000001","name": "Example Account","isVerified": false,"isBlueVerified": true,"followers": 5000,"following": 100,"description": "Example bio, contact hello@example.com","location": "Example City","website": "https://example.com","createdAt": "Tue Jan 01 00:00:00 +0000 2019","tweetsCount": 2500,"bioEmails": ["hello@example.com"],"bioLinks": ["https://example.com"],"bioMentions": [],"bioHashtags": []}
A profile analytics row (trimmed):
{"type": "profileStats","userName": "example","followers": 5000,"postsAnalyzed": 100,"originalPosts": 60,"retweets": 40,"replies": 3,"quotes": 2,"withMedia": 30,"withLinks": 25,"from": "2026-08-01T10:00:00.000Z","to": "2026-09-01T10:00:00.000Z","postsPerWeek": 22.5,"likes": {"avg": 120.5, "median": 90, "max": 900, "total": 7230},"avgEngagementRate": 2.1,"topHashtags": [{"tag": "example", "count": 5}],"bestHourUtc": 14,"topPosts": [{"id": "1000000000000000001", "url": "https://x.com/example/status/1000000000000000001", "engagement": 137}],"threads": 2}
An error row:
{"type": "error","input": "@example","error": "no tweets found"}
Notes and limitations
- Only public data is collected. Protected accounts, deleted posts and posts that need an account are not returned.
- Keyword and operator searches are matched on posts reachable without an account, so they do not cover every post on X.
- Follower and following lists are not collected, only the counts.
- Lists, geo and place search are not supported. For a conversation id only the first post is returned, not its replies.
- For some large accounts only a selection of popular posts is available, so rows may not be newest first.
- Older history is only partly reachable, and each profile has a page limit per run.
- Fields can be empty or missing when X does not show them. Rows with fewer details are marked in
dataQuality. - When the site limits requests for an account, wait a few minutes and run again.
FAQ
Is it legal to scrape Twitter with a Twitter scraper?
This Actor collects only public data that any visitor can see, but legality depends on your country, your purpose and how you use the data. Personal data can fall under GDPR or CCPA, and X's terms may apply. Read Is web scraping legal? and note this is not legal advice.
How to scrape Twitter without an API key, login or cookies?
Add links, handles, search terms or post ids and start the run; no key, login or cookies are needed. It reads only what is visible without an account, so protected accounts, private messages and login-only content are not available. That is how to scrape Twitter without API access.
How many results can I get per run?
You decide with maxItems, and 0 means no row cap. maxItemsPerSource limits posts per profile, link or search term. A run also ends when your maximum cost per run is reached, and what you receive depends on how much public data the site shows for each input.
Can I export tweets to CSV or Excel?
Yes. Every run saves rows to an Apify Dataset. Open the Dataset tab and download JSON, CSV, Excel, XML or HTML, or fetch the data through the API. Use outputFields to keep only the columns you need, such as text, likeCount and author, so a spreadsheet stays easy to read.
Can I schedule runs, use webhooks or integrations?
Yes. Apify lets you schedule this Actor to run hourly, daily or weekly, trigger webhooks when a run finishes, and connect the dataset to tools such as Make, n8n or Zapier. For monitoring, set sinceId to the last post id from your previous run so each scheduled run returns only newer posts.
Can I use this Twitter scraper through the API, Python or MCP?
Yes. For a Twitter scraper Python workflow, start runs and read datasets through the Apify API clients, or call the Actor from MCP-compatible tools. The API tab of this Actor lists the endpoints, and the Apify API documentation explains authentication, runs and datasets in detail.
Why am I getting fewer results than expected?
Common reasons: maxItems or your spend limit was reached, your filters removed posts, the account has few public posts, or older posts are only partly reachable. Check the run log for the filtered-out summary, relax a filter such as minimumFavorites, and use the Errors table for inputs that returned nothing.
Twitter scraper not working?
First check the run log and the Errors table for the reason. If the site limited requests, wait a few minutes and run again. If the problem stays, open an issue in the Issues tab of this Actor with your input and run link, and we will look into it.
Related Actors
| Actor | Use it to |
|---|---|
| ๐ธ Instagram Scraper | Scrape public Instagram profiles, posts, reels, comments, hashtags and places with no login or cookies. |
| ๐ฝ Reddit Scraper - Posts, Comments, Search & Subreddits | Collect posts, comments, communities and user profiles from public Reddit pages without a login or API key. |
Support and disclaimer
Found a bug or need a feature? Open an issue in the Issues tab. For custom solutions, integrations or questions, write to hello.dataminds@gmail.com. X (Twitter) Scraper Unlimited โ No Limits is independent and not affiliated with X Corp.; X and Twitter are trademarks of their owners. It collects publicly available data only, and you are responsible for complying with applicable laws and the site's terms.
Last updated: 2026-10-18