---
title: "List accounts a user follows"
method: GET
path: "/x/users/{id}/following"
tags: ["Users"]
---

# List accounts a user follows

`GET /x/users/{id}/following`

## Path parameters

- `id` string, required

## Query parameters

- `cursor` string
- `after` string
- `pageSize` integer
- `limit` integer

## Response `200`

List of following

- PaginatedUsers — Paginated user profiles. The item count can be lower than pageSize when the source returns fewer profiles or remaining credits cover fewer results. Follow next_cursor while has_next_page is true. A relationship can naturally contain fewer profiles than requested. Zero affordable results returns 402 insufficient_credits.
  - `users` UserProfile[], required
    - `id` string, required
    - `username` string, required
    - `name` string, required
    - `description` string
    - `followers` integer
    - `following` integer
    - `verified` boolean
    - `isBlueVerified` boolean — Whether X shows a blue verification badge
    - `isVerified` boolean — Whether X marks the profile as verified
    - `profilePicture` string
    - `coverPicture` string
    - `profileBannerUrl` string — Original X profile banner field when available
    - `location` string
    - `createdAt` string
    - `statusesCount` integer
    - `mediaCount` integer
    - `protected` boolean — Whether the profile protects its posts
    - `url` string
    - `favouritesCount` integer
    - `hasCustomTimelines` boolean
    - `isTranslator` boolean
    - `withheldInCountries` string[]
    - `possiblySensitive` boolean
    - `pinnedTweetIds` string[]
    - `isAutomated` boolean
    - `automatedBy` string
    - `unavailable` boolean
    - `unavailableReason` string
    - `verifiedType` string
    - `affiliatesHighlightedLabel` UserAffiliateLabel — Organization affiliation label shown on an X profile.
      - `badgeUrl` string
      - `description` string
      - `url` string
      - `urlType` string
      - `userLabelDisplayType` string
      - `userLabelType` string
    - `businessAccountAffiliatesCount` integer
    - `creatorSubscriptionsCount` integer
    - `hasGraduatedAccess` boolean
    - `hasHiddenSubscriptionsOnProfile` boolean
    - `highlightsInfo` UserHighlightsInfo — Profile highlight availability and count metadata.
      - `canHighlightTweets` boolean
      - `highlightedTweets` string
    - `identityVerification` UserIdentityVerification — Identity verification metadata displayed by X.
      - `description` string
      - `isIdentityVerified` boolean
      - `verifiedSinceMsec` string
    - `isProfileTranslatable` boolean
    - `parodyCommentaryFanLabel` string
    - `profileDescriptionLanguage` string
    - `profileImageShape` string
    - `profileInterstitialType` string
    - `profileSortEnabled` boolean
    - `profileTranslatorType` string
    - `superFollowEligible` boolean
    - `communityRole` string — Community role when returned by community member reads
    - `profile_bio` object — Structured profile bio with entity annotations
  - `has_next_page` boolean, required
  - `next_cursor` string, required

## Other responses

- `400` — Invalid input
- `401` — Authentication required for a non-MPP paid read. The Bearer challenge requests authentication and is not a Payment challenge. Requests without credentials advertise accountless Stripe checkout, but create no checkout. Explicit invalid credentials return the plain error shape. Call an advertised action only after explicit user confirmation.
- `402` — Payment required. Fixed-price direct MPP requests return a Machine Payments Protocol problem document and a WWW-Authenticate challenge. Authenticated X data requests return balances and explicit Stripe checkout-creation actions. Guest paid-read keys receive only the accountless guest top-up action. Direct MPP challenges also advertise the Stripe wallet action. Other authenticated endpoints return a legacy error shape. A failed request never creates checkout. Create checkout only after the user confirms a payment option.
- `404` — Not found
- `424` — Dependency unavailable, unauthorized, or rate limited. Default v1 returns 502. The best-practice response contract returns 424 for transparent dependency failures.
- `429` — Xquik tier rate limit exceeded. The response includes a `Retry-After` header with the number of seconds to wait before retrying.
- `502` — Dependency unavailable, unauthorized, or rate limited. Default v1 returns 502. The best-practice response contract returns 424 for transparent dependency failures.

## Changes

- **2026-07-31** `d0ee2927ac71` — 3 warning, 15 info
  - removed the optional property `users/items/canDm` from the response with the `200` status
  - removed the optional property `users/items/viewerFollowedBy` from the response with the `200` status
  - removed the optional property `users/items/viewerFollowing` from the response with the `200` status
  - added the optional property `users/items/affiliatesHighlightedLabel` to the response with the `200` status
  - …14 more
- **2026-07-22** `37e31f0b5439` — 1 breaking
  - added `#/components/schemas/XWritePaymentRequired` to the response body `oneOf` list for the response status `402` (media type: application/json)
  - …this revision’s changelog is incomplete
- **2026-07-13** `83005363f122` — 11 breaking, 2 warning, 79 info
  - for the `query` request parameter `pageSize`, default value `200` was added
  - added `#/components/schemas/AnonymousGuestAuthenticationRequired, subschema #2` to the response body `oneOf` list for the response status `401`
  - added `#/components/schemas/AuthenticatedPaymentRequired, #/components/schemas/GuestPaymentRequired, subschema #3` to the response body `oneOf` list for the response status `402`
  - the response's body type changed from `object` to no type for status `401`
  - …88 more
- …earlier changes not shown

[Full history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/x/users/:id/following/get.md)

---

[API](https://skmtc.dev/xquik-dev/apis/xquik-api.md) · [All operations](https://skmtc.dev/xquik-dev/apis/xquik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xquik-dev/xquik-api/revisions/d0ee2927ac71/schema)
