Export an X account's posts
xcrap_get_user_historyFetch an account's entire post history in one call, paginating the timeline automatically and optionally filtering by date range. Get all posts with timestamps and metrics for summaries or analysis.
Instructions
Fetch many of an account's posts in one call — walking its timeline page by page — optionally limited to a date window.
This is for "everything @x posted in March", "their last 200 posts" or "summarise what they said about Y this year". It replaces paging xcrap_get_user_tweets yourself, and it counts as one call against its budget however many pages it walks.
When to use this instead of the alternatives:
Use xcrap_get_user_tweets for a quick look at the latest posts.
Use xcrap_get_thread for one connected chain of posts.
Args:
handle (string, required): "jack", "@jack" or a profile URL.
max_posts (number, 1-200): stop after this many posts, default 50. The API allows up to 1,000, but a result that large will not fit in a context window; narrow the dates instead.
since (string): oldest post to include, as a date such as "2025-01-01".
until (string): newest post to include, as a date.
include_replies (boolean): default false. Set true to include the account's replies to other people.
Returns markdown: a "Post history" heading with the count and the window, then every post with its timestamp, permalink, text and metrics.
Costs 5 calls per 5 minutes — it is the most expensive tool here, so choose the window before calling rather than calling repeatedly. It takes about a second per twenty posts, and the further back a window sits, the patchier X's timeline is — an old window can legitimately come back empty.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Oldest post to include, as a date: "2025-01-01" or an ISO timestamp. | |
| until | No | Newest post to include, as a date: "2025-03-31" or an ISO timestamp. | |
| handle | Yes | X handle, @handle or profile URL whose posts to export. | |
| max_posts | No | Stop after this many posts, 1-200 (default 50). Narrow since/until rather than raising this. | |
| include_replies | No | Include the account's replies to other people (default false). |