OnlyFans Public Profile & Stats Scraper avatar

OnlyFans Public Profile & Stats Scraper

Pricing

from $6.15 / 1,000 results

Go to Apify Store
OnlyFans Public Profile & Stats Scraper

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.

Pricing

from $6.15 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

1

Monthly active users

20 hours ago

Last modified

Share

OnlyFans Public Profile & Stats Scraper

OnlyFans Public Profile & Stats Scraper

Here is one real result, with every field the actor returns (the curly apostrophe in about is rendered here as a straight quote and the text is trimmed with a note; all values are real):

{
"avatarUrl": "https://public.onlyfans.com/files/o/o6/o63/o63vofufdwcnyweevm8lxtnqjx0cijmo1615932746/avatar.jpg",
"bannerUrl": "https://public.onlyfans.com/files/v/vf/vfi/vfimavq5kjgv3qicoksxwj9cjwiocvld1615932530/header.jpg",
"displayName": "Angela White",
"username": "angela",
"profileUrl": "https://onlyfans.com/angela",
"id": 115073010,
"isVerified": true,
"subscribePrice": 0,
"hasFreeTrial": true,
"promotions": [],
"about": "All the naughty things I can't post on Instagram. Check out my VIP page onlyfans.com/angelawhite to see all my nastiest XXX content.",
"location": "Los Angeles",
"website": "https://onlyfans.com/angelawhite",
"joinDate": "2021-02-07T00:00:00+00:00",
"lastSeen": null,
"firstPublishedPostDate": "2021-02-07T00:00:00+00:00",
"postsCount": 892,
"photosCount": 216,
"videosCount": 1575,
"audiosCount": 0,
"mediasCount": 1791,
"likesCount": 40952,
"favoritesCount": 4,
"subscribersCount": null,
"archivedPostsCount": 0,
"finishedStreamsCount": 2,
"isPerformer": true,
"isVerifiedPerformer": true,
"isAdultContent": true,
"hasStories": false,
"hasStream": false,
"canReceiveMessage": false,
"hasExternalLinks": false,
"hasMerchStore": false,
"spotifyConnected": false,
"tipsEnabled": false,
"tipsMin": 5,
"tipsMax": 200,
"observedAt": "2026-08-10T14:04:09.992Z",
"error": null
}

The most complete OnlyFans public profile scraper available. It returns every public field a creator profile exposes, including subscription price, free-trial flag, media and engagement counts, tip range, and account flags, and takes one or more usernames to return exactly the profiles you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor takes one or more OnlyFans usernames, fetches each creator's public profile, and writes one normalized record per username to the run's dataset. It returns only public profile data (bio, subscription price, media and engagement counts, account flags, tip range); it does not access, unlock, or download any paid or gated content. Missing source values are returned as null.

