---
title: "List members of an X List"
method: GET
path: "/x/lists/{id}/members"
tags: ["Lists"]
---

# List members of an X List

`GET /x/lists/{id}/members`

## Path parameters

- `id` string, required

## Query parameters

- `cursor` string
- `pageSize` integer

## Response `200`

List of members

- 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
    - `canDm` boolean
    - `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
    - `communityRole` string — Community role when returned by community member reads
    - `viewerFollowedBy` boolean — Whether this profile follows the authenticated viewer
    - `viewerFollowing` boolean — Whether the authenticated viewer follows this profile
    - `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-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` — 6 breaking, 30 info
  - 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`
  - the response's body type changed from `object` to no type for status `402`
  - …32 more
- **2026-04-25** `2adc33156b4b` — 4 warning, 8 info
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `401`
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `402`
  - added the new `no_credits` enum value to the `error` response property for the response status `401`
  - added the new `no_credits` enum value to the `error` response property for the response status `402`
  - …8 more
- **2026-04-08** `d40c57a05527` — 1 info
  - added the media type `application/json` for the response with the status `200`

[Change history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/x/lists/:id/members/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.dev/xquik-dev/apis/xquik-api/revisions/37e31f0b5439?raw)
