Vault
List Vault Media
Returns media items stored in the creator's vault — the personal library used to compose posts, stories, and chat messages. Includes uploaded photos, videos, GIFs, and audio along with engagement counters and per-item state across the post/story/message/stream/uploads lists. Requires permission api_vault_list_media.
https://public-api.fansmetric.comAuthorization
defaultAuthorizationBearer <token>Send your FansMetric API key as a Bearer token in the Authorization header.
In: header
Path Parameters
account_id*integerOnlyFans numeric account ID.
Query Parameters
limitintegerPage size. Default 24. Min 1, max 100.
offsetintegerRows to skip. Default 0.
fieldstringSort key. One of
recent,most-liked,highest-tips. Defaultrecent.sortstringSort direction.
desc(default) orasc.liststringRestrict to a vault list (category). Use
all(default) for everything, or pass a listidfrom List Vault Lists.typestringFilter by media type:
photo,gif,video,audio. Omit for all.querystringText search across media metadata.
before_publish_datestringISO timestamp; only return media added before this date. Useful for backfilling.
Response Fields
data.list[]arrayVault media items on this page.
data.list[].idintegerVault media ID. Use in
mediaFilesofPOST /posts, mass messages, ormediaIdsof vault list operations.data.list[].typestringphoto,video,gif, oraudio.data.list[].createdAtstringISO timestamp when the media was added to the vault.
data.list[].isReadybooleantrueonce OnlyFans has finished transcoding the file.data.list[].countersobjectLifetime engagement counters across all surfaces the media has appeared on (likes, tips).
data.list[].filesobjectPer-variant URL set:
full,thumb,preview,squarePreview. Each variant carriesurl,width,height, and (forfull)size.data.list[].durationnumberDuration in seconds (videos / audio).
0for photos and GIFs.data.list[].listStates[]arrayPer-list membership state — one entry per system list (
posts,stories,messages, etc.) withhasMediaandcanAddMedia.data.hasMorebooleanWhether more pages remain.
dataobject | arrayEndpoint-specific payload. See the fields below for this route.
_pagination.next_pagestringRelative URL for the next page, with the cursor or offset already applied. Append it to the API base URL and send it as-is. Omitted entirely on the last page.
_meta._credits.usedintegerCredits consumed by this request (currently always
1)._meta._rate_limits.limit_minuteintegerMaximum requests per minute for the organization.
_meta._rate_limits.remaining_minuteintegerRemaining requests in the current minute window.
_meta._rate_limits.limit_dayintegerMaximum requests per day for the organization.
_meta._rate_limits.remaining_dayintegerRemaining requests in the current day window.
| Field | Type | Description |
|---|---|---|
| data.list[] | array | Vault media items on this page. |
| data.list[].id | integer | Vault media ID. Use in mediaFiles of POST /posts, mass messages, or mediaIds of vault list operations. |
| data.list[].type | string | photo, video, gif, or audio. |
| data.list[].createdAt | string | ISO timestamp when the media was added to the vault. |
| data.list[].isReady | boolean | true once OnlyFans has finished transcoding the file. |
| data.list[].counters | object | Lifetime engagement counters across all surfaces the media has appeared on (likes, tips). |
| data.list[].files | object | Per-variant URL set: full, thumb, preview, squarePreview. Each variant carries url, width, height, and (for full) size. |
| data.list[].duration | number | Duration in seconds (videos / audio). 0 for photos and GIFs. |
| data.list[].listStates[] | array | Per-list membership state — one entry per system list (posts, stories, messages, etc.) with hasMedia and canAddMedia. |
| data.hasMore | boolean | Whether more pages remain. |
| data | object | array | Endpoint-specific payload. See the fields below for this route. |
| _pagination.next_page | string | Relative URL for the next page, with the cursor or offset already applied. Append it to the API base URL and send it as-is. Omitted entirely on the last page. |
| _meta._credits.used | integer | Credits consumed by this request (currently always 1). |
| _meta._rate_limits.limit_minute | integer | Maximum requests per minute for the organization. |
| _meta._rate_limits.remaining_minute | integer | Remaining requests in the current minute window. |
| _meta._rate_limits.limit_day | integer | Maximum requests per day for the organization. |
| _meta._rate_limits.remaining_day | integer | Remaining requests in the current day window. |
curl --request GET "https://public-api.fansmetric.com/v1/100000001/vault/media?limit=20&offset=0&field=sample_field" \
--header "Authorization: Bearer YOUR_API_KEY"Response
200