App Logo
x.com

Get X DM messages

Fetch all messages in a DM conversation, addressed by handle or by conversation_id. Returns conversation_id, the other party's handle, and messages with text, sender, direction, date and time. If X shows the Enter Passcode screen, pass the 4-digit E2E pin.

Input

pin optional

4-digit E2E passcode — required only if X shows the Enter Passcode screen. Omit otherwise.

handle optional

Recipient's X handle, with or without a leading @. Resolved to a user id via the profile page, so it works for any conversation, not just ones already loaded in the inbox.

conversationId optional

conversation_id from get_inbox, e.g. "1667221889486340115-1995746956204015616" (":" separator also accepted). Required for group conversations, whose id is not a user-id pair.

Output

messages required
conversation_id required
note optional
empty optional

True when the conversation opened but has no rendered messages.

participant optional

Handle of the other party, read from the thread header (without @). Null in group conversations.

FAQ

Fetch all messages in a DM conversation, addressed by handle or by conversation_id. Returns conversation_id, the other party's handle, and messages with text, sender, direction, date and time. If X shows the Enter Passcode screen, pass the 4-digit E2E pin.
Optional: pin, handle, conversationId.
It returns note, empty, messages, participant, conversation_id.
Yes. It acts as you on x.com: on your own Chrome it reuses your session, and on a Reduck-hosted browser it loads the x.com cookies saved by the Reduck extension.
It only reads. It looks things up on x.com and changes nothing there.
Ask an AI agent connected to Reduck to run reduck/x.com/get_messages, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/x.com/get_messages
It is part of Reduck's official curated catalogue.

Start building not clicking