Sources
X (Twitter)
Ingest your X (formerly Twitter) data archive — your tweets, replies, and metadata.
The twitter source ingests the X data archive ZIP — the one X generates when you click "Download an archive of your data" in account settings. The slug stays twitter for backwards compatibility; the export itself is whatever X is currently calling itself.
Get the export
- Sign in at x.com.
- Settings and privacy → Your account → Download an archive of your data.
- Re-enter your password and request the archive.
- X emails when it's ready. This usually takes 24-48 hours and the link expires after a few days.
- Download the ZIP locally.
Register the export
bash
vault add-export \
--source twitter \
--path ~/Downloads/twitter-archive.zip \
--account @myhandle--account is your X handle (with or without the leading @ — both are normalized).
What gets ingested
| Item | Notes |
|---|---|
| One tweet item per post | kind=tweet, text body, ts, like / reply / retweet counts in metadata. |
| Replies | Tweet IDs of in-reply-to and parent thread preserved. |
| Retweets / quotes | Original tweet metadata preserved on the wrapping item. |
| Media | Image / video filenames are referenced as item_media; bytes live in staging/. |
| Profile snapshots | Account metadata at time of export (bio, header, etc.) captured but not items. |
Ingest it
bash
vault ingest --source twittervault
$ vault ingest --source twitterExtracting twitter-archive.zip ...Parsing tweets.js (12,401 tweets) ...tweets: 12,401with media: 1,820Run 17 completed in 9.4s
Caveats
- DMs may not be present. Whether direct messages are included in the archive has changed multiple times. The parser handles them when they're there and skips them when they're not.
- No tweets from other accounts. The archive only contains your own posts and metadata about your interactions. Threads where you replied to someone don't include their original tweet text.
- Media URLs. Some media in older archives points at expired
pbs.twimg.comURLs. Local copies instaging/are what's actually ingested. - Edit history for tweets isn't preserved beyond the latest text.
- The schema X ships in the archive changes occasionally — open an issue with a sample if a recent export fails to parse.