X / Twitter Profile Posts Scraper
Pricing
Pay per usage
X / Twitter Profile Posts Scraper
Collect public posts from one or more X (Twitter) profile timelines as clean, structured records.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Automly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collect public posts from X (Twitter) profile timelines and turn them into a clean, structured dataset. Point it at one or more accounts and get back each post with author, text, engagement counts, timestamp, and a direct link — ready for analysis, monitoring, or export.
What it does
- Reads recent public posts from one or more profiles (by
@handleor URL). - Returns a flat record per post with author, text, engagement counts, timestamp, and a direct link.
- De-duplicates within a run, so the same post never appears twice.
- Supports an optional date floor to keep runs focused on fresh activity.
Run it on a schedule to keep a fresh feed of an account's posts, or run it ad hoc to pull a profile's recent activity.
Input
| Field | Type | Description |
|---|---|---|
startUrlsOrHandles | array of strings | Accounts to read from. Accepts @handles (e.g. @nasa), profile URLs, or post URLs (the post's author is used). |
maxPosts | integer | Maximum posts to collect across all profiles (1–5000). Default 100. |
since | string | Optional YYYY-MM-DD date. Posts created before this date are skipped. |
proxyConfiguration | object | Proxy settings. Residential proxies are strongly recommended for consistent results. |
Example input
{"startUrlsOrHandles": ["@nasa", "https://x.com/natgeo"],"maxPosts": 100,"since": "2024-01-01","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Every post is pushed to the dataset as a flat record:
{"postId": "1790000000000000000","authorHandle": "nasa","authorName": "NASA","text": "We're going back to the Moon.","likeCount": 48213,"repostCount": 9120,"replyCount": 1342,"createdAt": "2024-05-01T15:04:05+00:00","url": "https://x.com/nasa/status/1790000000000000000"}
| Field | Description |
|---|---|
postId | ID of the post. |
authorHandle | Account handle of the author, without the @. |
authorName | Display name of the author. |
text | Full text of the post. |
likeCount | Number of likes. |
repostCount | Number of reposts. |
replyCount | Number of replies the post has received. |
createdAt | ISO 8601 UTC creation timestamp. |
url | Direct link to the post on X. |
Pricing
This actor uses a pay-per-event model:
- Result item produced — charged for each post saved to the dataset.
You only pay for the results you actually receive.
Tips
- Start with a low
maxPoststo gauge volume, then scale up. - Use
sinceto keep scheduled runs focused on fresh activity. - Enable residential proxy configuration for more reliable results.