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

Get Vault Album Media

Get the media content from a specific vault album.

https://v1.apifansly.com
GET
/api/fansly/{accountId}/vault/albums/{albumId}/media

Get Started

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

Request

curl -X GET "https://v1.apifansly.com/api/fansly/{accountId}/vault/albums/{albumId}/media" \
  -H "x-api-key: YOUR_API_KEY"
fetch("https://v1.apifansly.com/api/fansly/{accountId}/vault/albums/{albumId}/media", {
  method: "GET",
  headers: {
    "x-api-key": "YOUR_API_KEY"
  }
})
import requests

url = "https://v1.apifansly.com/api/fansly/{accountId}/vault/albums/{albumId}/media"
headers = {
    "x-api-key": "YOUR_API_KEY"
}

response = requests.get(url, headers=headers)
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();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://v1.apifansly.com/api/fansly/{accountId}/vault/albums/{albumId}/media"))
        .header("x-api-key", "YOUR_API_KEY")
        .GET()
        .build();

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

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

var response = await client.GetAsync("https://v1.apifansly.com/api/fansly/{accountId}/vault/albums/{albumId}/media");
var responseString = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseString);
package main

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

func main() {
    url := "https://v1.apifansly.com/api/fansly/{accountId}/vault/albums/{albumId}/media"

    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Path Parameters

accountId*
string
The unique identifier for the connected Fansly account.
albumId*
string
The unique identifier for the vault album.

Response

{
    "statusCode": 200,
    "message": "Success",
    "data": {
        "status_code": 200,
        "data": {
            "success": true,
            "response": [
                {
                    "mediaId": "MEDIA_ID_1",
                    "previewId": null,
                    "permissionFlags": 0,
                    "price": 0,
                    "whitelist": [],
                    "permissions": {
                        "permissionFlags": [],
                        "accountPermissionFlags": {
                            "flags": 255,
                            "metadata": "{}"
                        }
                    },
                    "tags": [],
                    "accountId": "ACCOUNT_ID",
                    "id": "ITEM_ENTRY_ID_1",
                    "likeCount": 0,
                    "media": {
                        "id": "MEDIA_ID_1",
                        "type": 1,
                        "status": 1,
                        "accountId": "ACCOUNT_ID",
                        "mimetype": "image/jpeg",
                        "flags": 3202,
                        "filename": "demo_image.jpeg",
                        "location": "/ACCOUNT_ID/MEDIA_ID_1.jpeg",
                        "width": 1024,
                        "height": 1536,
                        "metadata": "{\"dominant\":{\"r\":40,\"g\":24,\"b\":24},\"resolutionMode\":2}",
                        "updatedAt": 1772410604,
                        "createdAt": 1772410602,
                        "variants": [
                            {
                                "id": "VARIANT_ID_1",
                                "type": 1,
                                "status": 1,
                                "mimetype": "image/jpeg",
                                "flags": 0,
                                "filename": "demo_image_720.jpeg",
                                "location": "/ACCOUNT_ID/VARIANT_ID_1.jpeg",
                                "width": 720,
                                "height": 1080,
                                "metadata": "{\"resolutionMode\":2}",
                                "updatedAt": 1772410604,
                                "locations": [
                                    {
                                        "locationId": "1",
                                        "location": "https://cdn3.fansly.com/ACCOUNT_ID/VARIANT_ID_1.jpeg?..."
                                    }
                                ]
                            }
                        ],
                        "variantHash": {},
                        "locations": [
                            {
                                "locationId": "1",
                                "location": "https://cdn3.fansly.com/ACCOUNT_ID/MEDIA_ID_1.jpeg?..."
                            }
                        ]
                    },
                    "purchased": true,
                    "whitelisted": true,
                    "accountPermissionFlags": 255,
                    "access": true
                },
                {
                    "mediaId": "MEDIA_ID_2",
                    "previewId": null,
                    "permissionFlags": 0,
                    "price": 0,
                    "whitelist": [],
                    "permissions": {
                        "permissionFlags": [],
                        "accountPermissionFlags": {
                            "flags": 255,
                            "metadata": "{}"
                        }
                    },
                    "tags": [],
                    "accountId": "ACCOUNT_ID",
                    "id": "ITEM_ENTRY_ID_2",
                    "likeCount": 0,
                    "media": {
                        "id": "MEDIA_ID_2",
                        "type": 2,
                        "status": 1,
                        "accountId": "ACCOUNT_ID",
                        "mimetype": "video/mp4",
                        "flags": 6,
                        "filename": "demo_video.mp4",
                        "location": "/ACCOUNT_ID/MEDIA_ID_2.mp4",
                        "width": 720,
                        "height": 1280,
                        "metadata": "{\"originalHeight\":1920,\"originalWidth\":1080,\"duration\":8.112676,\"resolutionMode\":2,\"frameRate\":29.58}",
                        "updatedAt": 1770230121,
                        "createdAt": 1770230113,
                        "variants": [
                            {
                                "id": "VARIANT_ID_2",
                                "type": 302,
                                "status": 1,
                                "mimetype": "typehere",
                                "flags": 0,
                                "filename": "filenamehere",
                                "location": "locationhere",
                                "width": 1080,
                                "height": 1920,
                                "metadata": "{\"originalHeight\":1920,\"originalWidth\":1080,\"duration\":8.112676,\"resolutionMode\":2,\"frameRate\":29.58,\"variants\":[{\"w\":1080,\"h\":1920},{\"w\":720,\"h\":1280},{\"w\":480,\"h\":854},{\"w\":360,\"h\":640}]}",
                                "updatedAt": 1770230127,
                                "locations": [
                                    {
                                        "locationId": "102",
                                        "location": "https://cdn3.fansly.com/new/ACCOUNT_ID/VARIANT_ID_2/VARIANT_ID_2.m3u8",
                                        "metadata": {
                                            "Key-Pair-Id": "K23PG5J1AWEZX5",
                                            "Signature": "...",
                                            "Policy": "..."
                                        }
                                    }
                                ]
                            }
                        ],
                        "variantHash": {},
                        "locations": [
                            {
                                "locationId": "1",
                                "location": "https://cdn3.fansly.com/ACCOUNT_ID/MEDIA_ID_2.mp4?..."
                            }
                        ]
                    },
                    "purchased": true,
                    "whitelisted": true,
                    "accountPermissionFlags": 255,
                    "access": true
                }
            ]
        }
    }
},
"timestamp": "2026-03-29T03:41:28.945Z"
}

