OnlyFans Creator Profile Pro | No Cookie | No Login avatar

OnlyFans Creator Profile Pro | No Cookie | No Login

Pricing

from $2.50 / 1,000 results

Go to Apify Store
OnlyFans Creator Profile Pro | No Cookie | No Login

OnlyFans Creator Profile Pro | No Cookie | No Login

Batch public OnlyFans creator cards — handle, stats, socials, public price — without login or media theft.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

REXREUS D.O

REXREUS D.O

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

OnlyFans Creator Profile Scraper

OnlyFans public creator profile scraper banner

Batch public OnlyFans creator cards — handle, stats, socials, public price — without login or media theft.

HTTP-only (Crawlee + got-scraping) · TypeScript · no Playwright · no cookies · 18+

Quick Start Apify Node.js

Unofficial OnlyFans public creator intelligence Actor for agencies, affiliate teams, creator managers, and CRM enrichment. Turn a list of handles or public profile URLs into clean, CSV-ready creator records—without login cookies, private media, DMs, or paid-content access.

Built for teams that need creator data fast

  • Discover prospects: batch-check public handles before outreach.
  • Enrich CRM records: capture display name, verification, audience counts, bio, links, public price, and presence.
  • Export cleanly: one normalized row per creator; download JSON, CSV, Excel, or HTML from Apify.
  • Control spend: HTTP-first, browser-free collection with per-item errors instead of failed batches.

Why this Actor?

FeatureWhat you get
Username or URL inputMix @handle lists and https://onlyfans.com/{username} URLs
Public profile carddisplayName, isVerified, about, public counts, joinDate, avatar/header URL strings
Flat socialsinstagram, twitter, tiktok, website, plus otherSocials[] for CSV
Public price + presencesubscriptionPrice and lastSeen only when publicly shown
Fail per itemcontinueOnError writes { username, error, scrapedAt } without losing the batch
Cheap HTTP512 MB, no browser, optional Apify Proxy when Cloudflare blocks
Honest limitsNo posts, media files, DMs, cookies, or private-content access; max 200 profiles/run

Quick start

Apify Console

  1. Open the Actor and click Start.
  2. Prefill is the official public handle onlyfans. Add more usernames or profile URLs if you need a batch.
  3. Enable Apify Proxy if you see blocked_403 / Cloudflare.
  4. Results land in Storage → Dataset. Download JSON, CSV, Excel, or HTML.

How it works

usernames[] / profileUrls[]
validate + allowlist + dedupe (max 200)
GET https://onlyfans.com/{username} (got-scraping)
public app-token + cdn2 key/hash + guest sign from public 2313.js
GET /api2/v2/users/{username} (no sess / no login)
CreatorProfile row → Dataset
└── error row on 404 / 403 / 429 / spa_shell

Input

See the Input tab for the Console form. Cookies, passwords, and tokens are rejected.

{
"usernames": ["onlyfans"],
"maxItems": 1,
"continueOnError": true,
"proxy": { "useApifyProxy": false }
}
FieldTypeRequiredDefaultDescription
usernamesstring[]no*["onlyfans"] prefillHandles without @. Charset [A-Za-z0-9._-], max 50 chars
profileUrlsstring[] / request listno*https://onlyfans.com/{username} or www.onlyfans.com only
maxItemsintegerno100Hard cap 200
continueOnErrorbooleannotruePush an error row and keep going
proxyobjectno{ "useApifyProxy": true }Apify proxy editor

*Provide at least one username or profile URL.

Recipes

One official profile (local smoke):

{
"usernames": ["onlyfans"],
"maxItems": 1,
"continueOnError": true,
"proxy": { "useApifyProxy": false }
}

Batch usernames + URLs:

{
"usernames": ["onlyfans", "@SomeCreator"],
"profileUrls": ["https://onlyfans.com/anothercreator"],
"maxItems": 50,
"continueOnError": true,
"proxy": { "useApifyProxy": true }
}

Residential proxy when datacenter is challenged:

