follow-unfollow
Installation
SKILL.md
Follow & Unfollow on X
Follow and unfollow accounts as a connected user, and check follow state.
Endpoints
| Endpoint | Purpose | Cost |
|---|---|---|
| POST /x/users/{id}/follow | Follow a user (numeric ID) | Write tier |
| DELETE /x/users/{id}/follow | Unfollow a user (numeric ID) | Write tier |
| GET /x/users/{username} | Resolve @handle to numeric user ID | Read tier |
| GET /x/followers/check?source=&target= | Does A follow B? | Read tier |
Base URL: https://xquik.com/api/v1. Auth: x-api-key: xq_... header.
Quick reference
POST /x/users/{id}/follow
{ "account": "<connected_username>" }
-> { followed: true }
DELETE /x/users/{id}/follow
{ "account": "<connected_username>" }
The {id} path segment is the numeric user ID. Resolve a @handle with GET /x/users/{username} first.
Typical flow
GET /x/accountsto pick the acting account.GET /x/users/{username}to resolve each target handle to a numericid.- Show the user the target handle and the acting account. Wait for approval.
- Call
POST /x/users/{id}/followto follow, orDELETE /x/users/{id}/followto unfollow.
Bulk operations
If the user asks to follow or unfollow many accounts at once, list every target first, require explicit confirmation for the full list, then iterate with a short delay (1-2s) between calls to avoid rate limits. Never silently batch.
Hard no:
- Mass-following random accounts based on a scrape
- "Follow everyone who liked my tweet" workflows without user review of the full list
- Unfollowing loops that run in the background
Errors
| Status | Code | Meaning |
|---|---|---|
| 403 | target_blocked_you |
Cannot follow a user who blocked this account |
| 422 | login_failed |
Reconnect in dashboard |
| 429 | x_api_rate_limited |
Backoff |
Related
Follower extraction: extract-followers. Full API: x-twitter-scraper.