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

Get Monthly Earnings Statistics

Retrieve a monthly breakdown of revenue and performance metrics for a Fansly account.


Fetch the monthly earning statistics for a specific account, including gross/net totals and performance percentages.

Monetary Values

All monetary values (e.g., totalGross, totalNet) 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/monthly

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/monthly?after=1735686000000&before=1768901153112" \
  -H "x-api-key: YOUR_API_KEY"
fetch("https://v1.apifansly.com/api/fansly/{account_id}/earnings/monthly?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/monthly?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/monthly?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/monthly?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/monthly?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

To retrieve the monthly 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 architectural data for a specific custom date range.

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).

Response

{
    "statusCode": 200,
    "message": "Success",
    "data": {
        "status_code": 200,
        "data": {
            "success": true,
            "response": [
                {
                    "year": 0,
                    "month": 0,
                    "totalGross": 100,
                    "totalNet": 80,
                    "before": 1769023347779,
                    "after": 1766431347779,
                    "topPercent": 86.60,
                    "maxTopPercent": 100,
                    "brackets": null
                },
                {
                    "timestamp": 1767225600000,
                    "accountId": "xxxxxxxxxxxxxxxx",
                    "totalGross": 100,
                    "totalNet": 80,
                    "year": 2026,
                    "month": 1,
                    "before": 1769904939000,
                    "after": 1767225600000,
                    "topPercent": 0,
                    "maxTopPercent": 100
                }
            ]
        }
    },
    "timestamp": "2026-01-21T19:22:27.989Z"
}

On this page