OnlyFans Profile Scraper
Pricing
from $4.00 / 1,000 results
OnlyFans Profile Scraper
Best OnlyFans profile scraper with pay-per-result pricing. Extract bio, subscription price, posts count, photos, videos, total media, favorites, subscribers, active promotions, subscription bundles, avatar, header image, join date, social links, location and 90+ data fields. Proxies included.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
SilentFlow
Maintained by CommunityActor stats
4
Bookmarked
70
Total users
6
Monthly active users
14 days ago
Last modified
Categories
Share
OnlyFans Scraper - Pay Per Event
Pay only for the data you get! Proxies included, no compute costs.
Scrape OnlyFans creator profiles in bulk without login. Extract all public profile data including name, bio, subscription pricing, content counts, engagement metrics, and 90+ fields per profile.
How it works

โจ Why use this scraper?
- ๐ฐ Pay per result: Only pay for profiles successfully scraped, no compute costs
- ๐ Proxies included: No need to configure or pay for proxies separately
- ๐ No login required: Extract public profile data without authentication
- ๐ 90+ data fields: The most comprehensive OnlyFans profile data available
- โก Bulk scraping: Process hundreds of profiles in a single run
๐ฏ Use cases
| Industry | Application |
|---|---|
| Creator analytics | Track content output, subscription pricing, and engagement metrics |
| Market research | Analyze creator economy trends, pricing strategies, and content volumes |
| Competitive analysis | Compare profiles across subscription tiers and content types |
| Lead generation | Build lists of creators with verified profile data |
| Data journalism | Research the creator economy with structured data |
๐ฅ Input parameters
Profiles
| Parameter | Type | Description |
|---|---|---|
profileUrls | String list | OnlyFans profile URLs or usernames to scrape |
Supported URL formats:
https://onlyfans.com/username- Just the username:
corinnakopf
Proxy is automatically configured in Pay Per Event mode. No proxy setup needed.
๐ Output data
Profile example
{"id": 149918067,"username": "corinnakopf","name": "Corinna Kopf","about": "come talk to me NUDE EXCLUSIVE CONTENT I TALK WITH EVERYONE SOLO PPV CONTENT","url": "https://onlyfans.com/corinnakopf","avatar": "https://public.onlyfans.com/files/8/8i/8i9/8i9gdgr4vt01osi7zesh91dwszhubavk1623206464/avatar.jpg","avatarThumbs": {"c144": "https://thumbs.onlyfans.com/public/files/thumbs/c144/...","c50": "https://thumbs.onlyfans.com/public/files/thumbs/c50/..."},"header": "https://public.onlyfans.com/files/t/tt/ttr/ttr2kxzdqfyeoufk4l39pji7nytc6ccj1623206464/header.jpg","headerSize": { "height": 317, "width": 1024 },"isVerified": true,"isPerformer": true,"subscribePrice": 19.99,"subscriptionBundles": [{ "id": 9631046, "discount": 25, "duration": 3, "price": 44.98, "canBuy": false },{ "id": 9631047, "discount": 35, "duration": 6, "price": 77.96, "canBuy": false },{ "id": 9631049, "discount": 45, "duration": 12, "price": 131.93, "canBuy": false }],"promotions": [{"price": 4,"claimsCount": 91,"canClaim": true,"message": "ONLY $4 for the next 100 people! First come first serve ;)"}],"postsCount": 333,"photosCount": 310,"videosCount": 8,"mediasCount": 318,"favoritedCount": 2707292,"joinDate": "2021-06-09T00:00:00+00:00","location": "LA, California","hasLabels": true,"isActive": true,"canChat": true,"canEarn": true,"scrapedAt": "2026-02-26T21:37:47Z","dataType": "profile"}
๐๏ธ Data fields
| Category | Fields |
|---|---|
| Identity | id, username, name, about, view, url, inputUrl |
| Images | avatar, avatarThumbs, header, headerThumbs, headerSize |
| Verification | isVerified, isPerformer, isRealPerformer |
| Monetization | subscribePrice, currentSubscribePrice, subscriptionBundles, promotions, tipsMin, tipsMax, tipsEnabled, tipsTextEnabled, tipsMinInternal, canEarn |
| Content counts | postsCount, photosCount, videosCount, audiosCount, mediasCount |
| Engagement | subscribersCount, favoritedCount, favoritesCount |
| Activity | joinDate, firstPublishedPostDate, lastSeen |
| Social links | website, wishlist, location, instagramUrl, tiktokUrl, youtubeUrl, amazonUrl, oftvUrl |
| Status flags | hasStories, hasStream, hasSavedStreams, hasScheduledStream, hasPinnedPosts, hasLinks, hasLabels, isAdultContent, isActive, showMediaCount, showSubscribersCount, showPostsInFeed |
| Permissions | canChat, canAddSubscriber, canReport, canRestrict, canCommentStory, canLookStory, canCreatePromotion, canCreateTrial, canTrialSend, canPayInternal, canReceiveChatMessage |
| Account state | isRestricted, isBlocked, isFriend, isSpotifyConnected, isSpringConnected, isReferrerAllowed, isPrivateRestriction, feedUser, subscribedBy, subscribedOn |
| Counts | finishedStreamsCount, archivedPostsCount, privateArchivedPostsCount, referalBonusSummForReferer |
| Meta | scrapedAt, dataType |
๐ Examples
Scrape a single profile
{"profileUrls": ["https://onlyfans.com/corinnakopf"]}
Scrape multiple profiles
{"profileUrls": ["https://onlyfans.com/onlyfans","https://onlyfans.com/corinnakopf","https://onlyfans.com/amouranth"]}
๐ป Integrations
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("silentflow/onlyfans-scraper-ppe").call(run_input={"profileUrls": ["https://onlyfans.com/corinnakopf","https://onlyfans.com/amouranth",],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['username']}: {item['name']} - {item['postsCount']} posts, ${item['subscribePrice']}/mo")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('silentflow/onlyfans-scraper-ppe').call({profileUrls: ['https://onlyfans.com/corinnakopf','https://onlyfans.com/amouranth',],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.username}: ${item.name} - ${item.postsCount} posts, $${item.subscribePrice}/mo`);});
๐ก Tips for best results
- Start small: Test with 3-5 profiles before running large batches
- Both URLs and usernames work: Use
corinnakopforhttps://onlyfans.com/corinnakopf - Deleted or renamed profiles cost nothing: They are named in the run status and in the FAILED_PROFILES record of the run, never written to your dataset, never charged
โ FAQ
Q: Do I need an OnlyFans account? A: No. The scraper extracts publicly available profile data without authentication.
Q: Why is subscribersCount null for some profiles? A: Some creators choose to hide their subscriber count. The API returns null when this setting is enabled.
Q: Can I scrape private/subscriber-only content? A: No. This scraper only extracts public profile metadata, not posts or media content.
Q: What's included in the pay-per-event pricing? A: You pay per successfully scraped profile. Proxies and compute are included - no additional costs.
Q: What happens if a profile doesn't exist? A: It is skipped and named in the run status message and in the FAILED_PROFILES record of the run key-value store. You only pay for profiles that reach your dataset.
๐ฌ Support
Need help? We're here for you:
- Feature requests: Let us know what you need
- Custom solutions: Contact us for enterprise integrations or high-volume needs
Check out our other scrapers: silentflow on Apify