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

# List Expiring Subscribers (/api-reference/fanvue/fans/list-expiring-subscribers)

List the subscribers whose subscription lapses inside a window and who have auto-renew switched off, so a win-back can be sent before they go. Ordered soonest to lapse first.

Fanvue has no endpoint for this and no server-side filter that answers it. The `non_renewing` smart list is the closest thing and is not the same question: it means auto-renew is off whenever the period ends, and its members carry no subscription dates to narrow with. So this endpoint pages `GET /v1/subscribers` and filters on `subscription.currentPeriodEnd` and `subscription.autoRenewalEnabled`, which is the derivation List Subscribers describes, done here instead of in your code.

**This costs more than one credit.** One page of 50 subscribers is one request Fanvue answers and one credit, the same rule as every other endpoint, and one call walks up to 20 pages, or fewer if Fanvue is slow and the walk passes 20 seconds. `_meta._credits.used` reports what a call actually cost. Because the cost is not known until the walk finishes, the balance check up front is against the worst case, so a balance under 20 is refused even when the call would have cost less.

**A page can come back empty with a `nextCursor` set.** The caps are on subscribers scanned and time spent, not on matches found, so an empty `data` with a cursor means "nothing matched so far, keep going" rather than "no expiring subscribers". Follow `nextCursor` until it is `null`, exactly as with the other list endpoints. Each item is a subscriber object in the same shape List Subscribers returns.

## OpenAPI

````yaml https://app.onlyfansapi.com/scribe-fanvue-docs/openapi.yaml get /api/fanvue/{fanvueAccount}/fans/expiring
openapi: 3.0.3
info:
  title: Fanvue API Documentation
  description: ""
  version: 1.0.0
servers:
  - url: https://app.onlyfansapi.com
security:
  - default: []
tags:
  - name: Account
    description: Endpoints for your connected Fanvue accounts
  - name: Chat Messages
    description: Endpoints for the messages inside a Fanvue chat.
  - name: Chats
    description: Endpoints for a Fanvue creator's inbox. A chat is identified by the
      fan's user UUID.
  - name: Fans
    description: "Endpoints for the fans of a Fanvue creator: subscribers,
      followers, smart lists and per-fan insights."
  - name: Fanvue Account
    description: Endpoints for the connected Fanvue creator itself.
  - name: Insights
    description: "Revenue and growth reporting for a Fanvue creator: per-transaction
      earnings, the aggregated earnings summary, the subscriber trend and top
      spenders."
  - name: Profiles
    description: Public Fanvue creator profiles, readable without connecting the creator.