A username can be a bare handle (angela), an @name, or a full profile URL (https://onlyfans.com/angela).

Quickstart

Open the actor, paste this into the input, and press Run. It returns the public profiles for two creators.

{
"maxProfiles": 10,
"usernames": ["onlyfans", "angela"]
}

usernames is required. Add one entry per creator you want; each returns one record.

Input reference

FieldTypeRequiredDefaultDescription
usernamesstring[]yes["onlyfans", "angela"]Public OnlyFans usernames to scrape, one record per username. Accepts a bare username, an @name, or a full profile URL.
maxProfilesintegerno10Maximum number of creator profiles to collect.
proxyConfigurationobjectno(none)Standard Apify proxy configuration.

Output reference

One dataset item per username. Types: string, integer, number, boolean, array, or null when the source value is absent.

FieldTypeDescription
avatarUrlstringProfile avatar image URL.
bannerUrlstringProfile header/banner image URL.
displayNamestringCreator display name.
usernamestringOnlyFans username (handle).
profileUrlstringDirect link to the public profile.
idintegerNumeric OnlyFans account ID.
isVerifiedbooleantrue when the account is verified.
subscribePricenumberMonthly subscription price. 0 for free accounts.
hasFreeTrialbooleantrue when a free trial is offered.
promotionsarrayActive subscription promotions, or empty.
aboutstringProfile bio text.
locationstringLocation as listed, or null.
websitestringExternal website link, or null.
joinDatestringDate the account joined (ISO 8601).
lastSeenstringLast-seen timestamp when public, else null.
firstPublishedPostDatestringDate of the first published post (ISO 8601).
postsCountintegerNumber of posts.
photosCountintegerNumber of photos.
videosCountintegerNumber of videos.
audiosCountintegerNumber of audio posts.
mediasCountintegerTotal media items.
likesCountintegerTotal likes received.
favoritesCountintegerNumber of favorites.
subscribersCountintegerSubscriber count when public, else null.
archivedPostsCountintegerNumber of archived posts.
finishedStreamsCountintegerNumber of finished live streams.
isPerformerbooleantrue when the account is a performer.
isVerifiedPerformerbooleantrue when the account is a verified performer.
isAdultContentbooleantrue when the account is flagged adult content.
hasStoriesbooleantrue when the account has stories.
hasStreambooleantrue when the account is currently streaming.
canReceiveMessagebooleantrue when the account can receive messages.
hasExternalLinksbooleantrue when external links are present.
hasMerchStorebooleantrue when a merch store is connected.
spotifyConnectedbooleantrue when Spotify is connected.
tipsEnabledbooleantrue when tips are enabled.
tipsMinnumberMinimum tip amount.
tipsMaxnumberMaximum tip amount.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. When a profile is not found or fails to fetch, an item with a populated error field (and username, profileUrl) is written instead.

Example output record

Real record from a live run (input {"usernames":["angela"]}). The curly apostrophe in about is rendered here as a straight quote and the text is trimmed with a note; all values are real:

{
"displayName": "Angela White",
"username": "angela",
"profileUrl": "https://onlyfans.com/angela",
"id": 115073010,
"isVerified": true,
"subscribePrice": 0,
"hasFreeTrial": true,
"location": "Los Angeles",
"website": "https://onlyfans.com/angelawhite",
"joinDate": "2021-02-07T00:00:00+00:00",
"postsCount": 892,
"photosCount": 216,
"videosCount": 1575,
"mediasCount": 1791,
"likesCount": 40952,
"isPerformer": true,
"isVerifiedPerformer": true,
"isAdultContent": true,
"tipsEnabled": false,
"tipsMin": 5,
"tipsMax": 200,
"observedAt": "2026-08-10T14:04:09.992Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~onlyfans-profile-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"usernames":["onlyfans","angela"],"maxProfiles":10}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~onlyfans-profile-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"usernames":["https://onlyfans.com/angela"]}'

Apify CLI:

apify call scrapers_lat/onlyfans-profile-scraper \
--input '{"usernames":["angela"]}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per profile returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a profile is not found or fails to fetch, the actor writes an item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 profiles per run. Upgrade for more.

FAQ and troubleshooting

A profile came back with an error. Why? The username does not exist, was renamed, or the profile could not be fetched. The record carries a populated error field and is not charged.

Does this unlock paid or private content? No. The actor returns only public profile data (bio, prices, public counts, account flags). It does not access, unlock, or download any paid, subscriber-only, or gated content.

Can I pass a full URL instead of a username? Yes. usernames accepts a bare handle, an @name, or a full profile URL such as https://onlyfans.com/angela.

Why is subscribersCount null? That figure is only returned when the creator makes it public. Missing source values are returned as null, never invented.

How do I know if an account is free? subscribePrice is 0 for free accounts, and hasFreeTrial indicates whether a trial is offered.

Is this an official OnlyFans tool? No. This actor is independent and has no affiliation with OnlyFans or Fenix International. It reads only data that is publicly available on the platform. Use it in accordance with OnlyFans's terms of service.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with OnlyFans or Fenix International. Accesses only publicly available profile data. Use in accordance with OnlyFans's terms of service.