Onlyfans Scraper Ppe
Pricing
from $4.00 / 1,000 results
Onlyfans Scraper Ppe
Best OnlyFans profile scraper — pay per result, no compute costs. Extract bio, subscription price, posts, photos, videos, total media count, favorites, subscribers, active promotions, subscription bundles, avatar, header image, join date, location, and 90+ fields. Proxies included.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer

SilentFlow
Actor stats
1
Bookmarked
3
Total users
2
Monthly active users
11 hours ago
Last modified
Categories
Share
OnlyFans Scraper - Pay Per Event
by silentflow
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.
✨ 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
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxItems | Integer | 50 | Maximum number of profiles to scrape |
Advanced
| Parameter | Type | Default | Description |
|---|---|---|---|
requestTimeout | Integer | 30 | HTTP request timeout in seconds |
debugMode | Boolean | false | Enable detailed logging |
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"],"maxItems": 100}
💻 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",],"maxItems": 50,})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',],maxItems: 50,});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 - Check error field: Deleted or renamed profiles return an error object in output
- Enable debug mode: Use
debugMode: trueto troubleshoot specific profiles
❓ 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: The scraper returns an error item with a descriptive message. Failed profiles are not charged.
📬 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