OnlyFans Statistics API
Turn a creator's numbers into JSON instead of screenshots. ofapis doesn't expose a single "statistics" endpoint that mirrors the OnlyFans Statistics tab — instead you assemble the same metrics from the read endpoints that do exist, each scoped to a linked account so an agency can chart a whole roster from one key.
Which endpoint gives which metric
| Metric | Endpoint |
|---|---|
| Active subscribers, new joins | GET /accounts/{accountId}/subscribers |
| People the account follows | GET /accounts/{accountId}/following |
| Fans you have chats with | GET /accounts/{accountId}/chats/users |
| Activity events (subs, tips, messages) | GET /accounts/{accountId}/notifications |
| Unread activity count | GET /accounts/{accountId}/notifications/count |
There is no aggregate /statistics or /earnings route — revenue is reconstructed from the monetary fields on messages and notifications (see the transactions and earnings pages).
Read subscriber metrics
curl "https://api.ofapis.com/api/public/v1/accounts/42/subscribers?limit=50" \
-H "Authorization: Bearer ofapis_sk_..."
Page through subscribers to count active fans and detect new joins between snapshots. GET /notifications/count is the cheapest way to see whether anything changed before you page the full list — one successful call, one credit; failed calls are free.
Build a snapshot
The pattern for a stats dashboard is snapshot-and-diff, because these endpoints return current state, not a pre-aggregated report:
- On a schedule, read
subscribers(count) andnotifications(recent events). - Store each pull with a timestamp.
- Diff consecutive snapshots for growth, churn and activity trends.
Use cases
- Dashboard tiles. Poll the subscriber count and notification count on a schedule to drive the KPI cards on an analytics dashboard without walking every fan.
- Roster roll-up. Loop the reads across each
accountIdand sum for an agency-wide view — the core of revenue analytics. - Churn alerts. Diff today's subscriber snapshot against yesterday's and fire an alert when it drops.
Gotchas
- No pre-aggregated report. You compute periods yourself by snapshotting and diffing — the API returns current state, not a rolled-up window.
- Use notifications for live events. For the moment a tip or subscribe happens, use notifications or a webhook, not a polled count.
- Cache the reads. Snapshot on a schedule and cache rather than re-pulling per page view, to save credits.
- Billing and rate limits. One credit per successful call; pace to your plan's requests-per-minute — see pricing.
FAQ
Is there a single OnlyFans statistics endpoint?
No. ofapis exposes the underlying reads — subscribers, following, chats/users and notifications — and you assemble the headline metrics from them. This keeps the data raw and current rather than locking it into one report shape.
How do I get subscriber growth over time?
Snapshot GET /subscribers (and GET /notifications/count) on a schedule, store each pull with a timestamp, and diff consecutive snapshots. The API returns current state, so trends are computed on your side.
Where do revenue numbers come from?
From the monetary fields on messages and notifications, not a dedicated stats route — see the transactions API and earnings API for how to aggregate them.
Does reading metrics cost credits?
One credit per successful call. Failed calls, including an expired session, are never billed. See pricing for plan allowances.