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

Create Post

Create a new post for a specific account.

Publish a new post to the creator's wall.

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

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}/posts" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Sample post content...",
    "wallIds": ["8681xxxxxxxxxxxxxx"]
  }'
fetch("https://v1.apifansly.com/api/fansly/{account_id}/posts", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    content: "Sample post content...",
    wallIds: ["8681xxxxxxxxxxxxxx"]
  })
})
import requests

url = "https://v1.apifansly.com/api/fansly/{account_id}/posts"
headers = {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "content": "Sample post content...",
    "wallIds": ["8681xxxxxxxxxxxxxx"]
}

response = requests.post(url, headers=headers, json=payload)
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();

String json = "{\"content\": \"Sample post content...\", \"wallIds\": [\"8681xxxxxxxxxxxxxx\"]}";

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

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

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

var json = "{\"content\": \"Sample post content...\", \"wallIds\": [\"8681xxxxxxxxxxxxxx\"]}";
var content = new StringContent(json, Encoding.UTF8, "application/json");

var response = await client.PostAsync("https://v1.apifansly.com/api/fansly/{account_id}/posts", content);
var responseString = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseString);
package main

import (
    "bytes"
    "fmt"
    "net/http"
)

func main() {
    url := "https://v1.apifansly.com/api/fansly/{account_id}/posts"
    json := []byte(`{"content": "Sample post content...", "wallIds": ["8681xxxxxxxxxxxxxx"]}`)
    
    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(json))
    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()

    fmt.Println(resp.Status)
}

Path Parameters

account_id*
string
The unique identifier for the connected account.

Request Body

content*
string
The text content of the post.
wallIds*
string[]
An array of Wall IDs where the post should be published.
fypFlags ?
number
Flags for the "For You Page" visibility. (Default: 0)
attachments ?
any[]
An array of attachment objects (e.g., media files).
scheduledFor ?
number
Unix timestamp for scheduling the post (0 for immediate).
expiresAt ?
number
Unix timestamp for post expiration (0 for never).
pinned ?
number
Pin status (0 = not pinned).
pinWallIds ?
string[]
Specific Wall IDs where the post should be pinned.
inReplyTo ?
string
The ID of the post to reply to.
quotedPostId ?
string
The ID of the post being quoted.
postReplyPermissionFlags ?
any[]
Array of flags for post reply permissions.

Response

{
    "statusCode": 200,
    "message": "Success",
    "data": {
        "data": {
            "success": true,
            "response": {
                "id": "8741xxxxxxxxxxxxxx",
                "content": "Sample post content...",
                "createdAt": 1769903493
            }
        }
    },
    "timestamp": "2026-02-01T01:09:02.943Z"
}

On this page