OnlyFans Downloader avatar

OnlyFans Downloader

Pricing

$4.50 / 1,000 media

Go to Apify Store
OnlyFans Downloader

OnlyFans Downloader

Get source-hosted media links from public OnlyFans profiles, media sections, and posts. Export creator, post, thumbnail, file, and source details.

Pricing

$4.50 / 1,000 media

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

1

Bookmarked

133

Total users

8

Monthly active users

9 days ago

Last modified

Share

OnlyFans Downloader is for creators, researchers, and media teams that need links from public OnlyFans pages. Add profiles, media sections, or posts. Get source-hosted media links with creator, post, thumbnail, file, and source details in an Apify dataset.

This Actor does not bypass subscriptions, paywalls, private profiles, DRM, expired links, or OnlyFans access rules. It does not copy or host the media files.

📦 Returned data

Each dataset row is one media link. Fields include:

  • target, normalizedTarget, and sourceUrl for traceability
  • profileUsername, profileId, profileDisplayName, profileUrl, and profileAvatarUrl
  • postId, postUrl, postText, publishedAt, likesCount, and commentsCount
  • mediaId, mediaType, mediaUrl, and thumbnailUrl
  • durationSeconds, width, height, and fileExtension
  • mediaVariants for other source versions
  • accessLevel and scrapedAt

Some fields can be null when OnlyFans does not show them. Source-hosted links can expire or stop working.

🚀 Running the Actor

  1. Add one or more public OnlyFans targets.
  2. Choose the media kind to collect.
  3. Add a date range if needed.
  4. Set the most media rows to save per target.
  5. Start the Actor and open the dataset.

The Actor keeps working on other targets when one target is invalid or cannot be read. A valid target with no matching media creates no dataset row. Source startup failures, timeouts, and unreadable replies are reported as run failures after retries.

🎯 Input

FieldWhat to enter
targetsOne to 100 usernames, @handles, profile URLs, media-section URLs, or post URLs.
downloadModemedia, videos, photos, audio, streams, or post_media.
sortOrderAn accepted order choice. The source response still sets the row order.
dateFromOptional first publish date in YYYY-MM-DD form.
dateToOptional last publish date in YYYY-MM-DD form.
maxMediaPerTargetFrom 1 to 1,000 media rows per target. The default is 5.

Example input:

{
"targets": [
"https://onlyfans.com/oftv/videos"
],
"downloadMode": "videos",
"sortOrder": "latest",
"dateFrom": "2024-01-01",
"dateTo": "2026-12-31",
"maxMediaPerTarget": 10
}

📄 Output

A media row looks like this:

{
"target": "https://onlyfans.com/oftv/videos",
"normalizedTarget": "https://onlyfans.com/oftv/videos",
"sourceUrl": "https://onlyfans.com/1362157219/oftv",
"profileUsername": "oftv",
"profileId": null,
"profileDisplayName": "OFTV",
"profileUrl": "https://onlyfans.com/oftv",
"profileAvatarUrl": null,
"accessLevel": "public",
"postId": "1362157219",
"postUrl": "https://onlyfans.com/1362157219/oftv",
"postText": "Alcohol Tie Dye | Create with Kira...",
"publishedAt": "2024-11-09T00:00:30+00:00",
"likesCount": null,
"commentsCount": null,
"mediaId": "3551716651",
"mediaType": "video",
"mediaUrl": "https://media.of.tv/videos/example/stream.m3u8",
"thumbnailUrl": "https://media.of.tv/videos/example/thumbnail.webp",
"durationSeconds": 439,
"width": 1280,
"height": 720,
"fileExtension": "m3u8",
"mediaVariants": [],
"scrapedAt": "2026-07-20T12:00:00.000Z"
}

Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML. You can also read it through the Apify API.

💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each media link saved to the dataset. A target that saves no media row does not create this charge.

Use a small maxMediaPerTarget value for your first run, then raise it if the output fits your task.

🔌 Integrations

Use Apify schedules for repeat runs, webhooks for run events, and the Apify API for your own apps. You can also connect datasets to Apify integrations.

❓ FAQ

Why did a valid target return no rows?

It may have no media that matches your media kind or date range. A public page may also have no usable source-hosted media link.

What happens when OnlyFans cannot be read?

The Actor retries temporary source problems. It reports access issues for one target and moves to the next. If OnlyFans stays unstable or gives no readable media reply, the run fails instead of showing a generic empty result.

Can it read paid, private, or message media?

No. The Actor uses public page access and does not take an OnlyFans session. It does not bypass a paywall, private profile, or message access rule.

Does it save media files to Apify storage?

No. It saves source-hosted URLs and metadata. Use the links soon because the source can change or expire them.

Can I use it on Android, Firefox, or another device?

Yes, through Apify Console or the Apify API. This Actor is not a browser extension or mobile app, and device choice does not unlock more OnlyFans content.

Can I use the output with ChatGPT or Perplexity?

You can export the dataset and use suitable text fields in your own tools. The Actor does not send data to ChatGPT or Perplexity.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré