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.
| Route | Method and path | Platforms |
|---|---|---|
| Call OnlyFans | GET /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
| Name | Description |
|---|---|
accountId | The account's id, which is the creator's user id on its platform. Get it from GET /v1/accounts. |
path | The 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
| Code | Status | When |
|---|---|---|
account_not_found | 404 | The 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_platform | 400 | The account is not on OnlyFans. |
resource_not_found | 404 | The key is a test key, or the endpoint is one BetterFans Link does not pass through. |
account_unavailable | 409 | The account's status stops live calls. See error.accountStatus. |
onlyfans_error | 502 | OnlyFans returned an error. |
onlyfans_timeout | 502 | OnlyFans did not answer in time. |
invalid_parameter | 400 | path is not an OnlyFans API path, for example because it has .. in it or is over 512 characters. |
method_not_allowed | 405 | Any method other than GET. |