OnlyFans Post Media Metadata Scraper Pro | No Login | No Cookie
Pricing
from $2.50 / 1,000 results
OnlyFans Post Media Metadata Scraper Pro | No Login | No Cookie
Ultra-lightweight, zero-credential public post & media metadata auditor for OnlyFans creator feeds.
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
a day ago
Last modified
Categories
Share
OnlyFans Post & Media Metadata Scraper
Ultra-lightweight, zero-credential public post & media metadata auditor for OnlyFans creator feeds.
Pure HTTP • Node.js 20 • 256MB RAM • Deterministic Typed Schema • Strict Public Compliance
Why this Actor?
| Feature | What you get |
|---|---|
| Zero Credentials Architecture | No cookies (sess, auth_id), no tokens, zero account ban risk, and zero credential leakage. |
| Ultra-Low Compute Cost | Pure asynchronous HTTP Node.js container sizing (256MB RAM), operating at ~$0.04 per 1,000 runs (80x cheaper than headless browsers). |
| SSRF-Safe Input Normalization | Accepts bare usernames (creator), handles (@creator), or full URLs (https://onlyfans.com/creator) with strict hostname validation. |
| Graceful Degradation | Deterministically emits typed records with target provenance and status: 'spa_unrendered' rather than crashing unhandled. |
| Dual JSON & CSV Compatibility | Flat top-level schema mapping (username, status, httpStatusCode, title, ogTitle) for instant CSV and Excel exports. |
| Zero Adult Media Storage | Strict metadata-only architecture; never downloads, buffers, or stores explicit adult binary files on intermediary servers. |
| Polite Request Pacing | Built-in non-blocking jitter backoff (1500�3000ms) to respect target edge rate limits and avoid Cloudflare blocks. |
Quick start
Apify Console
- Open the Actor on Apify Console.
- Input the creator profile URL or handle (e.g.
https://onlyfans.com/bellathorneor@bellathorne). - Click Start.
- View and export results in Storage → Dataset as JSON, CSV, or Excel.
Local Development
npm installnpm run testnode scripts/validate-actor-readiness.jsapify validate-schemaapify run --purge
How it works
User Input (@handle / URL)�?[ OnlyfansInputValidator ] ---- (Blocks SSRF, strips invalid characters, formats canonical URL)�?[ OnlyfansPublicHttpClient ] ---- (Polite HTTP GET request, 1.5s jitter, exponential backoff)�?[ OnlyfansStaticHtmlParser ] ---- (Cheerio DOM parse: OpenGraph tags, page title, SPA shell check)�?[ Apify Dataset Pusher ] ---- (Emits typed OnlyFansPostMetadata records with reachability status)
Input
{"targetUrls": ["https://onlyfans.com/bellathorne","@cardi"],"maxItems": 10}
Input Field Specification
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
targetUrls | Array of Strings | Yes | ["https://onlyfans.com/"] | List of OnlyFans creator URLs or handles to scrape. |
maxItems | Integer | No | 100 | Maximum number of creator targets to probe during execution. |
Output
Real record emitted by apify run --purge:
{"targetUrl": "https://onlyfans.com/bellathorne","username": "bellathorne","status": "spa_unrendered","httpStatusCode": 200,"scrapedAt": "2026-09-13T18:37:26.053Z","isPublic": true,"mediaCount": 0,"title": "OnlyFans","ogTitle": "OnlyFans","ogDescription": "OnlyFans is the social platform revolutionizing creator and fan connections...","ogImage": "https://static2.onlyfans.com/static/prod/f/202609111149-a636f6190f/images/of-logo-b.jpg","statusMessage": "OnlyFans SPA shell detected. Public unauthenticated feeds require dynamic client execution; post items not present in static HTML."}
Output Field Specification
| Field | Type | Description |
|---|---|---|
targetUrl | String | Normalized canonical URL probed on OnlyFans. |
username | String | Extracted creator username. |
status | String | Extraction status: success, spa_unrendered, not_found, restricted, rate_limited. |
httpStatusCode | Integer | HTTP response status code observed (e.g. 200, 404, 429). |
scrapedAt | String | ISO 8601 UTC timestamp when target was probed. |
isPublic | Boolean | Target public access flag. |
mediaCount | Integer | Count of extracted public media attachments. |
title | String / null | HTML document <title>. |
ogTitle | String / null | Extracted og:title OpenGraph meta property. |
ogDescription | String / null | Extracted og:description OpenGraph meta property. |
ogImage | String / null | Extracted og:image URL. |
statusMessage | String | Human-readable explanation of execution outcome. |
Cost, Limits & Performance
- Allocated Memory: 256 MB.
- Compute Sizing: ~0.00017 CU per profile probe.
- Expected Cost: ~$0.04 per 1,000 profiles.
- Execution Speed: 2.0 � 3.0 seconds per profile.
- Proxy Configuration: Direct connection (zero proxy cost). Optional Apify datacenter proxy for IP rotation.
Recipes
Recipe 1: Single Profile Reachability Probe
{"targetUrls": ["https://onlyfans.com/bellathorne"]}
Recipe 2: Bulk Handle Audit
{"targetUrls": ["@creator_alpha","@creator_beta","@creator_gamma"],"maxItems": 50}
Architecture & Directory Layout
src/+-- main.ts # Actor lifecycle & dataset pushing+-- domain/� +-- onlyfans-metadata.entity.ts # Strongly typed interfaces & status enums� +-- onlyfans-scraper.errors.ts # Classified error hierarchy+-- input/� +-- onlyfans-input.validator.ts # SSRF filter & handle normalizer+-- clients/� +-- onlyfans-public-http.client.ts # HTTP transport with backoff+-- parsers/+-- onlyfans-static-html.parser.ts # Cheerio static HTML & SPA detector
Troubleshooting
| Symptom | Cause | Resolution |
|---|---|---|
status: 'spa_unrendered' | OnlyFans serves client-rendered Vue SPA without SSR post items to unauthenticated visitors. | Normal behavior under zero-secret HTTP constraints. Platform presence is verified. |
status: 'not_found' | The username or profile does not exist on OnlyFans (HTTP 404). | Verify that the creator username is spelled correctly. |
status: 'rate_limited' | Edge rate-limiting triggered (HTTP 429). | Reduce batch size or configure Apify Datacenter Proxy in input. |
TargetValidationError: SSRF Protection | Supplied URL targets a non-OnlyFans domain or IP. | Provide only valid OnlyFans creator URLs or handles. |
FAQ
Q: Can this Actor extract paywalled posts or pay-per-view media?
A: No. This Actor operates strictly within public, unauthenticated boundaries and complies with CFAA precedents. It will never access paywalled, subscriber-only, or DRM-protected assets.
Q: Does this Actor require my personal OnlyFans account or cookies?
A: Never. The Actor operates with zero credentials, zero cookies, and zero tokens, safeguarding user privacy and account security.
Q: Why does the dataset record show spa_unrendered?
A: OnlyFans serves an unhydrated Vue.js SPA shell to unauthenticated HTTP requests. This Actor verifies page reachability and platform metadata while avoiding the high compute cost and proxy burn of headless browsers.
Q: Can I run this Actor locally with Apify CLI?
A: Yes, run apify run --purge in the project directory.
Q: Is it safe for automated ETL pipelines?
A: Yes. All records follow a deterministic schema and will not crash your downstream data loaders.
Limitations & Legal
- Public Data Only: This Actor extracts only publicly available metadata in accordance with hiQ Labs v. LinkedIn Corp. (9th Cir. 2022).
- No Adult Binary Downloads: Adult media binaries are neither downloaded nor cached.
- No Reverse-Engineering: The Actor does not reconstruct proprietary client-side signing algorithms or evade platform WAFs.