Webhooks are now available in the Fansly API Console! 🚀
Fansly API Logo

Create Tracking Link

Create a new tracking link for a Fansly account.


Create a brand new tracking link that can be used to track referential traffic.

https://v1.apifansly.com
POST
/api/fansly/{account_id}/tracking-links

Get Started

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

Path Parameters

curl -X POST "https://v1.apifansly.com/api/fansly/{account_id}/tracking-links" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label": "name_of_the_tracking_link",
    "description": "optional_details_about_the_link"
  }'
fetch("https://v1.apifansly.com/api/fansly/{account_id}/tracking-links", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    label: "Twitter Campaign",
    description: "Traffic from main Twitter thread"
  })
})
.then(response => response.json())
.then(data => console.log(data));
import requests

url = "https://v1.apifansly.com/api/fansly/{account_id}/tracking-links"
headers = {
    "x-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "label": "name_of_the_tracking_link",
    "description": "optional_details_about_the_link"
}

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;

HttpClient client = HttpClient.newHttpClient();

String jsonBody = "{\"label\":\"Twitter Campaign\",\"description\":\"Traffic from main Twitter thread\"}";

HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://v1.apifansly.com/api/fansly/{account_id}/tracking-links"))
        .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.Threading.Tasks;

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

var jsonBody = "{\"label\":\"Twitter Campaign\",\"description\":\"Traffic from main Twitter thread\"}";
var content = new StringContent(jsonBody, Encoding.UTF8, "application/json");

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

Console.WriteLine(responseString);
package main

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

func main() {
    url := "https://v1.apifansly.com/api/fansly/{account_id}/tracking-links"
    jsonBody := []byte(`{"label":"name_of_the_tracking_link","description":"optional_details_about_the_link"}`)
    
    req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonBody))
    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))
}

Parameters

To create a tracking link for a specific account, you must provide the account_id in the URL path.

account_id*
string
The unique identifier for the connected account, retrieved from your Dashboard.

Body Structure

label*
string
The label to distinguish your tracking link.
description ?
string
An optional description providing more context for the tracking link.

Response

{
    "statusCode": 201,
    "message": "Success",
    "data": {
        "status_code": 200,
        "data": {
            "success": true,
            "response": {
                "id": "unique_tracking_link_identifier",
                "accountId": "creator_account_identifier",
                "internalId": fansly_internal_id,
                "type": 1000,
                "status": 1,
                "label": "name_of_the_tracking_link",
                "description": "optional_details_about_the_link"
            }
        }
    },
    "timestamp": "2026-03-21T03:01:58.433Z"
}

On this page