BetterFans Link: the OnlyFans APIBetterFans Link

Call OnlyFans

Read an OnlyFans API endpoint that no other route covers, for a linked OnlyFans account and with a live key. Reads only. Writes go through actions.

Product page: OnlyFans and Fansly API coverage

Prefer the dedicated routes, which read synced data and return documented objects. This one calls OnlyFans live and returns its response, with tokens, passwords, emails and phone numbers removed. Every route can also return the authentication errors, rate_limited and internal_error.

RouteMethod and pathPlatforms
Call OnlyFansGET /v1/accounts/{accountId}/onlyfans/{path}OnlyFans

Call OnlyFans

GET /v1/accounts/{accountId}/onlyfans/{path}

Runs a read-only OnlyFans API GET for an account, with the account's session. Use it for data the other routes do not cover.

Needs the read scope. Always a live read. Works for OnlyFans accounts only. Other accounts get not_supported_on_platform.

data is the JSON OnlyFans returned. OnlyFans returns many more fields than this example shows.

Query parameters you add are passed on to OnlyFans, so .../onlyfans/chats?limit=10 reads chats?limit=10.

Only GET works. To change anything on OnlyFans, create an action.

It needs a live key. Test keys never reach OnlyFans, so with a test key this route returns resource_not_found.

Path parameters

NameDescription
accountIdThe account's id, which is the creator's user id on its platform. Get it from GET /v1/accounts.
pathThe OnlyFans API path to read, for example users/me. The MCP tools search_api and describe_endpoint help find paths.

Returns

200 with the OnlyFans response in data. meta.source is live and meta.asOf is null.

Example request

curl "https://betterfans.link/v1/accounts/412345678/onlyfans/users/me" \
  -H "Authorization: Bearer $BFL_KEY"

Example response

{
  "data": {
    "id": 412345678,
    "username": "jessrivers",
    "name": "Jess Rivers"
  },
  "meta": {
    "source": "live",
    "asOf": null,
    "requestId": "req_7Hq2LmX9pRt4VbN8cKe3WzYa",
    "platform": "onlyfans"
  }
}

Errors

CodeStatusWhen
account_not_found404The account is not linked to your workspace, your key's account list leaves it out, or, with a test key, it is not a sandbox creator.
not_supported_on_platform400The account is not on OnlyFans.
resource_not_found404The key is a test key, or the endpoint is one BetterFans Link does not pass through.
account_unavailable409The account's status stops live calls. See error.accountStatus.
onlyfans_error502OnlyFans returned an error.
onlyfans_timeout502OnlyFans did not answer in time.
invalid_parameter400path is not an OnlyFans API path, for example because it has .. in it or is over 512 characters.
method_not_allowed405Any method other than GET.

On this page