Skip to content

Follow / unfollow

POST/v1/x/actions/follow
MCPx_follow5 creditsComingNeeds a connected X account

Stage 6, not yet available. This arrives with connected X accounts and can't be called yet.

Updated

Description

Follow or unfollow an X account from a connected account. Needs accountId, a target (handle or user id), action follow or unfollow, and an idempotencyKey. Costs 5 credits on success. Tip: following a lead before a DM makes the DM land in their main inbox more often, but pace it; accounts have a daily action limit.

Parameters

accountId body, string, required
Id of an X account you connected in the dashboard.
action body, enum
Follow or unfollow. One of: follow, unfollow. Default follow.
targetHandle body, string
Handle to act on. Pass this or targetId.
targetId body, string
User id to act on. Pass this or targetHandle.

Send an Idempotency-Key header with every write, so a retry never acts twice.

Request examples

curl -X POST "https://chatterapi.com/v1/x/actions/follow" \
  -H "Authorization: Bearer $CHATTERAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "accountId": "8b0e6a52-1f7c-4a3e-9d2b-5c1e7f0a9b11",
  "targetId": "1615394519473549312",
  "action": "follow"
}'

Response

data is one XWriteResult. Fields:

FieldTypeNullableDescription
okbooleannoAlways true on success.
actionenumnoWhat was done.
accountIdstringnoConnected account that acted.
targetIdstringyesTarget user or tweet id.
resultIdstringyesId of what was created, if any.
dryRunbooleannoTrue when nothing was sent.
response
{
  "data": {
    "ok": true,
    "action": "follow",
    "accountId": "8b0e6a52-1f7c-4a3e-9d2b-5c1e7f0a9b11",
    "targetId": "1615394519473549312",
    "resultId": null,
    "dryRun": true
  },
  "credits": {
    "charged": 5,
    "remaining": 24997
  },
  "requestId": "req_01JA7Q3V8K2N4P5R6S7T8V",
  "cached": false
}

Recorded live response captured 2026-10-14T00:00:00.000Z, truncated to 3 items. Credits and request id are illustrative.

Credits

5 credits per call. Failed calls cost 0. Cached responses cost the same. Test keys cost 0.

Errors this tool can return

Try it