OnlyFans API
FanslyEarnings

List Monthly Earnings

Get monthly earnings ("Statements" in the Fansly Creator Dashboard). The first entry is a rolling 30-day summary, followed by per-calendar-month totals with gross/net revenue and top-performer percentile.

GET
/api/fansly/{fanslyAccount}/earnings/monthly
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

fanslyAccount*string

The Fansly Account ID

Query Parameters

before?string

End of the range (ISO 8601). Defaults to now.

after?string

Start of the range (ISO 8601). Defaults to the start of the current year.

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/fansly/fansly_acct_XXXXXXXXXXXXXXX/earnings/monthly?before=2026-06-03T23%3A59%3A59Z&after=2026-01-01T00%3A00%3A00Z"
{
  "data": [
    {
      "year": 0,
      "month": 0,
      "totalGross": 200000,
      "totalNet": 160000,
      "before": 1780358400000,
      "after": 1777766400000,
      "topPercent": 5,
      "maxTopPercent": 100,
      "brackets": []
    },
    {
      "year": 2026,
      "month": 5,
      "totalGross": 180000,
      "totalNet": 144000,
      "before": 1780358400000,
      "after": 1777766400000,
      "topPercent": 6,
      "maxTopPercent": 100,
      "brackets": []
    }
  ],
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 10055766,
      "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."
    }
  }
}