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

Payouts

Chargebacks

Public Profiles

Followings

Fans

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 can't be exported

Media Vault exports of videos will fail to download when DRM is enabled for them in OnlyFans. DRM-protected video files are encrypted and cannot be retrieved, so they will be counted as failed_downloads rather than written to the export file. Photos and other non-DRM media are unaffected.

Available export fields

TransactionsChat MessagesTrial LinksTracking LinksPayoutsChargebacksPublic ProfilesMediaFansFollowings
Account IDAccount IDAccount IDAccount IDAccount IDAccount IDOnlyFans IDZIP of every media vault file (photo, video, audio)IDOnlyFans ID
Account NameAccount NameAccount NameAccount NameAccount NameAccount NameUsernameOnlyFans IDUsername
Account UsernameAccount UsernameAccount UsernameAccount UsernameAccount UsernameAccount UsernameNameUsernameName
Transaction IDFan IDOnlyFans IDOnlyFans IDOnlyFans IDOnlyFans IDAboutNameAvatar
TypeFan UsernameNameCampaign CodeAmountPayment TypeLocationDisplay NameIs Performer
Fan IDFan NameURLCampaign NameCurrencyFan IDWebsiteAvatarIs Verified
Fan UsernameChat IDClaim CountsOnlyFans URLStateFan UsernameSubscribe PriceLocationIs Real Performer
Fan NameMessage IDClicks CountsCount SubscribersReject ReasonFan NameMin Subscribe PriceIs PerformerSubscribe Price
AmountMessage TextSubscribe CountsCount TransitionsOnlyFans Created AtAmountPosts CountIs VerifiedSubscription Price
VAT AmountPriceSubscribe DaysRevenueVAT AmountPhotos CountCan Add SubscriberSubscription Autoprolong
Tax AmountTip AmountIs FinishedRevenue Per SubscriberTax AmountVideos CountCan ChatSubscription Is Muted
Net AmountIs FreeRevenueRevenue Per ClickMedia Tax AmountAudios CountSubscribe PriceShow Posts In Feed
Fee AmountIs TipRevenue Per SubscriberOnlyFans Created AtNet AmountFavorites CountTotal SummHas Active Paid Subscriptions
CurrencySent by (creator or fan)OnlyFans Created AtOnlyFans End DateFee AmountFavorited CountMessages SummSubscription Status
DescriptionIs OpenedOnlyFans Expired AtCurrencySubscribers CountSubscribes SummSubscribe At
StatusMedia CountTags (comma separated)Tags (comma separated)DescriptionIs VerifiedPosts SummExpired At
Created AtOnlyFans Created AtStatusIs PerformerTips SummRenewed At
Payment Created AtIs Real PerformerStreams SummLast Seen At
OnlyFans Created AtAvatar URLRebill OnRegular Price
Header URLSubscribe AtDiscount Percent
InstagramExpired AtDuration
TwitterRenewed AtCan Receive Chat Message
TikTokIs Blocked
FacebookCan Unsubscribe
GenderTips Enabled
Gender Confidence
Join Date
Last Seen At

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
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

On this page