THE FANSLY API

The Fansly API for agencies and developers — OnlyFans included

Fansly has no public developer API. The Only API is the third-party Fansly API that closes that gap — messaging, fans, subscribers, earnings, transactions, the vault, webhooks, automations, and full data export through documented REST endpoints. The same key also covers OnlyFans, normalized to identical request and response shapes, so you build one integration for both platforms. Free plan: 1 account and 1,000 calls per month, no card.

Does Fansly have an API?

Not officially. Fansly publishes no developer API, issues no API keys, and runs no developer portal. So when an agency or a developer searches for a "Fansly API," what they actually need is a reliable third-party layer that turns the platform into clean, authenticated REST endpoints — without scraping the web app or babysitting browser automation.

That is what The Only API provides. We handle the connection, session persistence, and request signing, then expose normalized endpoints under a single API key. You write ordinary HTTP requests; we keep the session alive.

The important part for most teams: the same key covers OnlyFans. Subscribers, fans, earnings, transactions, chats, exports — all of it returns the same shape regardless of which platform the account belongs to. One integration, two platforms, and a capabilities object on every account telling you exactly what that account supports.

What Fansly supports, honestly

Most third-party APIs advertise a platform and let you discover the gaps in production. Here is the actual matrix. Anything a platform does not support returns an explicit 501 with a platform_not_supported code and the feature name — never a silent failure or an empty result. Note that it cuts both ways: several capabilities exist for Fansly and not for OnlyFans.

Messaging & single DMs
Fansly
Yes — send a DM or PPV to one fan, with vault media, free teaser previews, and a price. Read conversations and mark them read.
OnlyFans
Yes
Fans, subscribers & CRM data
Fansly
Yes — subscriber lists, cached reads that cost zero platform requests, fan records with notes and tags, spend history.
OnlyFans
Yes
Earnings, balances & transactions
Fansly
Yes — normalized to the same shapes as OnlyFans, with the platform's different money scale converted for you.
OnlyFans
Yes
Media upload
Fansly
Yes — multipart, or from a public URL fetched server-side.
OnlyFans
Yes
Vault routes & media permissions
Fansly
Yes — four dedicated /vault/* routes plus permission gating on individual media items.
OnlyFans
No — 501. The OnlyFans equivalents live on the passthrough instead.
Lists & scheduled broadcasts
Fansly
Yes — GET /accounts/{of_user_id}/lists, and read access to scheduled broadcasts.
OnlyFans
No — 501
Message deletion
Fansly
Yes — DELETE /accounts/{of_user_id}/messages/{message_id}
OnlyFans
No — 501
Webhooks, events & automations
Fansly
Yes — HMAC-SHA256 signed webhooks with retries, the SSE event stream, and the rule engine.
OnlyFans
Yes
Data export
Fansly
Yes — messages, tips, subscribers and earnings by date range, in CSV or JSON.
OnlyFans
Yes
Mass DMs
Fansly
No — 501 PLATFORM_NOT_SUPPORTED
OnlyFans
Yes
Payout requests
Fansly
No — 501
OnlyFans
Yes
Campaign creation & claimers
Fansly
No — 501
OnlyFans
Yes
PPV stats & subscription-price PATCH
Fansly
No — 501 (the GET on subscription price works)
OnlyFans
Yes
Transparent passthrough (/api2/v2/*)
Fansly
No — 501. Raw access instead goes through POST /accounts/{of_user_id}/request.
OnlyFans
Yes — OnlyFans' own response body, wrapped in a small envelope
Real-time updates
Fansly
Polling only — no WebSocket for Fansly.
OnlyFans
Yes — real-time WebSocket

Connect Fansly in one call

Paste your Fansly session credentials once. We store the session server-side, so every later request is authenticated by your API key alone. The proxy header is optional for Fansly — it is required for OnlyFans.

# 1. Connect a Fansly account. Unlike OnlyFans, the proxy header is optional.
curl -X POST https://theonlyapi.com/api/crm/$CRM_ID/accounts/login/cookies \
  -H "X-API-Key: $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "platform": "fansly",
        "auth_token": "<your Fansly auth token>",
        "fansly_session_id": "<your Fansly session id>"
      }'

# 2. Read subscribers. Cached reads cost zero platform requests and return
#    the same shape you already get for OnlyFans accounts.
curl "https://theonlyapi.com/api/crm/$CRM_ID/accounts/$FANSLY_USER_ID/subscribers/cached?limit=500" \
  -H "X-API-Key: $YOUR_API_KEY"

# 3. Send a DM. Same call, same fields, either platform.
curl -X POST https://theonlyapi.com/api/crm/$CRM_ID/accounts/$FANSLY_USER_ID/chats/$FAN_ID/messages \
  -H "X-API-Key: $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Thanks for subscribing!", "mediaFiles": [], "price": 0 }'

Fansly API — frequently asked

One key. Fansly and OnlyFans.

Start on the free plan — 1 account, 1,000 API calls a month, every endpoint unlocked. No card required.