TwitterAPIs Docs
API ReferenceWrite Actions

Unlike a Tweet API | Remove a Twitter Like

Remove a previously recorded like from a tweet 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.

Unlike Tweet removes a previously recorded like (favorite) from a tweet on behalf of your own authenticated X account. It requires a registered X session and returns ok:true when the like 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/unfavorite

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 unlike. Provide either id or url.

url?string

Full status URL of the tweet to unlike. 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/unfavorite?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 reverse a like programmatically, for example clearing automated likes after a campaign ends.

  • Like Tweet: Like (favorite) a tweet on behalf of an authenticated account.
  • Undo Retweet: Remove a retweet from a tweet.
  • Remove Bookmark: Remove a tweet from the authenticated account's bookmarks.

FAQ

What does Unlike Tweet take?

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

Is a session required to unlike?

Yes. Like the like action itself, unliking runs as your account and needs a registered session, or it returns session_required.

Does unliking a tweet I never liked error?

It returns ok:true as the end state is no like recorded. The action is idempotent from the caller's view.