Docs
Remove a list member

Remove a list member

Remove an account from a list you own.

POST/client/lists/members/remove

Your account, your proxy, your risk.

Account actions run with the session cookie of your own X account and go out through your own proxy. Use only accounts you control and follow X's rules. Automated posting, following or liking can get the account limited or suspended; that is between you and X. Treat the cookie like a password: it gives full access to the account. Trial keys cannot call these endpoints.

How to copy the cookie and which proxy to use: Your X session (cookie).

Parameters

  • cookiebody · string · required

    Cookie header of your own logged-in X session: auth_token=...; ct0=... (guest_id is used when present). How to copy it: /docs/x-session.

  • proxybody · string · required

    Your proxy, format http://user:pass@host:port. The requests to X go out through it. Used only for this request.

  • list_idbody · string · required

    Numeric ID of the list, the number in the list URL (x.com/i/lists/<id>).

  • user_idbody · string · optional

    Numeric ID of the account to remove. Either user_id or username is required; user_id is used when both are set.

  • usernamebody · string · optional

    Handle, with or without @, used when user_id is not set. The API looks up the ID first; still one billed call.

Body parameters are sent as a JSON object with Content-Type: application/json.

Notes

Example request

curl -X POST 'https://api.twittrapi.com/client/lists/members/remove' \
  --header 'X-API-KEY: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"cookie":"auth_token=...; ct0=...","proxy":"http://user:pass@host:port","list_id":"1500000000000000000","username":"XDevelopers"}'

Base URL https://api.twittrapi.com, key in the X-API-KEY header. The SDKs do not wrap account actions, so the examples are plain HTTP calls.

Response

Wrapper built by the API: {"status_code": <X status>, "response": "<X response body as a string>"}. The HTTP status is X's status when X answered 4xx or 5xx, otherwise 200. Parse response a second time to get X's JSON.

Simple format (?format=simple or X-Response-Format: simple): {data: {success: true}}. When X reports an error inside the wrapper (for example a tweet that is already liked), the usual wrapper is returned unchanged. Schema.

Example response coming soon.

In the raw format, field names and nesting come from X and can change without notice. See Response format; the simple format keeps a fixed schema.

Errors

  • 400The body is not valid JSON.
  • 422A required field is missing (including proxy), an ID is not numeric, or the cookie has no ct0. Also: the account is suspended, X rejected the session, or the text was already posted.
  • 407The proxy is unreachable or timed out.
  • 400username is set but no such user exists ("This user could not be found."). Refunded.
  • 422Neither user_id nor username is set, user_id is not numeric, or the username lookup failed.
  • X'sAny status X answers with (for example 401, 403, 404): passed through with X's body.

Errors every endpoint can return (401, 402, 403, 404, 408, 409, 429, 5xx), and which of them are charged, are on the Errors page. Calls that fail with 400, 408, 409 or a 5xx error are refunded.