OnlyFans API
Payouts

List Transactions (Earnings)

List all transactions for the account.

GET
/api/{account}/payouts/transactions
AuthorizationBearer <token>

You can retrieve your token by visiting the OnlyFansAPI Console and clicking API Keys -> Create API Key.

In: header

Path Parameters

accountstring

The Account ID

Query Parameters

limit?string

Number of transactions to return

marker?string

The marker used for pagination. Default: null

Response Body

curl -X GET "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/payouts/transactions?limit=10&marker=1739155047"
fetch("https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/payouts/transactions?limit=10&marker=1739155047")
package main

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

func main() {
  url := "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/payouts/transactions?limit=10&marker=1739155047"

  req, _ := http.NewRequest("GET", url, nil)
  
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/payouts/transactions?limit=10&marker=1739155047"

response = requests.request("GET", url)

print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;

HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/payouts/transactions?limit=10&marker=1739155047"))
  .GET()
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var response = await client.GetAsync("https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/payouts/transactions?limit=10&marker=1739155047");
var responseBody = await response.Content.ReadAsStringAsync();
{
  "data": {
    "list": [
      {
        "amount": 12.34,
        "vatAmount": 12.34,
        "taxAmount": 12.34,
        "mediaTaxAmount": 12.34,
        "net": 12.34,
        "fee": 12.34,
        "createdAt": "2025-01-01T01:01:01+00:00",
        "currency": "USD",
        "description": "Subscription from <a href=\"https://onlyfans.com/username\">Name</a>",
        "status": "loading",
        "user": {
          "view": "t",
          "id": 123,
          "name": "Name",
          "username": "username",
          "isVerified": false,
          "avatar": null,
          "avatarThumbs": null
        },
        "payoutPendingDays": 7,
        "id": "abc123"
      }
    ],
    "marker": 123,
    "hasMore": true,
    "nextMarker": 1234
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 999999845,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 999,
      "remaining_day": 49849
    }
  }
}