TwitterAPIs Docs
API ReferenceWrite Actions

Undo Retweet API | Remove a Twitter Retweet

Undo a previously recorded retweet as the authenticated account. Requires a logged-in session. Billed at $0.0008 per call, the same as a standard read. Cost: $0.0008 per call.

Undo Retweet removes a previously recorded retweet on behalf of your own authenticated X account. It requires a registered X session and returns ok:true when the retweet is removed. Pass the tweet id or url as a query parameter. This is a write action billed at $0.0008 per call, the same as a standard read.

POST
/tweet/unretweet

Authorization

bearerAuth
AuthorizationBearer <token>

Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.

In: header

Query Parameters

id?string

Numeric ID of the tweet to un-retweet. Provide either id or url.

url?string

Full status URL of the tweet to un-retweet. Provide either id or url.

proxy?string

Optional. Pass your own proxy (http(s)/socks URL) to egress the write through your clean IP for best success; if omitted, we use the session's proxy / our default.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/tweet/unretweet?id=1759123456789012345&url=https%3A%2F%2Fx.com%2Fnaval%2Fstatus%2F1759123456789012345"
{  "ok": true}
{  "error": "bad_request",  "message": "Missing or malformed parameter. Fix the request before retrying."}
{  "error": "unauthorized",  "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}
{  "error": "insufficient_credits",  "message": "Your balance is exhausted. Top up your credits to continue."}
{  "error": "forbidden",  "message": "The acting account is not authorized for this write action, or has no logged-in session."}
{  "error": "not_found",  "message": "The resource does not exist, for example a deleted tweet or a private account."}
{  "error": "rate_limited",  "message": "Too many requests. Back off and retry with exponential backoff."}
{  "error": "server_error",  "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}

Pricing

UnitPrice
Per call$0.0008
Per 1,000 calls$0.80

Writes are billed at $0.0008 per call, the same as a standard read. A write that fails before reaching X is not billed.

When to use

Use it to remove a repost programmatically, for example pulling back a retweet after a correction.

  • Retweet: Retweet a tweet on behalf of an authenticated account.
  • Unlike Tweet: Remove a like (unfavorite) from a tweet.
  • Like Tweet: Like (favorite) a tweet on behalf of an authenticated account.

FAQ

What does Undo Retweet take?

The tweet id or url as a query parameter, plus a registered X session. It returns ok:true once the retweet is removed.

Is a session required?

Yes. Removing a retweet acts on your own account, so a registered session is required or the call returns session_required.

What if the tweet was never retweeted?

It returns ok:true since the resulting state is no retweet recorded. The action is safe to repeat.