OnlyFans Creator Profile Pro | No Cookie | No Login
Pricing
from $2.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
OnlyFans Creator Profile Scraper
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+
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?
| Feature | What you get |
|---|---|
| Username or URL input | Mix @handle lists and https://onlyfans.com/{username} URLs |
| Public profile card | displayName, isVerified, about, public counts, joinDate, avatar/header URL strings |
| Flat socials | instagram, twitter, tiktok, website, plus otherSocials[] for CSV |
| Public price + presence | subscriptionPrice and lastSeen only when publicly shown |
| Fail per item | continueOnError writes { username, error, scrapedAt } without losing the batch |
| Cheap HTTP | 512 MB, no browser, optional Apify Proxy when Cloudflare blocks |
| Honest limits | No posts, media files, DMs, cookies, or private-content access; max 200 profiles/run |
Quick start
Apify Console
- Open the Actor and click Start.
- Prefill is the official public handle
onlyfans. Add more usernames or profile URLs if you need a batch. - Enable Apify Proxy if you see
blocked_403/ Cloudflare. - 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 }}
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
usernames | string[] | no* | ["onlyfans"] prefill | Handles without @. Charset [A-Za-z0-9._-], max 50 chars |
profileUrls | string[] / request list | no* | — | https://onlyfans.com/{username} or www.onlyfans.com only |
maxItems | integer | no | 100 | Hard cap 200 |
continueOnError | boolean | no | true | Push an error row and keep going |
proxy | object | no | { "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": []}
| Field | Type | Description |
|---|---|---|
username | string | Normalized handle |
displayName | string | null | Public display name |
profileUrl | string | https://onlyfans.com/{username} |
isVerified | boolean | null | Public verified flag |
about | string | null | Public bio |
location | string | null | Creator-supplied string only (no geocode) |
postsCount / photosCount / videosCount / subscribersCount | number | null | Public counts |
instagram / twitter / tiktok / website | string | null | Flat social columns |
otherSocials | string[] | Remaining public social URLs |
subscriptionPrice | number | null | Public subscribe price |
joinDate / lastSeen | string | null | Public timestamps if shown |
avatarUrl / headerUrl | string | null | Public image URLs, not files |
scrapedAt | string | ISO-8601 |
error | string | null | null 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.jsonsetsuseApifyProxy: falsesoapify run --purgeworks offline. Switch proxy on if you hit Cloudflare. - Cap:
maxItemsdefault 100, hard 200.
This listing is not an official OnlyFans API and does not include media bandwidth.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
not_found | Handle missing or unpublished | Check the username; 404 is an error row, not a crash |
blocked_403 / blocked_429 / cloudflare_challenge | Challenge or rate limit | Enable Apify Proxy (residential if datacenter fails), retry later |
spa_shell / parse_incomplete | Guest sign failed or SPA HTML fallback | Rebuild (tsc) then apify run --purge. Chunk 2313.js must load. |
Host not allowed / Credentials in URL rejected | Bad URL | Only https://onlyfans.com/{user}; no user:pass@, no other hosts |
Provide usernames or profileUrls | Empty input | Add at least one handle or URL |
| Dataset empty after local run | Looked at Console | Inspect 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).
locationandlastSeenare 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.