---
title: "X (Twitter) post retweeters API · SocialToAI"
canonical: https://socialtoai.com/x-retweeters-api/
updated: 2026-11-01
---

# X (Twitter) post retweeters API

Get a page of the accounts that retweeted an X post, by the post's ID: handle, name, bio, follower count. A call to the X (Twitter) post retweeters API costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP.

- Page: https://socialtoai.com/x-retweeters-api/
- Last updated: 2026-11-01

| Request | Price key | Credits |
| --- | --- | --- |
| `POST /v1/call/x.retweeters` | `x.retweeters` | 2 |

Reading 1,000 items comes to about 20 credits, about $0.067.

Daily watch: tell your AI “watch this daily” and this call runs by itself every day, sending only what is new: at most 62 credits a month, about $0.21. [How to set it up](https://socialtoai.com/docs/schedules.md#watch)

## What you get from the X (Twitter) post retweeters API

A recorded call returned 33 items; here is the first, field by field. Names and text are removed from the sample; the numbers are as recorded.

| Field | In the recorded answer |
| --- | --- |
| username | removed from the sample |
| name | removed from the sample |
| url | removed from the sample |
| bio | null |
| verified | null: X cannot give it |
| followers | 1,047 |
| following | 4,461 |
| posts_count | 29,045 |

2 credits a call (≈ $0.004–$0.0067): about 1,500 calls for $10.

## X (Twitter) post retweeters API: request and response

```bash
curl https://api.socialtoai.com/v1/call/x.retweeters \
  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2108198226532708497"
  }'
```

```python
import os
import uuid
import requests

response = requests.post(
    "https://api.socialtoai.com/v1/call/x.retweeters",
    headers={
        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",
        # A new key for each request; the same one again retries it without paying twice.
        "Idempotency-Key": str(uuid.uuid4()),
    },
    json={
        "id": "2108198226532708497",
    },
)
print(response.json())
```

## X (Twitter) post retweeters API parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `id` | string | Required | — | Post ID, a string of digits |
| `cursor` | string | Optional | — | Pass page.cursor from the last response to get the next page. |

## Where to get what you send

- `id`: Post ID, a string of digits (e.g. `2108198226532708497`)
  Returned as `ref` by: [X (Twitter) Search API](https://socialtoai.com/x-search-api.md), [X (Twitter) Search API](https://socialtoai.com/x-search-api.md), [X (Twitter) User Posts API](https://socialtoai.com/x-user-posts-api.md), [X (Twitter) community posts API](https://socialtoai.com/x-community-posts-api.md), [X (Twitter) list posts API](https://socialtoai.com/x-list-posts-api.md), [X (Twitter) post quotes API](https://socialtoai.com/x-quotes-api.md), [X (Twitter) thread context API](https://socialtoai.com/x-thread-api.md), [X (Twitter) user mentions API](https://socialtoai.com/x-mentions-api.md)

## X (Twitter) post retweeters API response fields

| Field | Type | Meaning | Given |
| --- | --- | --- | --- |
| `items[].username` | string | The handle. | yes |
| `items[].name` | string | The display name. | yes |
| `items[].url` | string | A link to the profile. | yes |
| `items[].bio` | string | The bio. | yes |
| `items[].verified` | boolean | Whether the account is verified. | always null: X does not give it |
| `items[].followers` | integer | Follower count. | yes |
| `items[].following` | integer | How many accounts it follows. | yes |
| `items[].posts_count` | integer | How many posts it has published. | yes |

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. [Response format](https://socialtoai.com/docs/api/response.md)

## Sample response

Sample data: names, links and text are replaced by placeholders; the numbers are as recorded.

```json
{
  "request_id": "req_00000000-0000-4000-8000-000000000001",
  "schema_version": "v1",
  "fetched_at": "2026-10-12T19:10:46.000Z",
  "action": "call",
  "op": "x.retweeters",
  "platform": "x",
  "status": "ok",
  "items": [
    {
      "platform": "x",
      "id": "…",
      "ref": "…",
      "approx": [],
      "type": "account",
      "username": "…",
      "name": "…",
      "url": "https://example.com/…",
      "bio": null,
      "verified": null,
      "followers": 1047,
      "following": 4461,
      "posts_count": 29045
    }
  ],
  "unavailable": ["verified"],
  "page": {
    "has_more": true,
    "cursor": "cur_…",
    "cursor_expires_at": "2026-10-12T19:40:46.000Z"
  },
  "warnings": [],
  "applied_params": {
    "id": "2108198226532708497"
  },
  "cost_credits": 2,
  "billing": {
    "cost_credits": 2,
    "balance_credits": 98,
    "today_spend_credits": 2,
    "daily_limit_credits": null,
    "daily_remaining_credits": null,
    "display": "This call: 2 credits (≈ $0.0067). Balance: 98 credits (≈ $0.33)."
  },
  "replayed": false
}
```

## X (Twitter) post retweeters API: paging and billing

- One call returns a page of up to 100 items. When page.has_more is true, send page.cursor back as cursor for the next page; each page costs 2 credits and a cursor works for 30 minutes.
- A call that runs and finds nothing is a successful call: status is "empty", items is empty, and it costs 2 credits.
- On this call X cannot tell a post that does not exist from one with no data: both come back as empty, and both are charged.
- 5 calls per second per key, 20 after a purchase; going over is not charged. [Rate limits](https://socialtoai.com/docs/credits-and-billing.md#rate-limits)
- A failed call costs 0 credits and is never retried on its own. [Error codes](https://socialtoai.com/docs/api/errors.md)
- Interface last tested: 2026-11-01. Each call reads from the platform, and `fetched_at` in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (`replayed: true`): 0 credits, and the answer as first read.

## Once connected over MCP, these questions use the X (Twitter) post retweeters API

- Get a page of the accounts that retweeted an X post, by the post's ID: 2108198226532708497. → `call {"op":"x.retweeters","id":"2108198226532708497"}`, 2 credits
- Search X for posts about "weather forecast", then for the first 3: get a page of the accounts that retweeted an X post, by the post's ID. → `search {"platform":"x","query":"weather forecast"}`, `call {"op":"x.retweeters","id":"<ref>"}` × 3, 8 credits

## Give this to your AI

```
Use the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Get a page of the accounts that retweeted an X post, by the post's ID: 2108198226532708497.
Call the call tool with {"op":"x.retweeters","id":"2108198226532708497"}. Needed: id.
For more, send page.cursor back as cursor; each page costs 2 credits.
Before you start, work out how many credits it will take in all and ask me; call it only after I agree.
What usually comes next, with the ref or username it returns: user_profile (User Profile), user_posts (User Posts).
If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.
Answer with a link to every item you used, and tell me how many credits it cost.
```

## More on X

| Interface | What it does | Price key | Credits |
| --- | --- | --- | --- |
| [X (Twitter) thread context API](https://socialtoai.com/x-thread-api.md) | Get the posts of an X thread by the ID of any post in it. | `x.thread` | 9 |
| [X (Twitter) post quotes API](https://socialtoai.com/x-quotes-api.md) | Get a page of the X posts that quote a post, newest first or most popular first. | `x.quotes` | 4 |
| [X (Twitter) Search API](https://socialtoai.com/x-search-api.md) | Find posts by keyword: text, author, likes, comment count, views and publish time. | `x.search` | 2 |
| [X (Twitter) article detail API](https://socialtoai.com/x-article-api.md) | Get the long-form article attached to an X post by the post's ID. | `x.article` | 2 |
| [X (Twitter) user followers API](https://socialtoai.com/x-followers-api.md) | Get a page of the accounts following an X user, up to 200 a page, newest followers first. | `x.followers` | 12 |
| [X (Twitter) user following API](https://socialtoai.com/x-following-api.md) | Get a page of the accounts an X user follows, up to 200 a page. | `x.following` | 12 |
| [X (Twitter) user mentions API](https://socialtoai.com/x-mentions-api.md) | Get a page of the posts that mention an X user, newest first. | `x.mentions` | 4 |
| [X (Twitter) Trending API](https://socialtoai.com/x-trending-api.md) | What is trending now: title, rank and heat. | `x.trending` | 6 |
| [X (Twitter) Detail API](https://socialtoai.com/x-detail-api.md) | One post by ID or link: text, author, likes, comment count, views and publish time. | `x.detail` | 1 |
| [X (Twitter) Comments API](https://socialtoai.com/x-comments-api.md) | The comments under one post: text, likes, reply count and time. | `x.comments` | 2 |

## Read next

- [X official API: access, prices and limits](https://socialtoai.com/does-x-have-an-api.md): What its own API allows, who can use it and what it costs, with sources.
- [How to let AI read X when the official API is too expensive](https://socialtoai.com/how-to/read-x-when-the-official-api-is-too-expensive.md): X's official prices, with sources, and reading X per call instead
- [X (Twitter) MCP server](https://socialtoai.com/mcp/x.md): Let your AI read X.

## X (Twitter) post retweeters API: questions

**Do I need a X account or X's own API access?**

No. You only need a SocialToAI key. The call returns content and account information publicly visible on X; you never sign in to X or apply for anything there.

**What does one call cost in dollars?**

2 credits: $0.0067 at 300 credits per dollar (purchases from $10), $0.004 at 500 per dollar (from $200). Credits never expire and there is no subscription. 100 free credits on sign-up, no card.

**Am I charged when a call fails or finds nothing?**

A failed call costs 0 credits and is never retried on its own. A call that runs and finds nothing is a successful call: status is "empty" and it costs 2 credits. This interface cannot tell a target that does not exist from one with no data, so both are charged as empty.

**How much does one call return?**

One call returns a page of up to 100 items. When page.has_more is true, send page.cursor back as cursor for the next page; each page costs 2 credits and a cursor works for 30 minutes.

**Is there a rate limit?**

5 calls a second per key, 20 a second after your first purchase. A request over the limit is told how long to wait and is not charged.

**How do I use it from Claude, ChatGPT or Cursor?**

Yes. In Claude or ChatGPT, add the MCP address https://mcp.socialtoai.com/mcp as a custom connector, sign in with the code we email you and press Allow; there is no key to paste. In Claude Code, run one command, type /mcp, pick socialtoai and sign in; Codex and Cursor sign in too, with their steps on the connect page. Then ask in plain words and your AI calls call for you.