{
"usernames": ["onlyfans"],
"maxItems": 1,
"continueOnError": true,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

You can download the dataset as JSON, HTML, CSV, or Excel. One item per input username.

Successful item (shape; live values depend on the public page):

{
"username": "onlyfans",
"displayName": "OnlyFans",
"profileUrl": "https://onlyfans.com/onlyfans",
"isVerified": true,
"about": "Featuring videos by OnlyFans Creators",
"location": null,
"postsCount": 5020,
"photosCount": 0,
"videosCount": 5020,
"subscribersCount": 6180733,
"instagram": null,
"twitter": null,
"tiktok": null,
"website": null,
"otherSocials": [],
"subscriptionPrice": 0,
"joinDate": "2019-11-29T00:00:00+00:00",
"lastSeen": null,
"avatarUrl": "https://public.onlyfans.com/files/.../avatar.jpg",
"headerUrl": "https://public.onlyfans.com/files/.../header.jpg",
"scrapedAt": "2026-09-11T08:38:47.781Z",
"error": null
}

Failed item:

{
"username": "missinguser",
"profileUrl": "https://onlyfans.com/missinguser",
"displayName": null,
"error": "not_found",
"scrapedAt": "2026-09-11T00:00:00.000Z",
"otherSocials": []
}
FieldTypeDescription
usernamestringNormalized handle
displayNamestring | nullPublic display name
profileUrlstringhttps://onlyfans.com/{username}
isVerifiedboolean | nullPublic verified flag
aboutstring | nullPublic bio
locationstring | nullCreator-supplied string only (no geocode)
postsCount / photosCount / videosCount / subscribersCountnumber | nullPublic counts
instagram / twitter / tiktok / websitestring | nullFlat social columns
otherSocialsstring[]Remaining public social URLs
subscriptionPricenumber | nullPublic subscribe price
joinDate / lastSeenstring | nullPublic timestamps if shown
avatarUrl / headerUrlstring | nullPublic image URLs, not files
scrapedAtstringISO-8601
errorstring | nullnull on success; not_found, blocked_403, blocked_429, empty_body, cloudflare_challenge, …

No cookie, token, or HTML dump fields.

Cost, limits, proxy

  • Memory: 512 MB HTTP (not a 2048 MB browser Actor).
  • Concurrency: sequential per run in v1 (tens–hundreds of handles; keep it polite).
  • Time: design target ~2–5s per profile on a warm HTTP path.
  • CU: research estimate ~0.0005–0.002 CU / profile at 256–512 MB. Confirm on a live apify run.
  • Proxy: default Console input uses Apify Proxy. Local INPUT.json sets useApifyProxy: false so apify run --purge works offline. Switch proxy on if you hit Cloudflare.
  • Cap: maxItems default 100, hard 200.

This listing is not an official OnlyFans API and does not include media bandwidth.

Troubleshooting

SymptomCauseFix
not_foundHandle missing or unpublishedCheck the username; 404 is an error row, not a crash
blocked_403 / blocked_429 / cloudflare_challengeChallenge or rate limitEnable Apify Proxy (residential if datacenter fails), retry later
spa_shell / parse_incompleteGuest sign failed or SPA HTML fallbackRebuild (tsc) then apify run --purge. Chunk 2313.js must load.
Host not allowed / Credentials in URL rejectedBad URLOnly https://onlyfans.com/{user}; no user:pass@, no other hosts
Provide usernames or profileUrlsEmpty inputAdd at least one handle or URL
Dataset empty after local runLooked at ConsoleInspect storage/datasets/default/ — local runs stay local

FAQ

Does this download OnlyFans videos or photos? No. Avatar/header are URL strings only. No media files, PPV, or DMs.

Do I need cookies or a login? No. Session cookies, auth.json, and tokens are out of scope and rejected.

Can it scrape private or paid profiles? No. Public /api2/v2/users/{username} with guest headers only. No PPV, DMs, or media.

What happens if one username 404s in a batch? With continueOnError: true (default) you get an error row and the rest continue.

How many profiles per run? Default 100, hard cap 200.

Is this an official OnlyFans API? No. Unofficial, 18+, not affiliated.

Will Cloudflare always work? Not guaranteed. Use proxy + backoff. If HTTP stays empty, v1 writes an error row rather than launching a browser.

Limitations

  • Public metadata only. You are responsible for OnlyFans ToS, Apify AUP, and privacy law (GDPR and equivalents).
  • location and lastSeen are personal data when they identify a person. Store only if public; do not geocode; do not infer schedules; do not publish a searchable PII warehouse.
  • Adult content: operators and end users must be 18+.
  • No CAPTCHA solving, no cookie harvesting, no discovery/search, no reverse social lookup, no 90-field raw dumps.
  • Automated collection of OnlyFans data may breach their Terms / AUP. Use for legitimate purposes only.

This Actor extracts what a creator has chosen to show on a public profile. Results can still contain personal data. Do not scrape personal data unless you have a legitimate reason. If you are unsure, consult a lawyer. Not legal advice.

Run it

Open the Actor on Apify Console and click Start, or run locally with apify run --purge.