Blog

How to export OnlyFans financial data

What financial data actually exists on OnlyFans

OnlyFans holds two kinds of financial data you can work with: earnings figures and the transaction records behind them. OnlyFans does not publish an official public API, so the usual way to get this data out is copy and paste from the creator dashboard or a manual statement download. CreatorAPI takes a different route: it calls the same authenticated endpoints the OnlyFans apps themselves use, through your own connected session, and returns stable, structured JSON. Every native route follows one pattern, GET https://api.creator-api.com/v1/{account}/native/{path}, and the surface covers earnings, transactions, subscribers, messages, posts and media. For finance work the earnings and transactions routes are the ones that matter: they tell you what was sold, when, to whom, and what it added up to.

Live reads versus bulk exports

You have two ways to pull financial data: read it live over the API, or run a bulk export job. Live reads are plain native GET calls at 1 credit each. They are the right tool when a dashboard needs today's numbers, when a script checks yesterday's sales, or when you want one specific slice of data on demand. Bulk exports are the right tool when you want the whole dataset in a file. A data export job costs a flat 10 credits and dumps a full dataset, including transactions, subscribers, chats or posts, to CSV or JSONL that you download when the job is done. For anything an accountant, a spreadsheet or a data warehouse will consume, the export path is simpler and cheaper than paging through thousands of API responses. The data export feature page covers all four datasets in detail.

Running a transactions export

An export is one POST request against the exports endpoint of the connected account. You name the dataset and the format, the job runs in the background, and you download the file when it finishes:

# start a transactions export as CSV, costs 10 credits
curl -X POST \
  -H "X-API-Key: $CREATOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dataset": "transactions", "format": "csv"}' \
  "https://api.creator-api.com/v1/{account}/exports"

Swap "csv" for "jsonl" if the file feeds a pipeline rather than a spreadsheet. The account id is the creator id you received when you connected the account, so an agency can run the same job per creator with one API key.

Feeding accounting and dashboards

Exported financial data slots directly into the tools finance teams already use. The CSV output opens in Excel or Google Sheets without any conversion, which covers monthly bookkeeping, payout reconciliation and tax preparation. The JSONL output is line delimited JSON, so each transaction is one parseable row for loaders into a database or warehouse. For live views, skip the file entirely: point your dashboard at the native earnings and transactions routes and render current numbers straight from the API. If you want to see what those reads look like in practice, the financial analytics page walks through revenue reporting on top of the same routes. A sensible split for most teams: scheduled exports for the books, live reads for the screens.

Keeping the numbers fresh with webhooks

Webhooks keep your financial data current without polling: CreatorAPI pushes an event to your endpoint when something happens, including sales, renewals, new subscribers and new messages. You register an endpoint with one call, POST /v1/{account}/webhooks, and the event catalog lives at GET /v1/webhooks/events. Deliveries are signed with HMAC SHA256 so you can verify each payload came from CreatorAPI, and failed deliveries retry with backoff. There is also a delivery log and a test trigger, so you can fire a test event and inspect past deliveries before you trust the feed. A common setup pairs the two mechanisms: a sale event lands via webhook and updates the dashboard within seconds, while a nightly transactions export keeps the accounting system in sync as the durable record.

Where to start

The fastest start is a free trial with 1,000 credits and no card, which is enough for dozens of export jobs and hundreds of live reads. Connect an account, run one transactions export with the curl call above, open the CSV, and you will know within minutes whether the data fits your accounting flow. From there add live reads for dashboards and a webhook on sales for freshness. The quickstart covers connecting your first account step by step.

Export your first transactions file today

Start free with 1,000 credits, no card required, and run a full transactions export in minutes.

Start free with 1,000 credits · no card