Skip to main content
This guide walks you through retrieving your Posts that have been Retweeted by others.
PrerequisitesBefore you begin, you’ll need:
  • A developer account with an approved App
  • User Access Token (OAuth 1.0a or OAuth 2.0 PKCE)

Why use Retweets of Me?

The Retweets of Me endpoint helps you:
  • Track engagement — See which of your Posts are being shared
  • Understand resonance — Learn what content resonates with your audience
  • Inform strategy — Adjust your content strategy based on sharing patterns

Get your Retweeted Posts

cURL
curl "https://api.x.com/2/users/reposts_of_me?\
tweet.fields=created_at,public_metrics&\
max_results=10" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"
from xdk import Client

client = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")

# Get your Posts that have been Retweeted
for page in client.posts.get_reposts_of_me(
    tweet_fields=["created_at", "public_metrics"],
    max_results=10
):
    for post in page.data:
        print(f"{post.text[:50]}... - Retweets: {post.public_metrics.retweet_count}")
import { Client } from "@xdevplatform/xdk";

const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });

// Get your Posts that have been Retweeted
const paginator = client.posts.getRepostsOfMe({
  tweetFields: ["created_at", "public_metrics"],
  maxResults: 10,
});

for await (const page of paginator) {
  page.data?.forEach((post) => {
    console.log(`${post.text?.slice(0, 50)}... - Retweets: ${post.public_metrics?.retweet_count}`);
  });
}

Response

{
  "data": [
    {
      "id": "1848781937210802364",
      "text": "ever wanted to discover trends.. before they're trends?...",
      "created_at": "2024-01-15T10:30:00.000Z",
      "public_metrics": {
        "retweet_count": 42,
        "reply_count": 5,
        "like_count": 156,
        "quote_count": 8
      },
      "edit_history_tweet_ids": ["1848781937210802364"]
    },
    {
      "id": "1847990559081648620",
      "text": "posting is just journaling with an audience",
      "created_at": "2024-01-14T15:20:00.000Z",
      "public_metrics": {
        "retweet_count": 28,
        "reply_count": 12,
        "like_count": 89,
        "quote_count": 3
      },
      "edit_history_tweet_ids": ["1847990559081648620"]
    }
  ],
  "meta": {
    "result_count": 2,
    "next_token": "7140dibdnow9c7btw481s8m561gat797rboud5r80xvzm"
  }
}

Filter by time range

Get Retweeted Posts from a specific period:
cURL
curl "https://api.x.com/2/users/reposts_of_me?\
start_time=2024-01-01T00%3A00%3A00Z&\
end_time=2024-01-31T23%3A59%3A59Z&\
tweet.fields=created_at,public_metrics" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"
from xdk import Client

client = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")

# Get Retweeted Posts from a time range
for page in client.posts.get_reposts_of_me(
    start_time="2024-01-01T00:00:00Z",
    end_time="2024-01-31T23:59:59Z",
    tweet_fields=["created_at", "public_metrics"]
):
    for post in page.data:
        print(f"{post.created_at}: {post.text[:50]}...")
import { Client } from "@xdevplatform/xdk";

const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });

// Get Retweeted Posts from a time range
const paginator = client.posts.getRepostsOfMe({
  startTime: "2024-01-01T00:00:00Z",
  endTime: "2024-01-31T23:59:59Z",
  tweetFields: ["created_at", "public_metrics"],
});

for await (const page of paginator) {
  page.data?.forEach((post) => {
    console.log(`${post.created_at}: ${post.text?.slice(0, 50)}...`);
  });
}

Common parameters

ParameterDescriptionDefault
max_resultsResults per page (1-100)10
start_timeOldest Post timestamp (ISO 8601)
end_timeNewest Post timestamp (ISO 8601)
pagination_tokenToken for next page
tweet.fieldsAdditional Post fieldsid, text

Next steps

Retweets lookup

See who Retweeted a Post

Manage Retweets

Retweet and undo Retweets

API Reference

Full endpoint documentation