🚀 Fansly API (Alpha) is live!WIP - Updated Daily
Fansly API Logo
Earnings

Get Earning Statistics

Retrieve global or date-filtered earning statistics for a Fansly account.


Fetch the earning statistics, including pending balance, for a specific account.

Monetary Values

All monetary values (e.g., pendingBalance) are returned in base units and must be divided by 1000 to get the actual amount (e.g., $100.00 is returned as 100000).

https://v1.apifansly.com
GET
/api/fansly/{account_id}/earnings

Get Started

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

Path Parameters

curl -X GET "https://v1.apifansly.com/api/fansly/{account_id}/earnings?after=1735686000000&before=1768901153112" \
  -H "x-api-key: YOUR_API_KEY"
fetch("https://v1.apifansly.com/api/fansly/{account_id}/earnings?after=1735686000000&before=1768901153112", {
  method: "GET",
  headers: {
    "x-api-key": "YOUR_API_KEY"
  }
})
.then(response => response.json())
.then(data => console.log(data));
import requests

url = "https://v1.apifansly.com/api/fansly/{account_id}/earnings?after=1735686000000&before=1768901153112"
headers = {
    "x-api-key": "YOUR_API_KEY"
}

response = requests.get(url, headers=headers)
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/{account_id}/earnings?after=1735686000000&before=1768901153112"))
        .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/{account_id}/earnings?after=1735686000000&before=1768901153112");
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/{account_id}/earnings?after=1735686000000&before=1768901153112"
    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))
}

Parameters

account_id*
string
The Unique Identifier for the connected account, retrieved from your Dashboard.
after*
number
Filters results to include data "after" this Unix timestamp (ms).
before*
number
Filters results to include data "before" this Unix timestamp (ms).

To retrieve the statistics for a specific account, you must provide the Account_ID in the URL path. This is the unique identifier found on your Fansly API dashboard for each connected account.

You can also refine your results by adding the following query parameters to the request:

  • after: A Unix timestamp (in milliseconds) to filter results starting from this date.
  • before: A Unix timestamp (in milliseconds) to filter results up to this date.

Using these together allows you to fetch earnings for a specific custom date range.

Response

{
    "statusCode": 200,
    "message": "Success",
    "data": {
        "status_code": 200,
        "data": {
            "success": true,
            "response": {
                "pendingBalance": 529
            }
        }
    },
    "timestamp": "2026-01-21T19:22:17.450Z"
}

On this page