OnlyFans Subscribers API
Pull a creator's audience — active subscribers, the accounts they follow, and the fans they're chatting with — as clean JSON. The ofapis audience endpoints page through the same lists the OnlyFans app shows, over a single Bearer-authed call, billed one credit per request.
What you can do
- List a creator's subscribers (paginated).
- List who the creator is following.
- List the users the creator has chats with.
- Run globally (first active account) or scoped to a specific linked account for agencies.
Endpoints
GET /api/public/v1/subscribers
GET /api/public/v1/following
GET /api/public/v1/chats/users
# account-scoped (agencies)
GET /api/public/v1/accounts/{accountId}/subscribers
GET /api/public/v1/accounts/{accountId}/following
GET /api/public/v1/accounts/{accountId}/chats/users
Example
curl "https://api.ofapis.com/api/public/v1/subscribers?limit=50&offset=0" \
-H "Authorization: Bearer ofapis_sk_..."
Responses are paginated — follow the returned offset / hasMore to walk through a large audience. Each page is one successful call and one credit.
Paging through the whole audience
Loop until hasMore is false, bumping offset by your limit each pass:
# page 2
curl "https://api.ofapis.com/api/public/v1/subscribers?limit=50&offset=50" \
-H "Authorization: Bearer ofapis_sk_..."
The full walk-through is in the step-by-step guide.
Use cases
- CRM sync. Nightly, page through
subscribersand upsert each fan into a CRM so your records match the live audience. - Segmentation source. Feed the subscriber list into your scoring, then push the results into fan segments for targeted mass DMs.
- Churn dashboard. Diff today's subscriber set against yesterday's to spot lapses and surface a retention number on an analytics dashboard.
Gotchas
- Budget the pages. A 50k-fan audience at
limit=50is 1,000 successful calls — 1,000 credits. Raise the page size, sync on a schedule rather than per-request, and cache locally instead of re-pulling the whole list each time. - Subscribers vs. chats.
subscribersis everyone subscribed;chats/usersis only fans you've messaged. Pick the right one — they are different populations. - Billing. One credit per successful page. Failed calls (expired session, upstream error) are free.
- Rate limits are per your plan's requests-per-minute — pace the pagination loop to stay under it. See pricing.
FAQ
How do I export the full subscriber list?
Page through with offset, increasing it by your limit each request, until hasMore is false. The step-by-step guide shows the loop.
What's the difference between subscribers and chat users?
subscribers returns everyone currently subscribed to the creator. chats/users returns only the fans the creator has an existing conversation with — a smaller, engagement-based set.
How many credits does a full sync cost?
One credit per successful page. Total cost is roughly the audience size divided by your page limit, so larger pages mean fewer credits for the same export.
What are the rate limits?
They follow your plan's requests-per-minute — 1,000 on Free up to 5,000 on Pro. Pace your pagination loop accordingly; see pricing.
Start building: get a token free · notifications API · API reference
Related: Fans API