paths:
  /api/fanvue/{fanvueAccount}/fans/expiring:
    parameters:
      - in: path
        name: fanvueAccount
        description: The Fanvue Account ID
        example: fanvue_acct_XXXXXXXXXXXXXXX
        required: true
        schema:
          type: string
    get:
      summary: List Expiring Subscribers
      operationId: listExpiringSubscribers
      description: >-
        List the subscribers whose subscription lapses inside a window and who
        have auto-renew switched off, so a win-back can be sent before they go.
        Ordered soonest to lapse first.


        Fanvue has no endpoint for this and no server-side filter that answers
        it. The `non_renewing` smart list is the closest thing and is not the
        same question: it means auto-renew is off whenever the period ends, and
        its members carry no subscription dates to narrow with. So this endpoint
        pages `GET /v1/subscribers` and filters on
        `subscription.currentPeriodEnd` and `subscription.autoRenewalEnabled`,
        which is the derivation List Subscribers describes, done here instead of
        in your code.


        **This costs more than one credit.** One page of 50 subscribers is one
        request Fanvue answers and one credit, the same rule as every other
        endpoint, and one call walks up to 20 pages, or fewer if Fanvue is slow
        and the walk passes 20 seconds. `_meta._credits.used` reports what a
        call actually cost. Because the cost is not known until the walk
        finishes, the balance check up front is against the worst case, so a
        balance under 20 is refused even when the call would have cost less.


        **A page can come back empty with a `nextCursor` set.** The caps are on
        subscribers scanned and time spent, not on matches found, so an empty
        `data` with a cursor means "nothing matched so far, keep going" rather
        than "no expiring subscribers". Follow `nextCursor` until it is `null`,
        exactly as with the other list endpoints. Each item is a subscriber
        object in the same shape List Subscribers returns.
      parameters:
        - in: query
          name: withinDays
          description: Include subscriptions ending within this many days (1 - 90).
            Default = 7
          example: 7
          required: false
          schema:
            type: integer
            description: Include subscriptions ending within this many days (1 - 90).
              Default = 7
            example: 7
        - in: query
          name: cursor
          description: Opaque pagination cursor from a previous response's `nextCursor`,
            to carry on scanning where the last call stopped.
          example: eyJ2IjoxfQ
          required: false
          schema:
            type: string
            description: Opaque pagination cursor from a previous response's `nextCursor`,
              to carry on scanning where the last call stopped.
            example: eyJ2IjoxfQ
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    data:
                      - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d479
                        handle: sarah-jones
                        displayName: Sarah Jones
                        nickname: null
                        isTopSpender: false
                        avatarUrl: null
                        registeredAt: 2026-09-21T12:05:33.176Z
                        subscription:
                          status: active
                          price: 399
                          amountPaid: 399
                          currentPeriodStart: 2026-08-24T10:29:07.224Z
                          currentPeriodEnd: 2026-09-24T10:28:59.873Z
                          autoRenewalEnabled: false
                        firstSubscribedAt: 2026-07-24T10:29:07.474Z
                      - uuid: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
                        handle: mike-smith
                        displayName: Mike Smith
                        nickname: null
                        isTopSpender: false
                        avatarUrl: null
                        registeredAt: 2026-05-02T09:15:00.000Z
                        subscription:
                          status: active
                          price: 999
                          amountPaid: 999
                          currentPeriodStart: 2026-08-27T08:11:42.005Z
                          currentPeriodEnd: 2026-09-27T08:11:42.005Z
                          autoRenewalEnabled: false
                        firstSubscribedAt: 2026-05-27T08:11:42.005Z
                    nextCursor: null
                  _meta:
                    _credits:
                      used: 3
                      balance: 10055811
                      note: Always
                    _cache:
                      is_cached: false
                      note: Cache disabled for this endpoint
                    _rate_limits:
                      limit_minute: 5000
                      limit_day: null
                      remaining_minute: 4999
                      remaining_day: null
                      notice: We have decided to remove our daily rate limits. Please remove any
                        references to these in your integrations.
                properties:
                  data:
                    type: object
                    properties:
                      data:
                        type: array
                        example:
                          - uuid: f47ac10b-58cc-4372-a567-0e02b2c3d479
                            handle: sarah-jones
                            displayName: Sarah Jones
                            nickname: null
                            isTopSpender: false
                            avatarUrl: null
                            registeredAt: 2026-09-21T12:05:33.176Z
                            subscription:
                              status: active
                              price: 399
                              amountPaid: 399
                              currentPeriodStart: 2026-08-24T10:29:07.224Z
                              currentPeriodEnd: 2026-09-24T10:28:59.873Z
                              autoRenewalEnabled: false
                            firstSubscribedAt: 2026-07-24T10:29:07.474Z
                          - uuid: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
                            handle: mike-smith
                            displayName: Mike Smith
                            nickname: null
                            isTopSpender: false
                            avatarUrl: null
                            registeredAt: 2026-05-02T09:15:00.000Z
                            subscription:
                              status: active
                              price: 999
                              amountPaid: 999
                              currentPeriodStart: 2026-08-27T08:11:42.005Z
                              currentPeriodEnd: 2026-09-27T08:11:42.005Z
                              autoRenewalEnabled: false
                            firstSubscribedAt: 2026-05-27T08:11:42.005Z
                        items:
                          type: object
                          properties:
                            uuid:
                              type: string
                              example: f47ac10b-58cc-4372-a567-0e02b2c3d479
                            handle:
                              type: string
                              example: sarah-jones
                            displayName:
                              type: string
                              example: Sarah Jones
                            nickname:
                              type: string
                              example: null
                              nullable: true
                            isTopSpender:
                              type: boolean
                              example: false
                            avatarUrl:
                              type: string
                              example: null
                              nullable: true
                            registeredAt:
                              type: string
                              example: 2026-09-21T12:05:33.176Z
                            subscription:
                              type: object
                              properties:
                                status:
                                  type: string
                                  example: active
                                price:
                                  type: integer
                                  example: 399
                                amountPaid:
                                  type: integer
                                  example: 399
                                currentPeriodStart:
                                  type: string
                                  example: 2026-08-24T10:29:07.224Z
                                currentPeriodEnd:
                                  type: string
                                  example: 2026-09-24T10:28:59.873Z
                                autoRenewalEnabled:
                                  type: boolean
                                  example: false
                            firstSubscribedAt:
                              type: string
                              example: 2026-07-24T10:29:07.474Z
                      nextCursor:
                        type: string
                        example: null
                        nullable: true
                  _meta:
                    type: object
                    properties:
                      _credits:
                        type: object
                        properties:
                          used:
                            type: integer
                            example: 3
                          balance:
                            type: integer
                            example: 10055811
                          note:
                            type: string
                            example: Always
                      _cache:
                        type: object
                        properties:
                          is_cached:
                            type: boolean
                            example: false
                          note:
                            type: string
                            example: Cache disabled for this endpoint
                      _rate_limits:
                        type: object
                        properties:
                          limit_minute:
                            type: integer
                            example: 5000
                          limit_day:
                            type: string
                            example: null
                            nullable: true
                          remaining_minute:
                            type: integer
                            example: 4999
                          remaining_day:
                            type: string
                            example: null
                            nullable: true
                          notice:
                            type: string
                            example: We have decided to remove our daily rate limits. Please remove any
                              references to these in your integrations.
      tags:
        - Fans
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                withinDays:
                  type: integer
                  description: Must be at least 1. Must not be greater than 90.
                  example: 2
                cursor:
                  type: string
                  description: ""
                  example: ullam
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: Get your API Key from OnlyFansAPI Console -
        https://app.onlyfansapi.com/api-keys
````