---
title: "List a Substack user's followers, following, or subscribers"
method: GET
path: "/substack/user/connections"
tags: ["Substack"]
---

# List a Substack user's followers, following, or subscribers

`GET /substack/user/connections`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/substack/user/connections`
- Auth: API key in header `x-api-key`

Returns one of a user's public connection lists. Each entry is a full profile in the same shape as /substack/user, subscriber signals included. user_id is the numeric id returned by /substack/user. The upstream returns a bounded preview of each list rather than the complete membership.

## Query parameters

- `user_id` integer, required
- `list` 'followers' | 'following' | 'subscribers'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SubstackUserConnectionsResponseDoc
  - `code` integer
  - `data` SubstackUserConnectionsResult
    - `list` string
    - `name` string
    - `user_id` integer
    - `users` SubstackUser[]
      - `bestseller_tier` integer
      - `bio` string
      - `handle` string
      - `id` integer
      - `name` string
      - `photo_url` string
      - `profile_set_up_at` string
      - `publications` SubstackUserPublication[]
        - `custom_domain` string
        - `id` integer
        - `is_primary` boolean
        - `name` string
        - `role` string
        - `subdomain` string
        - `url` string
      - `slug` string
      - `subscribers` SubstackSubscriberCounts
        - `follower_count` integer
        - `paid_rough` string: PaidRough and PaidRoughInt are the only paid-subscriber figures Substack publishes, and both are buckets rather than counts. PaidRoughInt is the finer of the two and is always present; PaidTier is the coarser threshold behind the public bestseller badge.
        - `paid_rough_int` integer
        - `paid_tier` integer
        - `total` integer
        - `total_display` string
        - `total_hidden` boolean
        - `total_rough` string
      - `subscriptions` SubstackUserSubscription[]
        - `is_founding` boolean
        - `membership_state` string
        - `publication_id` integer
        - `publication_name` string
        - `subdomain` string
      - `url` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
