X / Twitter Profile Posts Scraper avatar

X / Twitter Profile Posts Scraper

Pricing

Pay per usage

Go to Apify Store
X / Twitter Profile Posts Scraper

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

Automly

Maintained by Community

Actor 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 @handle or 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

FieldTypeDescription
startUrlsOrHandlesarray of stringsAccounts to read from. Accepts @handles (e.g. @nasa), profile URLs, or post URLs (the post's author is used).
maxPostsintegerMaximum posts to collect across all profiles (1–5000). Default 100.
sincestringOptional YYYY-MM-DD date. Posts created before this date are skipped.
proxyConfigurationobjectProxy 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"
}
FieldDescription
postIdID of the post.
authorHandleAccount handle of the author, without the @.
authorNameDisplay name of the author.
textFull text of the post.
likeCountNumber of likes.
repostCountNumber of reposts.
replyCountNumber of replies the post has received.
createdAtISO 8601 UTC creation timestamp.
urlDirect 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 maxPosts to gauge volume, then scale up.
  • Use since to keep scheduled runs focused on fresh activity.
  • Enable residential proxy configuration for more reliable results.