OnlyFans Earnings API
There is no OnlyFans "statement" number ofapis can hand back — the platform doesn't expose its official earnings figures over an API, and ofapis doesn't invent one. The onlyfans earnings api is an aggregation pattern instead: you read the monetary signals ofapis does surface — PPV prices, tips, and subscription events — and sum them into a revenue number you compute and own. Every input is a Bearer-authed read over the linked account.
The signals you aggregate
| Revenue type | Source | Field |
|---|---|---|
| PPV unlocks | chat messages | price, isOpened |
| Tips | chat messages / notifications | isTip, price |
| Subscriptions & renewals | notifications feed | event type |
Endpoints
GET /api/public/v1/notifications?type=&limit=
GET /api/public/v1/chats/{chatId}/messages?limit=
# account-scoped (agencies)
GET /api/public/v1/accounts/{accountId}/notifications
GET /api/public/v1/accounts/{accountId}/chats/{chatId}/messages
Example
curl "https://api.ofapis.com/api/public/v1/accounts/42/notifications?type=tips&limit=100" \
-H "Authorization: Bearer ofapis_sk_..."
Scope to an account with /accounts/{accountId}/... so a Pro or Enterprise plan can roll earnings up per creator, then combine into an agency-wide total.
How aggregation works
Prices come back in cents, so divide by 100 for dollars. A rough daily revenue pass looks like: pull the day's tip events and sum their amounts; walk each active conversation's messages and add any where price > 0 and isOpened is true (the fan paid to unlock); count subscribe and renewal events from the feed and multiply by the plan price you already know. Cache the running totals — you never need to re-read history you've already summed.
Use cases
- Revenue dashboard. Feed the daily totals into an analytics dashboard to chart tips vs. PPV vs. subscriptions over time.
- Chatter performance. Attribute PPV unlocks to the conversation that sold them to rank which chatter or script earns most.
- Payout forecasting. Track gross trend week over week to project the next cycle, then reconcile against the real statement.
Gotchas
- Gross, not net. You are summing list amounts, not payouts. OnlyFans' platform fee, refunds, and chargebacks are not reflected — your figure runs high. Label it "gross" everywhere.
- PPV counts once it's opened. A priced message that no fan unlocked earned nothing; gate your sum on
isOpened, not on the message existing. - Billing. One credit per successful call. Aggregating a full day is many message and notification pages — batch on a schedule and store deltas rather than recomputing from scratch. See pricing.
- Rate limits are per your plan's requests-per-minute; pace the loop so a nightly roll-up doesn't trip them.
FAQ
Does ofapis return my official OnlyFans earnings total?
No. OnlyFans does not expose its statement figures over an API, so ofapis can't relay them. This endpoint set lets you compute a revenue estimate from tips, PPV, and subscription reads.
Why is my computed number higher than my OnlyFans payout?
Because you're summing gross list amounts. The platform fee, refunds, and chargebacks all reduce the net payout and none of them appear in the message or notification data.
Can I aggregate earnings across multiple creators?
Yes. Use the account-scoped routes /accounts/{accountId}/... to compute each creator separately, then add the totals. Multi-account plans (Pro, Enterprise) cover several linked accounts.
How current is the data?
As current as your last read — this is pull-based. Read more often for fresher totals, or drive updates from webhooks so new tips and unlocks land as they happen.
Get a free token · Subscribers API · API reference
Related: Tips API