OnlyFans API
FanslyVault

List Vault Media

Get the media in a vault album, newest first. The response carries albumMedia (the album membership records) alongside media (the media itself, with variants and CDN locations).

Pass before = the id of the last albumMedia entry of the previous page to fetch the next page. A page shorter than Fansly's page size means you reached the end.

GET
/api/fansly/{fanslyAccount}/vault/media
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

fanslyAccount*string

The Fansly Account ID

Query Parameters

album_id*string

The vault album to list media from, from the List Vault Albums endpoint.

media_type?string

Filter by native Fansly media type: 1 = photos only, 2 = videos only, 0 = neither photos nor videos. Omit for all media types.

search?string

Filter by filename.

before?string

Pagination cursor: the albumMedia ID of the last item from the previous page. Omit (or pass 0) for the first page.

after?string

Lower-bound cursor, the albumMedia ID to list media newer than. Defaults to 0 (unbounded).

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/fansly/fansly_acct_XXXXXXXXXXXXXXX/vault/media?album_id=922919290099736576&media_type=2&search=beach&before=922919290229764096&after=0"
{
  "data": {
    "albumMedia": [
      {
        "id": "400000000000000001",
        "mediaId": "500000000000000001",
        "mediaType": 1,
        "albumId": "300000000000000001",
        "accountId": "800000000000000001",
        "createdAt": 1786490793000,
        "customFilename": "beach-01.jpeg"
      },
      {
        "id": "400000000000000002",
        "mediaId": "500000000000000010",
        "mediaType": 2,
        "albumId": "300000000000000001",
        "accountId": "800000000000000001",
        "createdAt": 1784297785000,
        "customFilename": "clip-01.mp4"
      }
    ],
    "media": [
      {
        "id": "500000000000000001",
        "type": 1,
        "status": 1,
        "accountId": "800000000000000001",
        "mimetype": "image/jpeg",
        "flags": 6,
        "filename": "beach-01.jpeg",
        "location": "/800000000000000001/500000000000000001.jpeg",
        "width": 588,
        "height": 480,
        "metadata": "{\"dominant\":{\"r\":248,\"g\":248,\"b\":248},\"resolutionMode\":1}",
        "updatedAt": 1786490605,
        "createdAt": 1786490605,
        "variants": [
          {
            "id": "500000000000000002",
            "type": 1,
            "status": 1,
            "mimetype": "image/jpeg",
            "flags": 0,
            "filename": "beach-01_360.jpeg",
            "location": "/800000000000000001/500000000000000002.jpeg",
            "width": 442,
            "height": 360,
            "metadata": "{\"resolutionMode\":1}",
            "updatedAt": 1786490606,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000002.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          },
          {
            "id": "500000000000000003",
            "type": 1,
            "status": 1,
            "mimetype": "image/jpeg",
            "flags": 0,
            "filename": "beach-01_240.jpeg",
            "location": "/800000000000000001/500000000000000003.jpeg",
            "width": 294,
            "height": 240,
            "metadata": "{\"resolutionMode\":1}",
            "updatedAt": 1786490606,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000003.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          },
          {
            "id": "500000000000000004",
            "type": 3,
            "status": 1,
            "mimetype": "image/jpeg",
            "flags": 0,
            "filename": "beach-01_240_blur.jpeg",
            "location": "/800000000000000001/500000000000000004.jpeg",
            "width": 294,
            "height": 240,
            "metadata": "{\"resolutionMode\":1}",
            "updatedAt": 1786490606,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000004.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          }
        ],
        "variantHash": {},
        "locations": [
          {
            "locationId": "1",
            "location": "https://cdn3.fansly.com/800000000000000001/500000000000000001.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
          }
        ]
      },
      {
        "id": "500000000000000010",
        "type": 2,
        "status": 1,
        "accountId": "800000000000000001",
        "mimetype": "video/mp4",
        "flags": 0,
        "filename": "clip-01.mp4",
        "location": "/800000000000000001/500000000000000010.mp4",
        "width": 480,
        "height": 270,
        "metadata": "{\"originalHeight\":270,\"originalWidth\":480,\"duration\":30.526667,\"resolutionMode\":1,\"frameRate\":30}",
        "updatedAt": 1784297504,
        "createdAt": 1784297501,
        "variants": [
          {
            "id": "500000000000000011",
            "type": 1,
            "status": 1,
            "mimetype": "image/jpeg",
            "flags": 0,
            "filename": "clip-01_frame.jpeg",
            "location": "/800000000000000001/500000000000000011.jpeg",
            "width": 480,
            "height": 270,
            "metadata": "{\"resolutionMode\":1}",
            "updatedAt": 1784297504,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000011.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          },
          {
            "id": "500000000000000012",
            "type": 3,
            "status": 1,
            "mimetype": "image/jpeg",
            "flags": 0,
            "filename": "clip-01_frame.jpeg",
            "location": "/800000000000000001/500000000000000012.jpeg",
            "width": 480,
            "height": 270,
            "metadata": "{\"resolutionMode\":1}",
            "updatedAt": 1784297504,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000012.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          },
          {
            "id": "500000000000000013",
            "type": 4,
            "status": 1,
            "mimetype": "image/jpeg",
            "flags": 0,
            "filename": "clip-01_thumbnails.jpeg",
            "location": "/800000000000000001/500000000000000013.jpeg",
            "width": 256,
            "height": 144,
            "metadata": "{\"resolutionMode\":1}",
            "updatedAt": 1784297504,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000013.jpeg?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          },
          {
            "id": "500000000000000014",
            "type": 302,
            "status": 1,
            "mimetype": "application/vnd.apple.mpegurl",
            "flags": 0,
            "filename": "500000000000000014.m3u8",
            "location": "/800000000000000001/500000000000000014.m3u8",
            "width": 480,
            "height": 270,
            "metadata": "{\"originalHeight\":270,\"originalWidth\":480,\"duration\":30.526667}",
            "updatedAt": 1784297504,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000014.m3u8?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          },
          {
            "id": "500000000000000015",
            "type": 303,
            "status": 1,
            "mimetype": "application/dash+xml",
            "flags": 0,
            "filename": "500000000000000015.mpd",
            "location": "/800000000000000001/500000000000000015.mpd",
            "width": 480,
            "height": 270,
            "metadata": "{\"originalHeight\":270,\"originalWidth\":480,\"duration\":30.526667}",
            "updatedAt": 1784297504,
            "locations": [
              {
                "locationId": "1",
                "location": "https://cdn3.fansly.com/800000000000000001/500000000000000015.mpd?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
              }
            ]
          }
        ],
        "variantHash": {},
        "locations": [
          {
            "locationId": "1",
            "location": "https://cdn3.fansly.com/800000000000000001/500000000000000010.mp4?ngsw-bypass=true&Policy=EXAMPLE_POLICY&Key-Pair-Id=EXAMPLE_KEY&Signature=EXAMPLE_SIGNATURE"
          }
        ]
      }
    ]
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 10055790,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 5000,
      "limit_day": null,
      "remaining_minute": 4999,
      "remaining_day": null,
      "notice": "We have decided to remove our daily rate limits. Please remove any references to these in your integrations."
    }
  }
}