Fansly Public Profile & Stats Scraper
Pricing
from $6.15 / 1,000 results
Fansly Public Profile & Stats Scraper
Scrape public Fansly creator profiles by username, no login. Get display name, bio, subscription tiers and prices, followers, post and media counts, likes, avatar and banner. Export JSON, CSV or Excel.
Pricing
from $6.15 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
0
Monthly active users
20 hours ago
Last modified
Categories
Share
Fansly Public Profile & Stats Scraper
Here is one real result, with every field the actor returns (the avatarUrl signature is trimmed for readability):
{"username": "ANGELAWHITE","displayName": "ANGELA WHITE","accountId": "285119949171601408","profileUrl": "https://fansly.com/ANGELAWHITE","bio": "I can't wait to get to know you and share my sexy content with you ❤️ Content is 50% off on my VIP Onlyfans https://onlyfans.com/angelawhite","location": "Los Angeles","isCreator": false,"followers": 51919,"subscribers": null,"postLikes": 45451,"mediaLikes": 81306,"photoCount": 0,"videoCount": 670,"bundleCount": 0,"hasActiveStories": null,"lowestSubscriptionPriceUsd": null,"subscriptionTiers": [],"contentCollections": ["Boy/Girl", "Solo", "Threesome", "Girl/Girl", "JOI", "Anal", "Posts"],"socialMedia": [],"links": ["https://onlyfans.com/angelawhite"],"lastActiveAt": "2026-08-14T02:36:29.000Z","hasLivestream": false,"accountFlags": 50,"avatarUrl": "https://cdn3.fansly.com/285119949171601408/286741993323765760.png?ngsw-bypass=true&Expires=1787347071&Key-Pair-Id=K23PG5J1AWEZX5&Signature=...","bannerUrl": null,"observedAt": "2026-08-14T07:48:06.531Z","aiProfileSummary": "The creator is excited to connect with their audience and share exclusive content. They are currently offering a 50% discount on their VIP OnlyFans subscription.","aiTags": ["onlyfans", "adultcontent", "sexy", "vip", "contentcreator"]}
The most complete Fansly public profile scraper available. It returns every field the public Fansly creator page exposes, including follower counts, post and media likes, photo and video counts, content collections, external links, subscription tiers and the lowest price in USD, plus optional AI enrichment, so you can profile any creator by handle.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor takes a list of Fansly creator usernames (or full profile URLs), loads each public profile, and writes one normalized record per creator to the run's dataset. Each record carries the username and display name, account ID, profile URL, bio, location, follower count, post and media likes, photo/video/bundle counts, live-stream and story flags, content collections, linked social media and external links, the last active time, subscription tiers and the lowest subscription price in USD, and the avatar and banner image URLs. Only public profile data is collected; no login or paywalled content is accessed. Missing source values are returned as null.
Two opt-in AI add-ons (paid Apify plans only) can write a profile summary (aiProfileSummary) and interest/niche tags (aiTags) from the bio.
Quickstart
Open the actor, paste this into the input, and press Run. It returns three creator profiles with AI summary and tags enabled.
{"usernames": ["fansly", "bratzbrianna", "angelawhite"],"withAiProfileSummary": true,"withAiTags": true}
Provide at least one entry in usernames. Use the handle from the profile URL (for fansly.com/angelawhite enter angelawhite); full URLs are also accepted.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
usernames | string[] | yes | ["fansly"] | Fansly creator usernames or profile URLs, one per entry. |
maxProfiles | integer | no | 10 | Maximum profiles to return. Free Apify plans are capped at 10 per run. |
withAiProfileSummary | boolean | no | false | Paid AI add-on. Add an AI summary of each creator from their bio. |
withAiTags | boolean | no | false | Paid AI add-on. Tag each creator with interest/niche tags from their bio. |
Output reference
One dataset item per creator. Types: string, integer, boolean, array, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
username | string | Creator username. |
displayName | string | Creator display name. |
accountId | string | Numeric Fansly account ID. |
profileUrl | string | Public profile URL. |
bio | string | Public bio text. |
location | string | Self-reported location, or null. |
isCreator | boolean | Whether the account is flagged as a creator. |
followers | integer | Follower count. |
subscribers | integer | Subscriber count when exposed, else null. |
postLikes | integer | Total likes on posts. |
mediaLikes | integer | Total likes on media. |
photoCount | integer | Number of photos. |
videoCount | integer | Number of videos. |
bundleCount | integer | Number of media bundles. |
hasActiveStories | boolean | Whether the profile has active stories, or null. |
lowestSubscriptionPriceUsd | number | Lowest subscription price in USD, or null. |
subscriptionTiers | array | Subscription tier objects when the profile publishes them. |
contentCollections | string[] | Named content collections on the profile. |
socialMedia | array | Linked social media entries. |
links | string[] | External links from the profile. |
lastActiveAt | string | ISO 8601 timestamp the creator was last active, or null. |
hasLivestream | boolean | Whether a live stream is active. |
accountFlags | integer | Raw account flags bitfield from Fansly. |
avatarUrl | string | Avatar image URL (signed). |
bannerUrl | string | Banner image URL, or null. |
aiProfileSummary | string | AI profile summary (only with withAiProfileSummary), else absent/null. |
aiTags | string[] | AI interest/niche tags (only with withAiTags), else absent/null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed lookup: an item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"usernames": ["fansly", "bratzbrianna", "angelawhite"], "withAiProfileSummary": true, "withAiTags": true}), with the avatarUrl signature trimmed (real value):
{"username": "ANGELAWHITE","displayName": "ANGELA WHITE","accountId": "285119949171601408","profileUrl": "https://fansly.com/ANGELAWHITE","bio": "I can't wait to get to know you and share my sexy content with you ❤️ Content is 50% off on my VIP Onlyfans https://onlyfans.com/angelawhite","location": "Los Angeles","isCreator": false,"followers": 51919,"subscribers": null,"postLikes": 45451,"mediaLikes": 81306,"photoCount": 0,"videoCount": 670,"bundleCount": 0,"hasActiveStories": null,"lowestSubscriptionPriceUsd": null,"subscriptionTiers": [],"contentCollections": ["Boy/Girl", "Solo", "Threesome", "Girl/Girl", "JOI", "Anal", "Posts"],"socialMedia": [],"links": ["https://onlyfans.com/angelawhite"],"lastActiveAt": "2026-08-14T02:36:29.000Z","hasLivestream": false,"accountFlags": 50,"avatarUrl": "https://cdn3.fansly.com/285119949171601408/286741993323765760.png?ngsw-bypass=true&Expires=1787347071&Key-Pair-Id=K23PG5J1AWEZX5&Signature=...","bannerUrl": null,"observedAt": "2026-08-14T07:48:06.531Z","aiProfileSummary": "The creator is excited to connect with their audience and share exclusive content. They are currently offering a 50% discount on their VIP OnlyFans subscription.","aiTags": ["onlyfans", "adultcontent", "sexy", "vip", "contentcreator"]}
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~fansly-profile-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"usernames":["angelawhite"]}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~fansly-profile-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"usernames":["fansly","bratzbrianna","angelawhite"],"maxProfiles":50}'
Apify CLI:
apify call scrapers_lat/fansly-profile-scraper \--input '{"usernames":["angelawhite"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 creator profile returned (
resultevent). See the pricing tab for the current per-result price. - AI add-ons bill separately. Profile summary and tags are opt-in, off by default, and each carry their own per-item charge.
- No charge on failure. If a lookup errors, the actor writes an item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxProfiles.
FAQ and troubleshooting
A handle returned an error. Why?
The profile may be private, suspended, renamed, or the handle may be wrong. Confirm the handle resolves at fansly.com/<handle>. Failed lookups are not charged.
Does this access paywalled content? No. Only public profile data (stats, bio, links, subscription pricing) is collected. No login and no paid content are accessed.
Do I enter a handle or a URL?
Either. angelawhite and https://fansly.com/angelawhite both work.
Why are subscribers or lowestSubscriptionPriceUsd null?
Fansly does not expose those values on every profile. Missing source values are returned as null, never invented.
Is this an official Fansly tool? No. This actor is independent and has no affiliation with Fansly. It reads only data that is publicly available on the site.
Related scrapers
- Fanvue Public Profile & Stats Scraper: public Fanvue creator stats and pricing.
- FanCentro Public Profile & Stats Scraper: public FanCentro creator stats and pricing.
- Instagram Profile & Posts Scraper: public Instagram profiles and engagement counts.
- YouTube Video & Channel Data Scraper: channel stats and video metadata.
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 Fansly. Accesses only publicly available profile data.
