Onlyfans Scraper
Pricing
$34.99/month + usage
Onlyfans Scraper
Top 1 Onlyfans Scraper! Scrape OnlyFans creator profiles in bulk. Extract bio, subscription price, posts, photos, videos, total media count, favorites, subscribers, active promotions, subscription bundles, avatar, header image, join date, location, and 90+ data fields. Export to JSON, CSV, or Excel.
Pricing
$34.99/month + usage
Rating
0.0
(0)
Developer

SilentFlow
Actor stats
1
Bookmarked
6
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
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.
โจ Why use this scraper?
- ๐ 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
- ๐ก๏ธ High reliability: Automatic retry on failures with residential proxy support
- ๐ฆ Multiple export formats: JSON, CSV, and Excel
๐ฏ 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
๐ 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").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').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`);});
๐ Performance & limits
| Metric | Value |
|---|---|
| Speed | ~1-2 profiles per second |
| Data freshness | Real-time (live API data) |
| Memory | 512 MB default (256 MB minimum) |
๐ก Tips for best results
- Start small: Test with 3-5 profiles before running large batches
- Use residential proxy: Enabled by default for best reliability
- Both URLs and usernames work: Use
corinnakopforhttps://onlyfans.com/corinnakopf - Check error field: Deleted or renamed profiles return an error object in output
โ 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 happens if a profile doesn't exist?
A: The scraper returns an error item with a descriptive message. Check the error field in the output.
Q: How often can I run it? A: No limits on frequency. Use residential proxies for best results on large volumes.
๐ฌ 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