OnlyFans Downloader avatar

OnlyFans Downloader

Pricing

$4.50 / 1,000 media items

Go to Apify Store
OnlyFans Downloader

OnlyFans Downloader

Download media URLs from OnlyFans profiles, media sections, and posts you can access. Export media links, thumbnails, creator context, post text, source URLs, and timestamps for API workflows or dataset exports.

Pricing

$4.50 / 1,000 media items

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

3

Monthly active users

8 days ago

Last modified

Share

📥 OnlyFans downloader for media URLs

OnlyFans Downloader downloads media URLs and media metadata from OnlyFans profiles, media sections, and posts you can access. Add a username, @handle, profile URL, media-section URL, or post URL, then export media links, thumbnails, creator context, post text, source URLs, and scrape timestamps to an Apify dataset.

Use this OnlyFans downloader when you need a repeatable way to collect media links for creator management, content review, research, reporting, archiving, or an API workflow. The Actor is focused on media rows, so each saved dataset item represents one downloadable media item rather than a broad mixed profile or post scrape.

For a small first run, keep the prefilled https://onlyfans.com/oftv/videos target and start the Actor. Once the output shape looks right, paste your own OnlyFans targets, raise Max media per target, schedule the Actor, or call it through the Apify API.

✅ What this Actor does

  • Accepts OnlyFans usernames, @handles, profile URLs, media-section URLs, and post URLs.
  • Supports downloader-focused sections such as /media, /videos, /photos, /audio, /stream, and /posts.
  • Saves one dataset row per downloadable media item.
  • Adds media URLs, thumbnails, media type, dimensions, duration, file extension hints, and available variants when visible.
  • Adds creator context such as username, display name, profile URL, avatar URL, and access level when visible.
  • Adds parent post context such as post URL, post text, publish time, likes, comments, and source links when visible.
  • Lets you filter by media section, date range, media order, and per-target media limit.
  • Supports optional OnlyFans session details for media visible to your own account.
  • Skips invalid, inaccessible, unavailable, or temporarily undownloadable media without saving failure rows.

This Actor does not bypass subscriptions, private profiles, paywalls, DRM, expired URLs, account limits, or source access rules. Authenticated runs can only access media that your own valid OnlyFans session can view.

📦 Data you can export

Each output row represents one downloadable OnlyFans media item. Core fields include:

  • rowType with media for saved media rows
  • target, targetIndex, and normalizedTarget
  • sourceUrl, profileUrl, and postUrl
  • profileUsername, profileId, profileDisplayName, and profileAvatarUrl
  • accessLevel with public or authenticated
  • postId, postText, publishedAt, likesCount, and commentsCount
  • mediaId, mediaType, mediaUrl, and thumbnailUrl
  • durationSeconds, width, height, and fileExtension
  • mediaVariants when the source exposes more than one usable media URL
  • sourceRowNumber and scrapedAt

You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, call it through the Apify API, schedule runs, or connect it to webhooks and integrations.

🚀 How to run

  1. Add one or more OnlyFans targets in OnlyFans targets.
  2. Choose Media to collect: all media, videos, photos, audio, streams, or media from posts.
  3. Set Start date and End date when you want a date window.
  4. Keep Max media per target low for a test run, then raise it when the output looks right.
  5. Add optional session details only for media visible to your own account.
  6. Start the Actor and open the dataset.

The default input is designed for a small public test run. If a target is private, subscription-only, removed, or does not expose downloadable media to the run, the Actor logs the outcome and continues with other targets.

🎯 Input

FieldWhat to enter
targetsOnlyFans usernames, @handles, profile URLs, media-section URLs, or post URLs.
downloadModeWhich media section to collect: all media, videos, photos, audio, streams, or media from posts.
sortOrderWhich media should be collected first when the source offers ordering.
dateFromOptional start date in YYYY-MM-DD format.
dateToOptional end date in YYYY-MM-DD format.
sessionCookieOptional OnlyFans sess cookie for media your account can access.
xBcOptional x-bc value from the same browser session as your cookie.
userAgentOptional browser User-Agent from the same session as your cookie.
maxMediaPerTargetMaximum media rows to save for each target. Default is 50.

🧾 Example output

{
"rowType": "media",
"target": "https://onlyfans.com/oftv/videos",
"targetIndex": 0,
"normalizedTarget": "https://onlyfans.com/oftv/videos",
"sourceUrl": "https://onlyfans.com/oftv/1362157219",
"profileUsername": "oftv",
"profileDisplayName": "OFTV",
"profileUrl": "https://onlyfans.com/oftv",
"accessLevel": "public",
"postUrl": "https://onlyfans.com/oftv/1362157219",
"postText": "Alcohol Tie Dye | Create with Kira...",
"publishedAt": "2024-11-09T00:00:30+00:00",
"mediaId": "3551716651",
"mediaType": "video",
"mediaUrl": "https://media.of.tv/videos/yaEbj/stream.m3u8?1730264438",
"thumbnailUrl": "https://media.of.tv/videos/yaEbj/thumbnail-1080.webp",
"durationSeconds": 439,
"width": 1280,
"height": 720,
"fileExtension": "m3u8",
"scrapedAt": "2026-06-11T15:20:00.000Z"
}

💳 Pricing

This Actor uses pay-per-event pricing. You are charged $0.0045 for each downloadable media item saved to the dataset. Targets that do not produce a saved media row are not charged as media items.

Start with a small Max media per target value to inspect the output and estimate spend before larger runs.

⚠️ Limits and access

OnlyFans can contain restricted or paid content. This Actor is for lawful research, creator management, archival, and analytics use with content you are allowed to access.

Public runs can collect media that OnlyFans exposes publicly. For subscribed, private, or account-visible media, add your own valid sess, x-bc, and matching User-Agent values. The Actor does not provide accounts, subscriptions, cookies, credentials, or access bypasses.

Direct source media URLs may expire or stop working according to the source. Keep sourceUrl, profileUrl, postUrl, and scrapedAt in your exports so you can trace where each media item came from.

❓ FAQ

Can this download private or paid OnlyFans media?

Only when your own valid OnlyFans session can access that media. The Actor does not bypass paywalls, subscriptions, private profiles, or account restrictions.

Does this save media files to Apify storage?

No. This Actor exports media URLs and metadata. It does not promise permanent file hosting because source media URLs can expire.

Why did a target return no media rows?

The target may be private, subscription-only, removed, empty, temporarily unavailable, or not exposing downloadable media to the run. The Actor skips those cases without adding failure rows to the dataset.

Can I run this through the Apify API?

Yes. The input schema works from Apify Console, API runs, scheduled runs, webhooks, and integrations.

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

🔗 Other actors

Made with ❤️ by Maxime Dupré