X (Twitter) Profiles & Tweets Scraper
Pricing
from $8.00 / 1,000 results
X (Twitter) Profiles & Tweets Scraper
Extract public X (Twitter) tweets by tweet ID: text, author, likes, replies, media and timestamps.
Pricing
from $8.00 / 1,000 results
Rating
0.0
(0)
Developer
Michael Flores
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Share
X (Twitter) Scraper
Extract public X (Twitter) user profiles, account timelines and individual tweets — author, bio, website, followers, likes, retweets, replies, quotes, bookmarks, views, longform note text, quoted tweets, hashtags and media — no login required.
| 3 modes profiles · timelines · tweets | Public X data no login | JSON / CSV / Excel output formats | Updated 2026-06-23 |
What it does
Pick a mode, then provide the matching input:
| Mode | Input | What you get |
|---|---|---|
| User Tweets | handles[], tweetsLimit | A public account's recent posts (paginated), with full engagement metrics |
| User Profile | handles[] | Profile details: bio, followers, following, location, join date, avatar, banner |
| Tweet by ID/URL | tweetIds[] | Specific tweets looked up by numeric ID or status URL |
| Keyword Search | searchQuery | ⚠️ Not available — X requires a logged-in account for search (see FAQ). Returns a clear error, never fake data. |
It reads X's public web GraphQL API using a guest token (the same logged-out path the website uses for profile and timeline views). No account, password or developer API key is involved — only public data.
Output
Tweet record (User Tweets and Tweet modes):
- id — numeric tweet ID
- url — canonical link on x.com
- text — full tweet text (uses the longform note-tweet body when present, so posts over 280 characters are not truncated)
- author —
{ handle, name, verified, followers } - createdAt — when the tweet was posted
- conversationId — ID of the thread the tweet belongs to (group replies into conversations)
- likeCount, retweetCount, replyCount, quoteCount, bookmarkCount, viewCount — engagement metrics straight from X (
nullif X doesn't expose one) - lang — detected language code
- noteTweet — full longform body for posts over 280 characters (
nullfor normal-length tweets) - media — array, each with
type, imageurl, best-qualityvideoUrl,width,height,expandedUrl - entities —
{ hashtags, mentions, urls }parsed from the tweet (nullwhen the tweet has none) - quotedTweet — the quoted post as
{ id, text, author }when the tweet quotes another (nullotherwise) - observedAt — when the scraper saw this record
- error — set only when a tweet/account is deleted, protected, suspended or unavailable
Profile record (User Profile mode):
- handle, name, bio
- website — the link in the profile's bio, resolved to its real destination (
nullwhen none) - followers, following, tweetsCount, mediaCount, listedCount
- verified, location, joinedAt
- pinnedTweetId — ID of the tweet pinned to the profile (
nullwhen none) - avatar, banner, url, id
- observedAt
Missing values are null — the scraper never invents data.
Proxy
This actor requires the Apify RESIDENTIAL proxy (United States), used by default. X rate-limits (HTTP 429/403) every datacenter IP on these endpoints, so residential is mandatory. Residential traffic is metered per GB on your Apify plan. The actor mints a fresh guest token per residential session and rotates the session automatically on 403/429.
Who is it for
| Use case | Who benefits |
|---|---|
| Monitoring a brand or competitor's posts | Marketing and social teams |
| Pulling a public account's timeline into a dashboard | Analysts and data teams |
| Capturing profile stats (followers, bio) over time | Growth and research teams |
| Archiving specific tweets before deletion | Journalists and researchers |
| Building datasets of public statements | Academics and OSINT analysts |
Frequently Asked Questions
Can it search X by keyword?
No. X disabled search for logged-out users — its SearchTimeline GraphQL operation returns HTTP 404 for guest tokens, and the old 1.1/2 search endpoints have been removed. Because the actor uses public, no-login access only, keyword search is not available. The Search mode exists in the input for clarity but returns an explicit SEARCH_NOT_AVAILABLE error rather than empty or fabricated results. To collect posts about a topic, pull the timelines of the relevant accounts via User Tweets.
Do I need to log in or supply a token? No. It uses X's public logged-out guest-token path — the same one the website uses to render profiles and timelines for visitors who aren't signed in. It only ever sees public data.
Why is the residential proxy required? X hard-blocks datacenter IPs (instant 429/403) on these endpoints. Residential US IPs are needed to mint a working guest token and read data. Residential is metered per GB.
What happens for a deleted, suspended or protected account/tweet?
You still get a record with the error field explaining it's unavailable, so a gap is a usable signal rather than a silent miss.
Which engagement numbers are included?
Likes, retweets, replies, quotes, bookmarks and views all come straight from X's GraphQL response. Any metric X doesn't expose for a given tweet is left null.
Does it capture full text for long posts and quoted tweets?
Yes. For posts over 280 characters the actor reads X's longform note-tweet body, so text and noteTweet carry the complete untruncated content. When a post quotes another tweet, the quoted post is included as quotedTweet with its id, text and author.
Related scrapers
Need data from the same space? Here are other scrapers we build and maintain:
- Instagram Profile & Posts Scraper: Extract public Instagram profiles and recent posts by username without login.
- YouTube Scraper: Scrape YouTube videos and channels by search query, video URL or channel URL.
- Reddit Posts & Comments Scraper: Extract Reddit posts and comments from subreddits and search results using the public Reddit feeds.
- TikTok Creative Center Top Ads Scraper: Scrape top-performing TikTok ads from the public Creative Center by country, time period and...
- App Store Reviews Scraper: Extract Apple App Store reviews and ratings for any app by id, URL or search term.
- Google Play App Details Scraper: Extract app listings and details from the Google Play Store by search, app IDs, developer or...
More scrapers at scrapers.lat
This actor is built and maintained by scrapers.lat, where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at scrapers.lat.
This actor is an independent tool with no affiliation with X Corp. or Twitter. It accesses only data that is publicly available and login-free, and never private or login-gated data. Use it in accordance with X's terms of service and applicable data-protection law, including the GDPR. Process personal data lawfully and only for legitimate purposes.