Skip to content

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.

revenue.sh
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.

Daily briefing guide

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.

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.