> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onlyfanskit.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Fans & subscribers

> List fans, track subscriptions, segment audiences.

## Subscribers

The `subscriptions` resource covers your audience and per-subscriber state.

```ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
const active = await of.subscriptions.listActive({ limit: 50 });
const expired = await of.subscriptions.listExpired();
const top = await of.subscriptions.topSubscribers();
const chart = await of.subscriptions.subscribersChart();
```

| Want to                    | Call                                |
| -------------------------- | ----------------------------------- |
| Active subscribers         | `subscriptions.listActive(params)`  |
| Expired subscribers        | `subscriptions.listExpired(params)` |
| Everyone                   | `subscriptions.listAll(params)`     |
| Top subscribers            | `subscriptions.topSubscribers()`    |
| Subscriber count over time | `subscriptions.subscribersChart()`  |
| Apply a discount           | `subscriptions.applyDiscount(...)`  |
| Toggle auto-prolong        | `subscriptions.setAutoProlong(...)` |

## Subscribing to a creator

```ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
await of.subscriptions.subscribe(creatorId);
// with a free-trial link:
await of.subscriptions.subscribe(creatorId, { trialId: 12345 });
// cancel auto-renewal (stays active until expiry):
await of.subscriptions.unsubscribe(creatorId);
```

<Warning>
  A payment card must be on file for any `subscribe` call — even when the
  creator's price is `$0`. Without one you'll get a `400` with code `106`.
</Warning>

## Lists (audience segments)

Group fans into lists for targeted messaging and analytics.

```ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
const my = await of.lists.create("VIP fans");
await of.lists.addUsers(my.id, [123, 456]);
const members = await of.lists.listUsers(my.id, { limit: 50 });
await of.lists.removeUser(my.id, 123);
```

Lists also support criteria-based bulk adds — `addTopSubscribers`,
`addAwardWinners`, `addQueueBuyers`, `addStreamSegment`, and more — so you can
build a segment from an existing cohort in one call.

## Moderation

`users.block`, `users.unblock`, `users.restrict`, and `users.unrestrict`
manage individual fan access. `streaks` exposes per-fan engagement streak
counters.
