OnlyFans Public Profile & Stats Scraper
Look up any public OnlyFans creator by username and extract the public profile: display name, bio, subscription price, free trial, post, photo and video counts, likes, subscriber count, avatar, banner, verification and join date. Export to JSON, CSV or Excel. No login.
{ "avatarUrl": "https://public.onlyfans.com/files/o/o6/o63/o63…", "bannerUrl": "https://public.onlyfans.com/files/v/vf/vfi/vfi…", "displayName": "Angela White", "username": "angela", "profileUrl": "https://onlyfans.com/angela", "id": 115073010, "isVerified": true, "subscribePrice": 0, "hasFreeTrial": true }
Every run returns clean, typed records, ready for your CRM, spreadsheet or database.
- One clean record per result, deduped and normalized
- Stable schema in JSON, CSV or Excel, or read it via the Apify API
- Pay per use in the cloud, nothing to install or maintain
A real example record, exactly the shape you receive.
| Avatar Url | Banner Url | Display Name | Username |
|---|---|---|---|
| https://public.onlyfans.com/files… | https://public.onlyfans.com/files… | Angela White | angela |
| https://public.onlyfans.com/files… | https://public.onlyfans.com/files… | Emi | emily |
| https://public.onlyfans.com/files… | https://public.onlyfans.com/files… | OnlyFans | onlyfans |
{ "avatarUrl": "https://public.onlyfans.com/files/o/o6/o63/o63…", "bannerUrl": "https://public.onlyfans.com/files/v/vf/vfi/vfi…", "displayName": "Angela White", "username": "angela", "profileUrl": "https://onlyfans.com/angela", "id": 115073010, "isVerified": true, "subscribePrice": 0, "hasFreeTrial": true }
Frequently asked questions
Does this scraper work for any OnlyFans creator?
It works for any public creator page that a logged-out visitor can open at onlyfans.com/username. Pass the username, an @handle or the full profile URL. Private or deactivated accounts return a not found record.
Can it read posts, photos or messages behind the paywall?
No. It only reads the public profile fields that OnlyFans shows to logged-out visitors, such as name, bio, price, counts and avatar. It never logs in and never accesses subscriber-only content.
How many profiles can I scrape in one run?
As many usernames as you pass. Use Max Items to cap the run. Profiles are fetched a few at a time and streamed to the dataset as they complete.
Why is a residential proxy used?
The actor uses Apify residential proxies by default to reach the public page, so there is nothing to set up. Residential traffic is metered per GB on your Apify plan.
What happens when a username does not exist?
The record is returned with the username, the profile URL and an error note of Profile not found, so you can tell missing handles apart from live profiles in the same dataset.
Ready when you are.
Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.