Revenue
An OnlyFans earnings API for revenue and transactions
Pull revenue for any period as a total, a series and a split by type, or walk the transactions one sale at a time. Every amount is integer cents in USD, with gross and net kept apart so nothing gets double counted.
curl "https://betterfans.link/v1/accounts/$ACCOUNT_ID/revenue?from=2026-09-01&to=2026-09-30&interval=week" \
-H "Authorization: Bearer $BFL_KEY"
# {
# "data": {
# "gross": { "amount": 1843200, "currency": "USD" },
# "net": { "amount": 1474560, "currency": "USD" },
# "byType": { "message": { "gross": ..., "net": ..., "count": 412 }, ... },
# "series": [ ... ],
# "topFans": [ ... ]
# },
# "meta": { "source": "synced", "asOf": "2026-09-30T14:02:11Z" }
# }Earnings API
What the OnlyFans earnings API returns
Revenue summary
Gross and net for a period, split by subscriptions, tips, paid messages, posts, streams and referrals, with the previous period for comparison.
Series
Choose day, week or month buckets for charts and reports.
Top fans
The fans who spent the most in the period come back with the summary.
Transactions
Each sale with its fan, type, gross, net and fee. Filter by type, by fan or by date and page through with a cursor.
Money you can add up
Integer cents, one currency. Net is what the creator keeps, about 80% of gross. Never add the two together.
Pushed as it happens
The transaction.created webhook fires for every new sale, so your books stay current without polling.
Analytics
Build an OnlyFans analytics dashboard
One revenue call returns a series in day, week or month buckets for the chart, the split by type and the top fans. Call it for every account in GET /v1/accounts to cover each creator you manage. The daily briefing guide builds a morning report on these routes, with yesterday's revenue, top fans, unread chats with paying fans and mass message results.
FAQ
Frequently asked questions
Can I get OnlyFans earnings through an API?
Yes. GET /v1/accounts/{accountId}/revenue returns gross and net for a period, split by type and as a series. GET /v1/accounts/{accountId}/transactions lists each sale with its fan, gross, net and fee.
What is the difference between gross and net?
Gross is what the fan paid. Net is what the creator keeps after the OnlyFans fee, about 80% of gross. Both come back on every amount. Report one or the other, and never add them together.
How current are the numbers?
Revenue is read from synced data, and meta.asOf says when that account last synced. New sales also arrive as transaction.created webhooks, so you can react to them without asking.
Can I build payroll or chatter commission reports?
Yes. Transactions carry the fan and the type, and you can filter by date and fan. Join them with your own shift or chatter records to work out commissions per person.
Related
Related features
Webhooks
Get messages, sales, subscribers and approval results pushed to your server, signed and retried.
Fan data API
Search and rank fans by spend. Subscriptions, lists, notes and who is online now.
For agencies
Many creators, one workspace. Roles for your team, keys per account and a log of every call.
GET STARTED
Build it in test mode today.
Sign up, make a test key and work against sandbox creators. Link a real account when your flow is ready.
Questions first? Write to hello@betterfans.link.