OnlyFans Post Media Metadata Scraper Pro | No Login | No Cookie avatar

OnlyFans Post Media Metadata Scraper Pro | No Login | No Cookie

Pricing

from $2.50 / 1,000 results

Go to Apify Store
OnlyFans Post Media Metadata Scraper Pro | No Login | No Cookie

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

REXREUS D.O

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

OnlyFans Post & Media Metadata Scraper

OnlyFans Public Feed Post & Media Metadata Scraper banner

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

Quick Start Apify Node.js Memory Zero Credentials


Why this Actor?

FeatureWhat you get
Zero Credentials ArchitectureNo cookies (sess, auth_id), no tokens, zero account ban risk, and zero credential leakage.
Ultra-Low Compute CostPure asynchronous HTTP Node.js container sizing (256MB RAM), operating at ~$0.04 per 1,000 runs (80x cheaper than headless browsers).
SSRF-Safe Input NormalizationAccepts bare usernames (creator), handles (@creator), or full URLs (https://onlyfans.com/creator) with strict hostname validation.
Graceful DegradationDeterministically emits typed records with target provenance and status: 'spa_unrendered' rather than crashing unhandled.
Dual JSON & CSV CompatibilityFlat top-level schema mapping (username, status, httpStatusCode, title, ogTitle) for instant CSV and Excel exports.
Zero Adult Media StorageStrict metadata-only architecture; never downloads, buffers, or stores explicit adult binary files on intermediary servers.
Polite Request PacingBuilt-in non-blocking jitter backoff (1500�3000ms) to respect target edge rate limits and avoid Cloudflare blocks.

Quick start

Apify Console

  1. Open the Actor on Apify Console.
  2. Input the creator profile URL or handle (e.g. https://onlyfans.com/bellathorne or @bellathorne).
  3. Click Start.
  4. View and export results in Storage → Dataset as JSON, CSV, or Excel.

Local Development

npm install
npm run test
node scripts/validate-actor-readiness.js
apify validate-schema
apify 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

FieldTypeRequiredDefaultDescription
targetUrlsArray of StringsYes["https://onlyfans.com/"]List of OnlyFans creator URLs or handles to scrape.
maxItemsIntegerNo100Maximum 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

FieldTypeDescription
targetUrlStringNormalized canonical URL probed on OnlyFans.
usernameStringExtracted creator username.
statusStringExtraction status: success, spa_unrendered, not_found, restricted, rate_limited.
httpStatusCodeIntegerHTTP response status code observed (e.g. 200, 404, 429).
scrapedAtStringISO 8601 UTC timestamp when target was probed.
isPublicBooleanTarget public access flag.
mediaCountIntegerCount of extracted public media attachments.
titleString / nullHTML document <title>.
ogTitleString / nullExtracted og:title OpenGraph meta property.
ogDescriptionString / nullExtracted og:description OpenGraph meta property.
ogImageString / nullExtracted og:image URL.
statusMessageStringHuman-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

SymptomCauseResolution
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 ProtectionSupplied 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.


  • 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.