# X (Twitter) Following list API (twitter.following_list)

- Canonical page: https://everyinfra.com/en/twitter-api/following_list
- Endpoint: POST https://api.everyinfra.com/api/v1/social with {"platform": "twitter", "action": "following_list", "params": {...}}
- Price: $0.000556 per call ($0.56 per 1,000 requests); failed calls and empty results are not charged
- Returns: list, default 200, max 2000 per call
- Mode: sync; add "mode": "async" for slow tasks

X (Twitter) Following list shows whom one X account follows: name the account by its handle in `username`, and each row that comes back is one followed account, with its handle, `name`, profile `url`, `location`, its own follower, following and post counts, verification, whether it is protected, and its creation date. The result reveals where an account directs its attention, such as the sources a journalist keeps up with, the partners and competitors a brand watches, or the circle around a creator. Researchers and marketers use it as a seed list for finding related accounts and for mapping networks.

A leading @ on the handle is fine; a profile URL is not. Counts and flags on each row describe the followed account, so sorting by `follower_count` separates large accounts from small ones inside the list. The rows reflect the followed accounts X shows publicly and may not cover all of them, so avoid reading the number of rows as the account's exact following total.

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=twitter&action=following_list

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| username | not declared | yes | not declared | X username, optionally prefixed with @, without entering a full profile URL. profile compiles data from author details within recent posts; followers_list and following_list retrieve visible followers and following accounts respectively. |
| limit | integer (1–2000) | no | 200 | The most rows to return in this call, an integer from 1 to 2000. The default applies when you leave it out, and a call can return fewer rows. Larger values return 422 before any charge. |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| id | The record's unique ID on the platform. Unique only within one platform; IDs can repeat across platforms. |
| username | Username (@handle). |
| url | Link to the record on the platform. |
| name | Name of the object itself, for account, product and business capabilities. |
| text | Body text with HTML removed, returned in full and never cut short (on a few platforms the list results themselves carry only an excerpt; the platform's field notes say so). |
| location | Location description passed through as is; the format varies by platform. |
| avatar_url | Avatar image link. Some platforms return sized CDN links that can expire. |
| follower_count | Followers. null means not disclosed, not 0. |
| following_count | Accounts followed. null means not disclosed, not 0. |
| post_count | Total posts. null means not disclosed, not 0. |
| is_verified | Whether the platform verified the account. null means it cannot be determined. |
| is_protected | platform-native meaning |
| created_at | Creation time, same format as posted_at. |
| platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "twitter",
  "action": "following_list",
  "params": {
    "username": "nasa"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "twitter",
        "action": "following_list",
        "params": {
            "username": "nasa",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

Real response to the example request above, captured 2026-09-26T08:56:04Z. `results` and `count` are real with personal information (names, handles, avatars, profile links, contact details) removed; the list keeps the first 2 of 115. `id`, `billing` and `quota` differ on every call, so only their shape is shown.

```text
{
  "id": "req_…",
  "platform": "twitter",
  "action": "following_list",
  "results": [
    {
      "id": "•••",
      "username": "•••",
      "url": "https://x.com/•••",
      "name": "•••",
      "text": "Serving President Donald J. Trump as the 16th @NASA Deputy Administrator | Working alongside @••• to lead the next Golden Age of space discovery 🚀",
      "avatar_url": "https://pbs.twimg.com/•••",
      "follower_count": 5417,
      "following_count": 6,
      "post_count": 64,
      "is_verified": false,
      "is_protected": false,
      "created_at": "Thu May 14 18:55:50 +0000 2026",
      "platform": "twitter"
    },
    {
      "id": "•••",
      "username": "•••",
      "url": "https://x.com/•••",
      "name": "•••",
      "text": "@••• astronaut. Artemis II crewmember | Astronaute @••• Membre de l’équipage d’Artemis II",
      "location": "•••",
      "avatar_url": "https://pbs.twimg.com/•••",
      "follower_count": 149812,
      "following_count": 155,
      "post_count": 2844,
      "is_verified": false,
      "is_protected": false,
      "created_at": "Tue Aug 09 14:55:39 +0000 2011",
      "platform": "twitter"
    }
  ],
  "count": 115,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### Does this return followers or followed accounts?

Followed accounts: the people and organizations the named account has chosen to follow. For the reverse direction, the accounts that follow it, call the X (Twitter) Follower list capability with the same handle. Both return rows with identical fields, so the two lists fit in one table with a column for direction.

### How do I find the most influential accounts someone follows?

Rank the rows by `follower_count`, which is each followed account's own audience, and check `is_verified` for accounts the platform has verified. Leave rows with a null count out of the ranking instead of treating them as zero, since null means X did not disclose the number.

### What does `is_protected` mean on a row?

It is true when the followed account is protected, which means its posts are visible only to its followers. The follow relationship still appears here, but such accounts have no public posts, so set them aside before you collect posts from the accounts on the list.

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=twitter
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