Response Body

FieldTypeDescription
statusCodenumberThe HTTP status code of the response (e.g., 200)
messagestringA human-readable message about the result
dataobjectThe main response payload
├─ status_codenumberThe internal status code of the Fansly operation
└─ dataobjectNested data container
└─ responsearrayA list of media entry objects contained in the album
├─ mediaIdstringThe ID of the connected media file
├─ permissionFlagsnumberInternal permission markers
├─ pricenumberThe cost of the media (0 if it is free)
├─ accountIdstringThe ID of the account that owns the media
├─ idstringThe unique ID of this entry inside the album
├─ accessbooleanWhether the user has access to view the media
└─ mediaobjectDetailed metadata regarding the media file
├─ idstringThe unique identifier of the media file
├─ typenumberThe fundamental media type (e.g., 1 for image, 2 for video)
├─ mimetypestringThe MIME type (e.g., image/jpeg, video/mp4, application/vnd.apple.mpegurl)
├─ filenamestringThe original uploaded filename
├─ widthnumberMedia resolution width
├─ heightnumberMedia resolution height
├─ variantsarrayAlternative formats/resolutions for the media (e.g., downscaled, blurred, thumbnails, HLS/M3U8)
└─ locationsarrayPre-signed CDN URLs for access, packed with expiration rules and signed tokens
timestampstringThe ISO 8601 timestamp of when the response was generated

On this page