The objects we sync from your X account, the exact fields we read for each, and how they map into Medialake.
Medialake reads the connected account's own post timeline and syncs the media attached to those posts — all read-only, via the official X API v2. We only read the fields listed on this page, nothing else. Engagement metrics reporting arrives with the upcoming organic-posts phase; no metrics are surfaced yet.
Objects at a glance
X object | What it is | Why we sync it |
The connected account | The entry point — identifies whose posts we read | |
An entry on the account's timeline | Carries the media and the context each file belongs to | |
A photo, video, or animated GIF attached to a post | Medialake ingests these as files |
The connected account
Read live from GET /2/users/me to identify the account and present it as the selectable source.
Fields we read:id, name, username, profile_image_url
Posts
The account's own timeline is read from GET /2/users/{id}/tweets, page by page. Replies and reposts are excluded — only original posts (including quote posts) are synced. The API reaches roughly the account's 3,200 most recent posts; older history is not available at this access level.
Fields we read:id, text, created_at, attachments (the post's media keys), public_metrics
Posts aren't stored as records themselves — each ingested file carries its post's context: the post id, a snippet of its text, its permalink, and its published date. (public_metrics is read in preparation for the organic-posts phase; nothing is reported from it yet.)
Media
Each media object attached to a post becomes a file in Medialake:
Photos are ingested from their direct
url(also used as the thumbnail).Videos and animated GIFs list several renditions (
variants); Medialake ingests the highest-bitrate MP4 and usespreview_image_urlas the thumbnail.X media objects carry no timestamps of their own — the post's
created_atprovides the publish date context.If a stored media URL stops working, a fresh one is fetched from the API and the download is retried automatically.
Fields we read:media_key, type, url, variants, preview_image_url, width, height, duration_ms, alt_text
How it maps into Medialake
X account
└─ Post (id, text, permalink, date — stored as context on each file)
├─ File (photo: direct URL + thumbnail)
└─ File (video / GIF: best MP4 rendition + preview thumbnail)Everything on this page is read-only — see Authentication for the permissions behind it.
Further reading (X documentation)
Data dictionary — every field on Post, User, and Media objects
Questions about a specific field? Contact [email protected].
