OnlyFans API

Data Exports

Our data exports offer full historic data of transactions, chat messages, media, and much more.

Available data export types

Transactions

Chat Messages

Media

Trial Links

Tracking Links

Smart Links

Payouts

Chargebacks

Public Profiles

Followings

Fans

Profile Visitors

Export type reference

The type column below is the value you pass to the Create Data Export endpoint.

Export typetypeFile formatsDate rangeRequires a creator account
TransactionstransactionsCSV, XLSXRequiredYes
Chat Messageschat_messagesCSV, XLSXRequiredNo
Mediamedia_vaultZIPRequiredYes
Trial Linkstrial_linksCSV, XLSXRequiredYes
Tracking Linkstracking_linksCSV, XLSXRequiredYes
Smart Linkssmart_linksCSV, XLSXOptionalYes
PayoutspayoutsCSV, XLSXRequiredYes
ChargebackschargebacksCSV, XLSXRequiredYes
Public Profilespublic_profilesCSV, XLSXNot applicableNo
FansfansCSV, XLSXNot applicableYes
FollowingsfollowingsCSV, XLSXNot applicableNo
Profile Visitorsprofile_visitorsCSV, XLSXRequiredYes

Public Profiles does not take accounts

Every export type except public_profiles requires at least one connected account in account_ids. Public Profiles is looked up by username instead, so it works without a connected account.

Getting started

You can create and manage data exports in two ways:

Starting an export via Dashboard

To get started, click on the "Create Export" button, which will take you to the export creation page. You're then prompted customize your export:

Data type

As the first step, select the type of data you want to export. Please refer to the list above for available export types.

Export fields

Select the fields you want to include in your export. For a full list of available fields, please refer to the available export fields list.

Accounts

Choose which accounts you want to include in your export. You can select all connected accounts, or select specific accounts.

Date range

Select the data range that you wish to be included in your export.

View the export cost

For some Data Export types, it is not possible to calculate the cost upfront. If this is the case, it will be calculated once the export is completed. For other Data Export types, you will see the cost of the export here.

Select the export file type

Click on "Export Data", and choose either CSV or Excel (XSLX). This will start the export!

That's it!

Your data export will now be processed by our servers in the background, and you will be able to download it once completed.

Using the API

Data exports can be created and managed either through our Dashboard or programmatically using our API endpoints. The API provides full control over the export lifecycle, allowing you to automate data exports and integrate them into your workflows.

Export workflow

The data export process follows a two-step workflow:

Create Data Export

Use the Create Data Export endpoint to create a new export request. This endpoint will calculate the required credits based on your selected parameters (data type, fields, accounts, and date range) and prepare the export for processing.

Start Data Export

Once the export has been created and credit calculation is complete, use the Start Data Export endpoint to begin processing. This will charge the calculated credits and start the actual export process.

Monitoring exports

You can monitor the status and progress of your exports using the following endpoints:

Once an export is completed, you can download the file using the download URL provided in the export status response.

Big data exports

Depending on the chosen date range and account size, your export might take several hours to complete if you're exporting a large amount of data. You can safely close the browser window, and return to the Data Exports page later to check the status of your export.

Understanding export progress & row counts

When you create an export, we first scan OnlyFans to find every record that matches your selection, then write those records to the export file. The status endpoints — Get Data Export Status and List Data Exports — and the dashboard surface a few fields that describe this progress:

FieldDashboard labelWhat it means
total_rowsTotal RowsThe number of matching records found for your export during scanning. Your credit cost is based on this number. For most export types every found row is written to the file, so total_rows equals the number of rows in the delivered file.
rows_processedThe number of rows actually written to the export file — i.e. the delivered count.
failed_downloadsMedia exports only. The number of media files that could not be downloaded (failed_downloads = total_rows − rows_processed). It is 0 for every other export type.

Why a media export can show more “rows” than files delivered

For media exports, each "row" is an individual file that has to be downloaded from OnlyFans and added to the ZIP. Unlike CSV or Excel exports — where every found row is always written to the file — a media file download can occasionally fail at the moment it runs (for example, a temporary access error).

We automatically retry failed downloads, but a few may still not succeed within a single export run. This means a completed media export can legitimately contain fewer files than its Total Rows. The dashboard reflects this by showing, for example, "48 of 50 media downloaded" and, when any files failed, a "Completed with N failed" status instead of a plain success — so the numbers always reconcile:

total_rows (found) = rows_processed (delivered) + failed_downloads

If some files failed, simply re-run the export to attempt the remaining files again. These failures are usually transient and succeed on a later run.

Other export types always match

This rows-vs-delivered distinction only applies to media exports. For transactions, chat messages, payouts, and every other export type, each found row is always written to the file — so total_rows and rows_processed are always equal.

DRM-protected videos aren't included in exports

Media Vault exports don't include videos that have DRM enabled in OnlyFans. These files are encrypted, so the export counts them as failed_downloads rather than writing them to the export file. Photos and other non-DRM media are unaffected.

You can still retrieve a DRM-protected video individually with the Download DRM-protected Media endpoint, which resolves the Widevine license and returns a decrypted MP4. Bulk export of DRM videos is not supported.

Profile Visitors granularity

A Profile Visitors export contains one row per account, per day in your selected date range — not one aggregated row for the whole range.

OnlyFans buckets its profile statistics chart into coarser periods as the requested range widens, so a single request for a long range loses day-level detail. We therefore request each day individually and store it, which keeps the daily numbers intact regardless of how long a range you export.

This also means the row count — and therefore the cost — scales with the number of days multiplied by the number of accounts. A 90-day export across 3 accounts produces 270 rows.

Not every account has profile statistics

OnlyFans only exposes profile visitor statistics to accounts that are eligible for them. If statistics are unavailable for an account, it simply contributes no rows to the export.

Available export fields

Field names below map to the export_columns values accepted by the Create Data Export endpoint. Omit export_columns to receive every field for the chosen type.

Pricing

The following pricing applies to our data exports:

Export typeCost
Transactions1 credit per 20 results
Chat Messages1 credit per 20 results
Media1 credit per 20 results
Trial Links1 credit per 20 results
Tracking Links1 credit per 20 results
Smart LinksFree
Payouts1 credit per 20 results
Chargebacks1 credit per 20 results
Public Profiles3 credits per profile
Fans1 credit per 20 results
Followings1 credit per 20 results
Profile Visitors1 credit per 20 results

What counts as a “result” for Profile Visitors

One result is one account-day. A 90-day export across 3 accounts is 270 results, so 14 credits.

On this page