MEKAWeb data, ready to use.Explore APIs
MEKA/APIs/OnlyFans
Market research · OnlyFans

OnlyFans Scraper

Collect anonymous public profile metadata and available source-provided social links from known OnlyFans URLs or handles.

Quickstart

Set your Apify token, submit the input and receive an array of Dataset rows.

POSThttps://api.apify.com/v2/acts/meka.im~onlyfans-scraper/run-sync-get-dataset-items
Apify API token

Set APIFY_TOKEN in your server environment and send Authorization: Bearer. Runs execute under your Apify account.

curl -X POST 'https://api.apify.com/v2/acts/meka.im~onlyfans-scraper/run-sync-get-dataset-items' \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"profileUrls":["https://onlyfans.com/onlyfans"]}'

Examples run on your server. Executing an Actor may incur charges under your Apify account. View Actor details

Input parameters

Send a JSON object as the request body.

FieldTypeDescription
profileUrlsOptionalarrayUp to 100 public profile URLs or handles. First occurrences are kept. Invalid entries are skipped. Takes precedence over handle, including when empty.
handleOptionalstringCompatibility input used only when profileUrls is absent. Accepts a bare handle or @handle.

Response fields

The synchronous endpoint returns a JSON array. Each row follows the Actor’s published Dataset contract.

FieldTypeDescription
idintegerPositive integer profile ID supplied by the public OnlyFans source.
usernamestringPublic profile username.
namestringPublic profile display name.
inputUrlstringCanonical OnlyFans profile URL.
aboutstringPublic biography; may contain source HTML.
isVerifiedbooleanVerification flag from the public source.
feedUserbooleanOptional anonymous source flag; preserves true and false.
locationstring | nullPublic profile location if supplied.
websitenull | stringPublic website if supplied; not independently verified.
postsCountnumberSource-reported public post count.
photosCountnumberSource-reported public photo count.
videosCountnumberSource-reported public video count.
mediasCountnumberSource-reported public media count; no media is downloaded.
subscribersCountnull | numberPublic subscriber count when supplied; null does not mean zero.
subscribePricenumberSource public subscription price; no currency is inferred.
subscriptionBundlesarrayOptional validated source subscription offers.
promotionsarrayOptional validated source promotions.
avatarstring | nullProfile image URL reference; may expire.
headerstring | nullProfile header image URL reference; may expire.
instagramUrlstringOptional available source-provided social URL; not independently verified and never inferred.
xUrlstringOptional available source-provided social URL; not independently verified and never inferred.
tiktokUrlstringOptional available source-provided social URL; not independently verified and never inferred.
youtubeUrlstringOptional available source-provided social URL; not independently verified and never inferred.

Example response

Historical recording

Selected fields from the Actor README’s October 11, 2026 recording. This is an excerpt, not a full Dataset row or a guarantee of future values.

Selected Dataset fields
[
  {
    "id": 15585607,
    "username": "onlyfans",
    "name": "OnlyFans",
    "inputUrl": "https://onlyfans.com/onlyfans",
    "isVerified": true,
    "subscribePrice": 0,
    "postsCount": 5099,
    "videosCount": 5099
  }
]

Errors & limitations

Run lifecycle

The synchronous endpoint waits at most 300 seconds. For larger batches, start an asynchronous Actor run, wait for completion and retrieve the Dataset and run key-value records. Inspect OUTPUT before interpreting partial delivery as complete.

Public source availability

Removed, restricted, unavailable or changing source content can produce fewer rows or errors. Successful platform status alone does not prove complete collection. No login credentials, private content or media downloads are supported.

For HTTP errors and run lifecycle handling, see the Apify API reference.

Coverage and missing values

Only anonymous public metadata and available social buttons are collected. Known profiles are required; keyword discovery, paid posts, private content, login, messages and media downloads are unsupported.

The response table lists useful profile fields, not every source flag. Additional validated fields may appear under the published Dataset schema. Optional fields remain absent; existing zero, false and null values are preserved. Social destinations are neither crawled nor guessed.

Delivery and run summary

profileUrls accepts at most 100 entries and takes precedence over handle even when explicitly empty. Aliases and duplicates retain the first occurrence; invalid entries are skipped. Successful rows retain input order. Empty API input returns no rows.

The Dataset contains successful public profiles only. Inspect the OUTPUT key-value record for requested, delivered, invalid, failed, duplicate and skipped counts and stoppedOnBudget. There is no profile result cache.

Frequently asked questions

Do I need an OnlyFans login?

No. Provide public profile URLs or handles; paid content and logged-in features are unsupported.

Why are rows or social links missing?

Inspect OUTPUT for skipped, invalid, duplicate, unavailable or failed profiles and budget stops. Social links appear only when the public source supplies them.