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*
stringThe unique identifier for the connected Fansly account.
albumId*
stringThe 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
| Field | Type | Description |
|---|---|---|
statusCode | number | The HTTP status code of the response (e.g., 200) |
message | string | A human-readable message about the result |
data | object | The main response payload |
├─ status_code | number | The internal status code of the Fansly operation |
└─ data | object | Nested data container |
└─ response | array | A list of media entry objects contained in the album |
├─ mediaId | string | The ID of the connected media file |
├─ permissionFlags | number | Internal permission markers |
├─ price | number | The cost of the media (0 if it is free) |
├─ accountId | string | The ID of the account that owns the media |
├─ id | string | The unique ID of this entry inside the album |
├─ access | boolean | Whether the user has access to view the media |
└─ media | object | Detailed metadata regarding the media file |
├─ id | string | The unique identifier of the media file |
├─ type | number | The fundamental media type (e.g., 1 for image, 2 for video) |
├─ mimetype | string | The MIME type (e.g., image/jpeg, video/mp4, application/vnd.apple.mpegurl) |
├─ filename | string | The original uploaded filename |
├─ width | number | Media resolution width |
├─ height | number | Media resolution height |
├─ variants | array | Alternative formats/resolutions for the media (e.g., downscaled, blurred, thumbnails, HLS/M3U8) |
└─ locations | array | Pre-signed CDN URLs for access, packed with expiration rules and signed tokens |
timestamp | string | The ISO 8601 timestamp of when the response was generated |