Quickstart
Set your Apify token, submit the input and receive an array of Dataset rows.
https://api.apify.com/v2/acts/meka.im~onlyfans-scraper/run-sync-get-dataset-itemsSet 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.
| Field | Type | Description |
|---|---|---|
profileUrlsOptional | array | Up to 100 public profile URLs or handles. First occurrences are kept. Invalid entries are skipped. Takes precedence over handle, including when empty. |
handleOptional | string | Compatibility 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.
| Field | Type | Description |
|---|---|---|
id | integer | Positive integer profile ID supplied by the public OnlyFans source. |
username | string | Public profile username. |
name | string | Public profile display name. |
inputUrl | string | Canonical OnlyFans profile URL. |
about | string | Public biography; may contain source HTML. |
isVerified | boolean | Verification flag from the public source. |
feedUser | boolean | Optional anonymous source flag; preserves true and false. |
location | string | null | Public profile location if supplied. |
website | null | string | Public website if supplied; not independently verified. |
postsCount | number | Source-reported public post count. |
photosCount | number | Source-reported public photo count. |
videosCount | number | Source-reported public video count. |
mediasCount | number | Source-reported public media count; no media is downloaded. |
subscribersCount | null | number | Public subscriber count when supplied; null does not mean zero. |
subscribePrice | number | Source public subscription price; no currency is inferred. |
subscriptionBundles | array | Optional validated source subscription offers. |
promotions | array | Optional validated source promotions. |
avatar | string | null | Profile image URL reference; may expire. |
header | string | null | Profile header image URL reference; may expire. |
instagramUrl | string | Optional available source-provided social URL; not independently verified and never inferred. |
xUrl | string | Optional available source-provided social URL; not independently verified and never inferred. |
tiktokUrl | string | Optional available source-provided social URL; not independently verified and never inferred. |
youtubeUrl | string | Optional available source-provided social URL; not independently verified and never inferred. |
Example response
Historical recordingSelected 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.
[
{
"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.