Fansly API LogoFansly API
Subscribers

All Subscribers

Get a list of all subscribers (active and expired) for a specific account.

https://v1.apifansly.com/api/fansly
GET
/{accountId}/subscribers

Get Started

All requests to the Fansly API require an API Key. See the Authentication page for details.

Path Parameters

accountId*
string
The internal ID of the connected Fansly account.

Query Parameters

status*
string
Must be set to "3,4" to return all subscribers (active and expired).
cursor ?
string
The cursor ID to fetch the next page of results (found at the bottom of the previous response).
limit ?
number
Number of results to return per page.

Use status=3,4 to return both active and expired subscribers.

curl -X GET "https://v1.apifansly.com/api/fansly/{accountId}/subscribers?status=3,4" \
  -H "x-api-key: YOUR_API_KEY"
fetch("https://v1.apifansly.com/api/fansly/{accountId}/subscribers?status=3,4", {
  method: "GET",
  headers: {
    "x-api-key": "YOUR_API_KEY"
  }
})
import requests

url = "https://v1.apifansly.com/api/fansly/{accountId}/subscribers"
headers = {"x-api-key": "YOUR_API_KEY"}
params = {"status": "3,4"}

response = requests.get(url, headers=headers, params=params)
print(response.json())
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://v1.apifansly.com/api/fansly/{accountId}/subscribers?status=3,4"))
        .header("x-api-key", "YOUR_API_KEY")
        .GET()
        .build();

client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
        .thenApply(HttpResponse::body)
        .thenAccept(System.out::println)
        .join();
using System.Net.Http;
using System.Threading.Tasks;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

var response = await client.GetAsync("https://v1.apifansly.com/api/fansly/{accountId}/subscribers?status=3,4");
var responseString = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseString);
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    url := "https://v1.apifansly.com/api/fansly/{accountId}/subscribers?status=3,4"
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Response

{
    "statusCode": 200,
    "message": "Success",
    "data": {
        "status_code": 200,
        "data": {
            "success": true,
            "response": {
                "stats": {
                    "totalActive": "TOTAL_ACTIVE_COUNT",
                    "totalExpired": "TOTAL_EXPIRED_COUNT",
                    "total": "TOTAL_COUNT"
                },
                "subscriptions": [
                    {
                        "id": "SUBSCRIPTION_ID_1",
                        "historyId": "HISTORY_ID_1",
                        "subscriberId": "SUBSCRIBER_ACCOUNT_ID_1",
                        "subscriptionTierId": "TIER_ID",
                        "subscriptionTierName": "1 month",
                        "subscriptionTierColor": "#46A7F8",
                        "planId": "PLAN_ID",
                        "promoId": "0",
                        "giftCodeId": null,
                        "paymentMethodId": "0",
                        "status": 3,
                        "price": "PRICE_IN_CENTS",
                        "renewPrice": "RENEW_PRICE_IN_CENTS",
                        "renewCorrelationId": "RENEW_CORRELATION_ID_1",
                        "autoRenew": "AUTO_RENEW_FLAG",
                        "billingCycle": "BILLING_CYCLE_IN_DAYS",
                        "duration": "DURATION_IN_DAYS",
                        "renewDate": "RENEW_TIMESTAMP",
                        "version": "VERSION_NUMBER",
                        "createdAt": "CREATED_TIMESTAMP",
                        "updatedAt": "UPDATED_TIMESTAMP",
                        "endsAt": "ENDS_TIMESTAMP",
                        "promoPrice": null,
                        "promoDuration": null,
                        "promoStatus": null,
                        "promoStartsAt": null,
                        "promoEndsAt": null
                    },
                    {
                        "id": "SUBSCRIPTION_ID_2",
                        "historyId": "HISTORY_ID_2",
                        "subscriberId": "SUBSCRIBER_ACCOUNT_ID_2",
                        "subscriptionTierId": "TIER_ID",
                        "subscriptionTierName": "1 month",
                        "subscriptionTierColor": "#46A7F8",
                        "planId": "PLAN_ID",
                        "promoId": "0",
                        "giftCodeId": null,
                        "paymentMethodId": "0",
                        "status": 4,
                        "price": "PRICE_IN_CENTS",
                        "renewPrice": "RENEW_PRICE_IN_CENTS",
                        "renewCorrelationId": "RENEW_CORRELATION_ID_2",
                        "autoRenew": "AUTO_RENEW_FLAG",
                        "billingCycle": "BILLING_CYCLE_IN_DAYS",
                        "duration": "DURATION_IN_DAYS",
                        "renewDate": "RENEW_TIMESTAMP",
                        "version": "VERSION_NUMBER",
                        "createdAt": "CREATED_TIMESTAMP",
                        "updatedAt": "UPDATED_TIMESTAMP",
                        "endsAt": "ENDS_TIMESTAMP",
                        "promoPrice": null,
                        "promoDuration": null,
                        "promoStatus": null,
                        "promoStartsAt": null,
                        "promoEndsAt": null
                    }
                ],
                "nextCursor": "NEXT_CURSOR_ID"
            }
        }
    },
    "timestamp": "2026-03-16T02:06:25.512Z"
}

Response Fields

FieldTypeDescription
statusCodenumberThe HTTP status code of the response
messagestringResult status message
dataobjectMain response payload
├─ dataobjectFansly specific data
│ └─ responseobjectSubscribers payload
│ ├─── statsobjectAggregated subscription counts
│ │ ├─── totalActivenumberNumber of currently active subscriptions
│ │ ├─── totalExpirednumberNumber of expired subscriptions
│ │ └─── totalnumberTotal number of subscriptions
│ └─── subscriptionsarrayArray of all subscription objects
│ ├─── idstringUnique subscription ID
│ ├─── historyIdstringSubscription history record ID
│ ├─── subscriberIdstringFansly account ID of the subscriber
│ ├─── subscriptionTierIdstringID of the subscription tier
│ ├─── subscriptionTierNamestringDisplay name of the tier
│ ├─── subscriptionTierColorstringHex color associated with the tier
│ ├─── planIdstringID of the billing plan
│ ├─── promoIdstringPromo ID, "0" if none
│ ├─── giftCodeIdstring | nullGift code ID if gifted, otherwise null
│ ├─── paymentMethodIdstringPayment method ID, "0" if none
│ ├─── statusnumberSubscription status — 3 active, 4 expired
│ ├─── pricenumberSubscription price (in cents)
│ ├─── renewPricenumberRenewal price (in cents)
│ ├─── autoRenewnumber1 if auto-renew is enabled, 0 if not
│ ├─── billingCyclenumberBilling cycle length in days
│ ├─── durationnumberSubscription duration in days
│ ├─── renewDatenumberUnix timestamp (ms) of the next renewal
│ ├─── createdAtnumberUnix timestamp (ms) when subscription was created
│ ├─── updatedAtnumberUnix timestamp (ms) of last update
│ ├─── endsAtnumberUnix timestamp (ms) when subscription ends or ended
│ ├─── promoPricenumber | nullPromotional price if applicable
│ ├─── promoDurationnumber | nullPromotional duration in days if applicable
│ ├─── promoStatusnumber | nullPromotional status code if applicable
│ ├─── promoStartsAtnumber | nullPromo start timestamp if applicable
│ └─── promoEndsAtnumber | nullPromo end timestamp if applicable
│ └─── nextCursorstringThe cursor ID used to fetch the next page of results
timestampstringISO 8601 timestamp of the response

On this page