Twitter Tweets Scraper - Account Timelines
Pricing
from $1.08 / 1,000 results
Twitter Tweets Scraper - Account Timelines
Export the tweets of any public Twitter (X) account, newest first. Add several handles, include or skip replies, and cap the total. Every row has the text, time, likes, reposts, replies, views, media and any quoted or reposted tweet.
Pricing
from $1.08 / 1,000 results
Rating
0.0
(0)
Developer
ToolzerHub
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Twitter Tweets Scraper — Account Timelines
Export the tweets of any public Twitter (X) account, newest first. Add several handles, include or skip the replies an account wrote, and set a cap. Every row has the text, time, counters, media and — for a repost or quote — the original tweet.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
handles | list of text | — | Required. Handles, with or without the @, or profile links, mixed freely. |
includeReplies | boolean | false | Also saves the replies the account wrote. They arrive in time order with its own tweets. |
maxItems | integer | 100 | Caps the whole run, across every handle. 0 means no limit. |
{"handles": ["elonmusk"],"includeReplies": false,"maxItems": 100}
Handles run in the order you list them. If maxItems is 100 and the first account has more than that, the rest are never reached — raise the cap or run them separately.
Output
One row per tweet.
| Field | What it holds |
|---|---|
id, url | The tweet's ID and its link on x.com |
text, lang, created_at | What it says, the language X detected, and when it went out |
like_count, reply_count, repost_count, quote_count, bookmark_count, view_count | The six counters |
is_reply, in_reply_to_post_id, in_reply_to_handle, conversation_id | Thread position |
is_pinned | true on the account's pinned tweet |
author_handle, author_name, author_id, author_followers_count, author_is_blue_verified, author | The author, flattened, and as a full record |
media, hashtags, mentions, urls, card, article, place | Attachments and entities |
quoted_post, reposted_post | The tweet it quotes, or the original it reposts |
input_handle | The handle you gave, reduced to the bare handle |
{"id": "2110988635264950570","url": "https://x.com/elonmusk/status/2110988635264950570","text": "RT @Tesla: Holy smokes https://t.co/rTnRobllwc","lang": "en","source": "Twitter for iPhone","created_at": "2026-10-16T06:58:05.000Z","like_count": 14929,"reply_count": 574,"repost_count": 1579,"quote_count": 476,"view_count": 579889,"bookmark_count": 691,"is_reply": false,"in_reply_to_post_id": null,"in_reply_to_user_id": null,"in_reply_to_handle": null,"conversation_id": "2110988635264950570","is_pinned": null,"hashtags": [],"author_id": "44196397","author_handle": "elonmusk","author_name": "Elon Musk","author_followers_count": 241485286,"author_is_blue_verified": true,"input_handle": "elonmusk"}
Nested fields are cut from this example for length.
Pricing
You pay for each tweet saved. A tweet that is skipped is never charged.
| Plan | Per 1,000 tweets |
|---|---|
| Free | $2.00 |
| Bronze | $1.69 |
| Silver | $1.38 |
| Gold and above | $1.08 |
Each run also carries a $0.00005 start charge. The Free plan covers the first 50 rows you save with this Actor; after that you need a paid plan.
Questions
Where is the pinned tweet?
It comes first, once, with is_pinned set. The rest follow newest first. If the pinned tweet also appears further down the feed, it is saved only once.
This row's text starts with "RT @". Where is the real text?
Reposts keep X's shortened text. The original, in full and with its own author and counters, is in reposted_post.
Does includeReplies change the count?
Yes, upwards. Replies are tweets too, and each one is a billed row. Leave it off when you only want what the account chose to broadcast.
Why did the run stop before maxItems?
It ends when X stops returning pages for that account, or returns an empty one. If you need further back than a timeline reaches, use the Twitter Scraper with from:handle and a since:/until: window for each stretch of time.
What if an account is missing or private? A handle that does not resolve gives no rows and no charge, and the log names it. The other handles carry on. An account that limits its posts to approved followers may come back empty.
Can I collect several accounts into one dataset and still tell them apart?
Yes. input_handle is on every row.
Related Actors
| Actor | Use it when |
|---|---|
| Twitter Profile Scraper | You need the account itself — bio, counts, join date |
| Twitter Comments Scraper | You want the replies under one of these tweets |
| Twitter Scraper | You want to search across accounts instead of walking one |
Support
Questions, bugs, or feature requests: contact@toolzerhub.com
Browse the rest: apify.com/toolzerhub