---
title: "Get User Subscriptions"
method: GET
path: "/twitter/user/subscriptions"
---

# Get User Subscriptions

`GET /twitter/user/subscriptions`

## Request

- Base URL: `https://api.twitterapi.io`
- URL: `https://api.twitterapi.io/twitter/user/subscriptions`
- Auth: API key in header `X-API-Key`

Get the creators a user subscribes to (the accounts they pay to support with X Creator Subscriptions, shown on the "Subscriptions" tab of their profile). This is not the list of people who subscribe to the user.

- Pass the numeric user ID (`userId`). To get the ID from a username, call [Get User Info](/api-reference/endpoint/get_user_by_username) first.
- Up to 20 creators per page. Use `next_cursor` for the next page; `has_next_page` is `false` on the last page.
- Most accounts don't subscribe to anyone, so an empty `users` list with `status: "success"` is normal.
- If the user doesn't exist or is suspended, the response is `status: "error"` with `msg: "user not found"`.
- Price: 15 credits per creator returned, with a minimum of 15 credits per request.
- Empty results (the user subscribes to nobody) and "user not found" responses are charged the 15-credit minimum.
- If our upstream is temporarily unavailable, the request returns HTTP 502 and is not charged; retry later.
- For protected accounts, results reflect what the account shows publicly.

## Query parameters

- `userId` string, required
- `cursor` string

## Response `200`

Creators the user subscribes to

- object
  - `users` UserInfo[]: Creators the user subscribes to (up to 20 per page)
    - `type` 'user'
    - `userName` string: The username of the Twitter user
    - `url` string: The x.com URL of the user's profile
    - `id` string: The unique identifier of the user
    - `name` string: The display name of the user
    - `isBlueVerified` boolean: Whether the user has Twitter Blue verification
    - `protected` boolean: Whether the account is private (protected). Only approved followers can see its posts
    - `verifiedType` string: The type of verification. eg. "government" ,can be empty
    - `profilePicture` string: URL of the user's profile picture
    - `coverPicture` string: URL of the user's cover picture
    - `description` string: The user's profile description
    - `location` string: The user's location.for example: 東京の端っこ . may be empty
    - `followers` integer: Number of followers
    - `following` integer: Number of accounts following
    - `canDm` boolean: Whether the user can receive DMs
    - `createdAt` string: When the account was created. Format depends on the endpoint: /twitter/user/info returns ISO 8601 (e.g. 2007-12-19T20:20:32.000000Z); inside tweet objects (tweet.author) it is the classic X format (e.g. Wed Dec 19 20:20:32 +0000 2007).
    - `favouritesCount` integer: Number of favorites
    - `hasCustomTimelines` boolean: Whether the user has custom timelines
    - `isTranslator` boolean: Whether the user is a translator
    - `mediaCount` integer: Number of media posts
    - `statusesCount` integer: Number of status updates
    - `withheldInCountries` string[]: Countries where the account is withheld
    - `affiliatesHighlightedLabel` object
    - `possiblySensitive` boolean: Whether the account may contain sensitive content
    - `pinnedTweetIds` string[]: IDs of pinned tweets
    - `isAutomated` boolean: Whether the account is automated
    - `automatedBy` string: The account that automated the account
    - `unavailable` boolean: Whether the account is unavailable
    - `message` string: The message of the account.eg. "This account is unavailable" or "This account is suspended"
    - `unavailableReason` string: The reason the account is unavailable.eg. "suspended"
    - `profile_bio` object
      - `description` string
      - `entities` object
        - `description` object
          - `urls` object[]
            - `display_url` string
            - `expanded_url` string
            - `indices` integer[]
            - `url` string
        - `url` object
          - `urls` object[]
            - `display_url` string
            - `expanded_url` string
            - `indices` integer[]
            - `url` string
  - `has_next_page` boolean: true if another page exists; false on the last page
  - `next_cursor` string, nullable: Cursor for the next page (null on the last page)
  - `status` 'success' | 'error': success, or error when the user doesn't exist
  - `msg` string: Error message, e.g. "user not found"

## Other responses

- `400`: Invalid userId or cursor
- `502`: Temporarily unavailable, not charged. Please retry.

## Changes

- **2026-11-03** `03599c7e3236`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/twitterapi/apis/twitterapi-io-the-most-stable-fastest-cheapest-twitter-api/changes/twitter/user/subscriptions/get.md)

---

[API](https://skmtc.dev/twitterapi/apis/twitterapi-io-the-most-stable-fastest-cheapest-twitter-api.md) - [All operations](https://skmtc.dev/twitterapi/apis/twitterapi-io-the-most-stable-fastest-cheapest-twitter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/twitterapi/apis/twitterapi-io-the-most-stable-fastest-cheapest-twitter-api/revisions/03599c7e3236?raw)
