Webhooks are now available in the Fansly API Console! 🚀
Fansly API Logo
Subscribers

All Subscribers


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

https://v1.apifansly.com
GET
/api/fansly/{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).

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": 1,
                    "totalExpired": 1,
                    "total": 2
                },
                "subscriptions": [
                    {
                        "id": "XXxxxxxxxxxxxxxxxxxx",
                        "historyId": "XXxxxxxxxxxxxxxxxxxx",
                        "subscriberId": "XXxxxxxxxxxxxxxxxxxx",
                        "subscriptionTierId": "XXxxxxxxxxxxxxxxxxxx",
                        "subscriptionTierName": "1 month",
                        "subscriptionTierColor": "#46A7F8",
                        "planId": "XXxxxxxxxxxxxxxxxxxx",
                        "promoId": "0",
                        "giftCodeId": null,
                        "paymentMethodId": "0",
                        "status": 3,
                        "price": 5000,
                        "renewPrice": 5000,
                        "renewCorrelationId": "XXxxxxxxxxxxxxxxxxxx",
                        "autoRenew": 1,
                        "billingCycle": 30,
                        "duration": 30,
                        "renewDate": 1772732970000,
                        "version": 3,
                        "createdAt": 1772732970000,
                        "updatedAt": 1772732970000,
                        "endsAt": 1775411370000,
                        "promoPrice": null,
                        "promoDuration": null,
                        "promoStatus": null,
                        "promoStartsAt": null,
                        "promoEndsAt": null
                    },
                    {
                        "id": "XXxxxxxxxxxxxxxxxxxx",
                        "historyId": "XXxxxxxxxxxxxxxxxxxx",
                        "subscriberId": "XXxxxxxxxxxxxxxxxxxx",
                        "subscriptionTierId": "XXxxxxxxxxxxxxxxxxxx",
                        "subscriptionTierName": "1 month",
                        "subscriptionTierColor": "#46A7F8",
                        "planId": "XXxxxxxxxxxxxxxxxxxx",
                        "promoId": "0",
                        "giftCodeId": null,
                        "paymentMethodId": "0",
                        "status": 4,
                        "price": 5000,
                        "renewPrice": 5000,
                        "renewCorrelationId": "XXxxxxxxxxxxxxxxxxxx",
                        "autoRenew": 0,
                        "billingCycle": 30,
                        "duration": 30,
                        "renewDate": 1772732970000,
                        "version": 3,
                        "createdAt": 1772732970000,
                        "updatedAt": 1772732970000,
                        "endsAt": 1775411370000,
                        "promoPrice": null,
                        "promoDuration": null,
                        "promoStatus": null,
                        "promoStartsAt": null,
                        "promoEndsAt": null
                    }
                ]
            }
        }
    },
    "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
timestampstringISO 8601 timestamp of the response

On this page