Skip to main content
This guide walks you through retrieving users who Retweeted a specific Post.
PrerequisitesBefore you begin, you’ll need:
  • A developer account with an approved App
  • Your App’s Bearer Token (for public data) or User Access Token (for private metrics)

Get users who Retweeted a Post

1

Find the Post ID

Get the ID of the Post you want to look up Retweets for:
https://x.com/XDevelopers/status/1354143047324299264
                                └── This is the Post ID
2

Make the request

cURL
curl "https://api.x.com/2/tweets/1354143047324299264/retweeted_by?\
user.fields=created_at,username,verified" \
  -H "Authorization: Bearer $BEARER_TOKEN"
from xdk import Client

client = Client(bearer_token="YOUR_BEARER_TOKEN")

# Get users who Retweeted a Post with pagination
for page in client.posts.get_retweeted_by(
    "1354143047324299264",
    user_fields=["created_at", "username", "verified"]
):
    for user in page.data:
        print(f"{user.username} - Joined: {user.created_at}")
import { Client } from "@xdevplatform/xdk";

const client = new Client({ bearerToken: "YOUR_BEARER_TOKEN" });

// Get users who Retweeted a Post with pagination
const paginator = client.posts.getRetweetedBy("1354143047324299264", {
  userFields: ["created_at", "username", "verified"],
});

for await (const page of paginator) {
  page.data?.forEach((user) => {
    console.log(`${user.username} - Joined: ${user.created_at}`);
  });
}
3

Review the response

{
  "data": [
    {
      "created_at": "2008-12-04T18:51:57.000Z",
      "id": "17874544",
      "username": "TwitterSupport",
      "name": "Twitter Support",
      "verified": true
    },
    {
      "created_at": "2007-02-20T14:35:54.000Z",
      "id": "783214",
      "username": "Twitter",
      "name": "Twitter",
      "verified": true
    }
  ],
  "meta": {
    "result_count": 2,
    "next_token": "7140dibdnow9c7btw3z2vwioavpvutgzrzm9icis4ndix"
  }
}

Include additional data

Use expansions to get related data like pinned Posts:
cURL
curl "https://api.x.com/2/tweets/1354143047324299264/retweeted_by?\
user.fields=created_at&\
expansions=pinned_tweet_id&\
tweet.fields=created_at" \
  -H "Authorization: Bearer $BEARER_TOKEN"
from xdk import Client

client = Client(bearer_token="YOUR_BEARER_TOKEN")

# Get Retweeting users with expansions
for page in client.posts.get_retweeted_by(
    "1354143047324299264",
    user_fields=["created_at"],
    expansions=["pinned_tweet_id"],
    tweet_fields=["created_at"]
):
    for user in page.data:
        print(f"{user.username}")
    # Pinned Posts are in page.includes.tweets
import { Client } from "@xdevplatform/xdk";

const client = new Client({ bearerToken: "YOUR_BEARER_TOKEN" });

// Get Retweeting users with expansions
const paginator = client.posts.getRetweetedBy("1354143047324299264", {
  userFields: ["created_at"],
  expansions: ["pinned_tweet_id"],
  tweetFields: ["created_at"],
});

for await (const page of paginator) {
  page.data?.forEach((user) => {
    console.log(user.username);
  });
  // Pinned Posts are in page.includes?.tweets
}

Response with expansion

{
  "data": [
    {
      "pinned_tweet_id": "1389270063807598594",
      "created_at": "2018-11-21T14:24:58.000Z",
      "id": "1065249714214457345",
      "username": "TwitterSpaces",
      "name": "Spaces"
    }
  ],
  "includes": {
    "tweets": [
      {
        "created_at": "2021-05-03T17:26:09.000Z",
        "id": "1389270063807598594",
        "text": "now, everyone with 600 or more followers can host a Space..."
      }
    ]
  }
}

Next steps

Manage Retweets

Retweet and undo Retweets

Quote Posts

Get Quote Posts

API Reference

Full endpoint documentation