TwitterAPIs Docs
API ReferenceWrite Actions

Twitter Remove List Member API | Prune an X List

Remove an account from a List owned by your registered X session. Returns the List's member_count as proof the membership change landed. Cost: $0.0008 per call.

Remove List Member removes one account from a Twitter/X List you own. Like its add counterpart it runs as your registered X session, returns the List's member_count as proof the write landed, and returns the same field layout with a 422 and a machine-readable reason when the write does not apply. One $0.0008 write, billed only when it applies.

POST
/list/remove_member

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/list/remove_member" \  -H "Content-Type: application/json" \  -d '{    "list_id": "1234567890123456789",    "user_id": "745273"  }'
{  "ok": true,  "action": "remove_member",  "list_id": "1234567890123456789",  "user_id": "745273",  "member_count": 41,  "list": {    "id": "1234567890123456789",    "name": "Founders",    "member_count": 41  }}
{  "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

One $0.0008 write, and you are not charged when the write does not apply.

When to use

Use it to prune a List programmatically, for example dropping accounts that have gone inactive from a curated feed.

  • Add List Member: Add one account to a Twitter/X List you own.
  • Create List: Create a new Twitter/X List owned by your session.
  • List Members: Page through the members of a public Twitter/X List.

FAQ

Does this need my own X session?

Yes. Removing someone from a List is an action attributable to a specific account, so it runs as your registered session rather than a pooled one.

What if the account was never a member?

The write does not apply, so you get a 422 with the same field layout plus a reason, and you are not billed.

How do I confirm the removal?

Read member_count in the 200 body. It is the List's count after the write, read back from X rather than assumed.