BetterFans Link: the OnlyFans APIBetterFans Link

Call OnlyFans

Read any OnlyFans API endpoint for a linked account.

Read any OnlyFans API endpoint for a linked account when the other routes do not cover it. Reads only: writes go through actions. Every route can also return the authentication errors, rate_limited and internal_error.

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

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.

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 OnlyFans user id. 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://app.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"
  }
}

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.
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