🚀 Fansly API (Alpha) is live!WIP - Updated Daily
Fansly API Logo
Payouts & Wallet

Add Payout Method

Add a new payout method to a Fansly account.

This endpoint allows you to add a new payout method to a specific account. You need to provide the provider ID and the necessary metadata for the payout method.

Two-Factor Authentication

This endpoint may occasionally require Two-Factor Authentication (2FA) for sensitive operations, though this is not frequently triggered. When required, you must first obtain and verify a code via the Send OTP and Verify OTP endpoints. Once verified, you can proceed with this request normally.

https://v1.apifansly.com
POST
/api/fansly/{account_id}/payout/add

Get Started

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

curl -X POST "https://v1.apifansly.com/api/fansly/{account_id}/payout/add" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "",
    "providerId": "2",
    "metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
    "type": 1
  }'
fetch("https://v1.apifansly.com/api/fansly/{account_id}/payout/add", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "id": "",
    "providerId": "2",
    "metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
    "type": 1
  })
})
import requests

url = "https://v1.apifansly.com/api/fansly/{account_id}/payout/add"
headers = {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "id": "",
    "providerId": "2",
    "metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
    "type": 1
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

String jsonBody = "{\"id\": \"\", \"providerId\": \"2\", \"metadata\": \"{\\\"field0\\\":\\\"\\\",\\\"field1\\\":\\\"\\\",\\\"email\\\":\\\"xxxxxxxx@gmail.com\\\"}\", \"type\": 1}";

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://v1.apifansly.com/api/fansly/{account_id}/payout/add"))
        .header("x-api-key", "YOUR_API_KEY")
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(jsonBody))
        .build();

client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
        .thenApply(HttpResponse::body)
        .thenAccept(System.out::println)
        .join();
using System.Net.Http;
using System.Text;
using System.Text.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

var json = JsonSerializer.Serialize(new { 
    id = "",
    providerId = "2",
    metadata = "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
    type = 1
});
var content = new StringContent(json, Encoding.UTF8, "application/json");

var response = await client.PostAsync("https://v1.apifansly.com/api/fansly/{account_id}/payout/add", content);
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
    "fmt"
    "io/ioutil"
)

func main() {
    url := "https://v1.apifansly.com/api/fansly/{account_id}/payout/add"
    
    values := map[string]interface{}{
        "id": "",
        "providerId": "2",
        "metadata": "{\"field0\":\"\",\"field1\":\"\",\"email\":\"xxxxxxxx@gmail.com\"}",
        "type": 1,
    }
    jsonData, _ := json.Marshal(values)

    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
    req.Header.Set("x-api-key", "YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()
    
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Path Variables

account_id*
string
The unique identifier for the account.

Request Body Parameters

The request body must be sent as JSON with the following parameters:

providerId*
string
The provider ID (e.g., "2" for PayPal).
metadata*
string
JSON string containing provider-specific metadata (e.g., {"field0":"","field1":"","email":"..."}).
type*
integer
The payout method type (default: 1).
id ?
string
The payout method ID (leave empty for new).

Response

{
    "statusCode": 201,
    "message": "Success",
    "data": {
        "status_code": 200,
        "data": {
            "success": true,
            "response": {
                "accountId": "86540xxxxxxxxxxxxxx",
                "providerId": "2",
                "type": 1,
                "metadata": "{\"email\":\"xxxxxx@gmail.com\"}",
                "id": "87582xxxxxxxxxxxx",
                "status": 3,
                "version": 0
            }
        }
    },
    "timestamp": "2026-02-05T15:44:23.338Z"
}

Response Fields

FieldTypeDescription
statusCodeintegerHTTP status code
data.response.idstringThe ID of the newly created payout method
data.response.providerIdstringThe provider ID
data.response.metadatastringThe metadata string

On this page