Introduction
One API for OnlyFans and Fansly — 529 endpoints across a signed passthrough and a normalized CRM layer.
The Only API gives you programmatic access to OnlyFans and Fansly through a single REST API and a single API key.
OnlyFans has no public API. Its private endpoints require signed headers
(sign, time, app-token) that rotate constantly, a live session cookie, and
a residential or datacenter proxy that matches the IP the session logged in
from. We do all of that server-side. You send one header.
Two platforms, one key
Every connected account has a platform of either onlyfans or fansly. The
CRM routes work for both and return the same normalized shapes. The
/api2/v2/* passthrough is OnlyFans-only. See
OnlyFans & Fansly.
The shape of the API
Your CRM panel is the tenant boundary. A panel has an ID (crm_…), an API
key, and a set of connected creator accounts — one slot per account, each with
its own persisted session and proxy.
Almost every path is scoped to a panel:
https://theonlyapi.com/api/crm/{crm_id}/…There are two very different surfaces underneath that prefix, and knowing which one you are on explains most surprising responses:
Normalized CRM layer
95 endpoints. OnlyFans and Fansly rows projected to the same shape, plus server-side aggregations, cached reads, async jobs, webhooks, automations and events that have no platform equivalent.
OnlyFans passthrough
434 endpoints under /api2/v2/*. OnlyFans' own response body, unchanged,
wrapped in a small { success, status_code, data } envelope.
Read The two surfaces for how to choose between them.
Start here
Quickstart
Panel → connected account → first authenticated call, in about five minutes.
Get an API key
Where keys live, and the difference between primary and secondary keys.
Connect an account
Session paste (recommended) or credentials with automatic 2FA handling.
Responses & errors
The two envelopes, the real error shapes, and one wrapper that will confuse you if you test without a key.
Using these docs with an AI
Every page here has a Markdown twin: append .md to any URL, or use the
Copy page button in the page header to copy it, view it as Markdown, or open
it directly in ChatGPT or Claude. There is also an
llms.txt index, per-section full-text bundles, and an MCP server
for the docs themselves.