# Get an X account's followers

`GET /v1/x/users/{user}/followers`

Returns accounts that follow the account, most recent first, as X lists them. X chooses the page size (about 70), so there is no `limit`; paginate with `meta.nextCursor`, which is null after the last page. 404 when the account does not exist, or is protected: a protected account's posts and connections are visible only to accounts it approved. Billed per account returned. The first page also bills one profile lookup, to resolve `{user}`; later pages carry the account in the cursor and do not.

**Price:** 1 credit per call, plus 2 credits per X profile and 1 credit per X user result returned. Failed and refused calls cost nothing.

**Rate limit:** Counts as 3 requests against your per-minute rate limit.

**MCP tool:** `get_x_user_followers`, on every [MCP](/mcp) connection.

Requires an API key, sent as `Authorization: Bearer <key>`.

## Request

```bash
curl --request GET \
  --url https://api.weirapp.io/v1/x/users/USER/followers \
  --header "Authorization: Bearer $WEIR_API_KEY"
```

### Path parameters

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `user` | string | yes | A username, with or without the `@`, or a numeric account id. An all-digit value is read as an id. · matches `^@?[A-Za-z0-9_]{1,50}$` |

### Query parameters

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `cursor` | string | no | Opaque cursor from the previous page's `meta.nextCursor`. Pass it back unchanged, with the same path and query parameters; a cursor from another request is rejected with 400. · 1–4096 chars |

## Response

Followers, most recent first.

### `200`

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `data` | array of object | yes |  |
| `data[].id` | string | yes |  |
| `data[].username` | string | yes | Handle without the `@` prefix. |
| `data[].name` | string | yes | Display name. |
| `data[].description` | string or null | yes |  |
| `data[].url` | string | yes |  |
| `data[].profileImageUrl` | string or null | yes |  |
| `data[].profileBannerUrl` | string or null | yes |  |
| `data[].location` | string or null | yes |  |
| `data[].verified` | boolean | yes |  |
| `data[].followersCount` | integer | yes | min 0 |
| `data[].followingCount` | integer | yes | min 0 |
| `data[].statusesCount` | integer | yes | Posts published. · min 0 |
| `data[].likeCount` | integer | yes | min 0 |
| `data[].createdAt` | string (date-time) | yes |  |
| `data[].pinnedPostIds` | array of string | yes | Ids of the posts pinned to the top of the profile, usually zero or one. |
| `data[].protected` | boolean | yes | True when only approved followers can see this account's posts. Its posts, replies, media, and relationship lists are then not available through this API. |
| `meta` | object | yes |  |
| `meta.requestId` | string | yes |  |
| `meta.nextCursor` | string or null | no |  |

## Errors

| Status | Meaning | What to do |
| --- | --- | --- |
| `400` | The request failed validation. | The request was malformed. The `details` object names the field. |
| `401` | The API key is missing, malformed, expired, or revoked. | The key is missing, malformed, revoked, or expired. |
| `402` | The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes. | Out of credits. **Never retry.** Only a person can clear it, by adding credits at https://weirapp.io/dashboard/billing. Retrying never will. |
| `403` | The API key does not carry the scope this route requires. | The key is valid but lacks the scope this operation needs. |
| `404` | The requested resource does not exist. | No such resource, or it is not public. |
| `429` | The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again. | Rate limited. Retryable: wait for `Retry-After`, then try again. |
| `500` | An unexpected error occurred. | Something failed on our side. Retryable with backoff. |
| `503` | The source is temporarily unavailable. The request is safe to retry. | A source was unreachable. Retryable with backoff. |
