FanslyAPI
Production supported

Fansly API for
agency workflows.

Connect Fansly accounts and use one hosted REST interface for profiles, conversations, one-to-one DMs, subscribers, earnings, balances, transactions, notifications, and tracking-link reads.

Responses are normalized alongside OnlyFans, with explicit capability flags wherever the platforms differ—so your CRM can share a core data layer without pretending every feature has parity.

Independent Fansly integration. Fansly is a trademark of its respective owner; The Only API is not affiliated with or endorsed by Fansly.

PRODUCTION

Supported today

AUTH

Credentials or token

SCHEMA

One normalized layer

BOUNDARIES

HTTP 501, not guesswork

DIRECT ANSWER

What is a Fansly API?

A Fansly API lets software work with Fansly account data programmatically. The Only API provides an independent, third-party REST integration for supported Fansly workflows, including account connection, conversations, one-to-one text DMs, subscribers, earnings, balances, transactions, notifications and tracking-link reads through normalized CRM routes. Each account response exposes capability flags so an integration can distinguish supported, limited and unavailable actions.

Limitations: This is not an official Fansly API and is not affiliated with or endorsed by Fansly. Mass messaging, media upload and DM attachments, PPV statistics and referrals are not available for Fansly; some polling and real-time behavior depends on deployment configuration.

Reviewed by The Only API team · Updated Sources:Fansly API quickstartAPI documentationOpenAPI specification

HOW IT WORKS

Connect once. Build against one API.

Connect with username/email and password, complete 2FA when required, or use an existing Fansly token and session ID. Every account returns its platform and live capability flags.

  1. 01

    Create your panel

    Start on the free plan and generate one server-side API key.

  2. 02

    Connect Fansly

    Use credentials or an existing token and complete 2FA when prompted.

  3. 03

    Read capabilities

    Use the account response as the source of truth before enabling a workflow.

  4. 04

    Build once

    Call the normalized CRM routes with the same X-API-Key header.

AUTH CONTRACT

Predictable failure is part of the API.

Unsupported Fansly actions return an explicit capability response instead of silently failing or behaving like an OnlyFans account.

501 · platform_not_supported
  • ✓Use platform: "fansly" when connecting.
  • ✓The login identifier can be a Fansly username or email.
  • ✓Persist the returned account ID as of_user_id; the shared field keeps multi-platform routes compatible.
  • ✓Treat HTTP 501 platform_not_supported as a capability boundary, not a transient error.
  • ✓Re-read live capability flags because polling and real-time support can depend on deployment configuration.

VERIFIED CAPABILITIES

Similar platforms. Honest boundaries.

This matrix mirrors the production capability gates. Limited means a working read path or configuration-dependent behavior, not full read/write parity.

SupportedLimitedNot available
OnlyFans and Fansly API capability matrix
CapabilityOnlyFansFanslyFansly detail
Profiles, balances, earnings, and transactionsSupportedSupportedRead account details, wallet balances, earnings series, and the transaction ledger through normalized responses.
Subscribers and historical backfillSupportedSupportedSubscriber enumeration, transaction refresh, and historical backfill are wired for Fansly accounts.
Conversations, messages, and one-to-one DMsSupportedSupportedRead conversations and messages and send text DMs with the same platform-neutral routes.
Tracking links / campaignsSupportedLimitedRead and create Fansly tracking links through the API, MCP tools, or dashboard. Creation requires account write permission. Campaign claimers and trial subscriptions remain unavailable.
Notifications and background updatesSupportedLimitedREST notifications work. Background polling and WebSocket events depend on deployment flags and should not be assumed to be real time.
Payouts and subscription pricingSupportedLimitedRead payout methods, payout history, balances, and subscription pricing. Withdrawal requests and price updates are not available.
Mass messagingSupportedNot availableFansly accounts return HTTP 501 platform_not_supported. One-to-one DMs remain supported.
Media upload and DM attachmentsLimitedNot availableA Fansly media-upload pipeline is not wired. Do not promise PPV or media attachments in Fansly DMs.
PPV statistics and referralsSupportedNot availableFansly message rows do not expose the purchase state needed for PPV statistics, and no verified referral surface is wired.

Last technically verified 23 September 2026.

Runtime account capability flags remain the final source of truth.

QUICKSTART

Your first Fansly request.

Authentication uses the same X-API-Key header for every platform. Keep the key server-side and filter on the explicit platform field.

JavaScript · server

const response = await fetch(
  "https://theonlyapi.com/api/crm/YOUR_CRM_ID/accounts",
  {
    headers: { "X-API-Key": process.env.ONLY_API_KEY },
  },
);

if (!response.ok) throw new Error(`API error: ${response.status}`);

const { accounts } = await response.json();
const fanslyAccounts = accounts.filter(
  (account) => account.platform === "fansly",
);

console.log(fanslyAccounts);

Python · server

import os
import requests

response = requests.get(
    "https://theonlyapi.com/api/crm/YOUR_CRM_ID/accounts",
    headers={"X-API-Key": os.environ["ONLY_API_KEY"]},
    timeout=30,
)
response.raise_for_status()

accounts = response.json()["accounts"]
fansly_accounts = [
    account for account in accounts
    if account.get("platform") == "fansly"
]

print(fansly_accounts)

PRICING

One Fansly account uses one slot

  • Free forever: $0, one OnlyFans or Fansly account, and 1,000 API calls per month.
  • Slots: $20 per connected account per month. At 15+ slots, every slot drops to $15 per month.
  • Paid usage: no monthly call quota or per-call billing. A 1,000 requests/minute default anti-flood limit still applies, with lower limits on sensitive routes.
  • Enterprise: custom pricing for agencies operating 50+ accounts.
See complete pricing →

HOSTED OR DIY

Use the hosted layer or maintain the platform work yourself

The hosted service handles Fansly session persistence, credential storage, 2FA handoff, normalized response shapes, request limits, capability errors, refresh jobs, and the shared agency dashboard. Your application consumes stable REST routes instead of embedding platform-specific session logic.

Building directly can make sense when you need total control and can continuously maintain authentication, data mapping, retries, observability, and upstream changes. The hosted option is designed for teams that want to spend that effort on their CRM, analytics, or creator workflows instead.

Hosted

We maintain auth, polling and upstream changes.

Direct build

You own every retry, mapping and platform change.

PRODUCT REVIEW

Verified against the production capability gates.

Written by Jordan H., Co-Founder & CEO. Technical review by Tristyn Robertson, Co-Founder & CTO. Last verified 23 September 2026. Capability availability can change as upstream platforms and deployment flags change; the authenticated account payload is the final source of truth for an integration.

Change history: 23 September 2026 — published the dedicated Fansly API page and verified the public capability matrix against the production platform gates.

Reproduce the published source and OpenAPI counts →
Connect a Fansly account →