# OnlyFans Profile API (`deepmine/onlyfans-profile-scraper-pro`) Actor

Extract Comprehensive OnlyFans data at high speed. Ultra-efficient, low usage costs. Get stats, pricing, promotions & 100+ fields.

- **URL**: https://apify.com/deepmine/onlyfans-profile-scraper-pro.md
- **Developed by:** [DeepMine](https://apify.com/deepmine) (community)
- **Categories:** Developer tools, Social media, Automation
- **Stats:** 97 total users, 9 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## OnlyFans Profile API – Fast Profile Scraper

**OnlyFans Profile API** is a fast, bulk-ready **OnlyFans profile scraper** for extracting complete public creator data — subscriber counts, pricing, promotions, subscription bundles, content stats, and 60+ additional fields — in seconds. Accepts profile URLs or plain usernames. No browser required.

### What you can do with this Actor

- **Monitor pricing & promotions** — track when creators run discounts, free trials, or limited-time offers
- **Aggregate creator stats** — photos, videos, posts, media counts, likes, subscriber counts
- **Build creator databases** — bulk-scrape hundreds of profiles in a single run
- **Lead generation** — identify active creators by filtering on engagement, pricing, and profile flags
- **Market research** — compare subscription pricing, bundle structures, and promotion strategies across creators

### How to use

1. Open the actor and click **Try for free**
2. Add profile URLs (`https://onlyfans.com/username`) or plain usernames (one per line) to the **Profile URLs or Usernames** field
3. Click **Start** — results appear in the dataset within seconds

No account, cookies, or authentication required.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| Profile URLs or Usernames | list | — | OnlyFans profile URLs or plain usernames. Accepts `https://onlyfans.com/username`, `@username`, or `username` |
| Concurrency | integer | 5 | Number of profiles to fetch in parallel (1–20) |
| Request Timeout | integer | 30 | Per-request timeout in seconds (5–120) |
| Include Raw API Response | boolean | false | Attach the complete raw API response to each result |

### Output

Each profile produces one item in the dataset. The **Overview** tab shows the most useful fields at a glance. The **All Data** tab shows every available field.

#### Identity

| Field | Description |
|---|---|
| `profileImage` | Full-resolution avatar URL |
| `profileImageThumbs` | Avatar thumbnails (50px, 144px) |
| `headerImage` | Header/banner image URL |
| `headerThumbs` | Header thumbnails (480px, 760px) |
| `id` | Numeric OnlyFans user ID |
| `name` | Display name |
| `username` | Username (slug) |
| `profileUrl` | Full profile URL |

#### Bio

| Field | Description |
|---|---|
| `about` | Bio text |
| `location` | Listed location |
| `website` | External website link |
| `joinDate` | Date account was created |
| `lastSeen` | Last activity timestamp |
| `firstPublishedPostDate` | Date of first published post |

#### Stats

| Field | Description |
|---|---|
| `subscribersCount` | Subscriber count (null if creator hides it) |
| `showSubscribersCount` | Whether the creator shows their subscriber count publicly |
| `favoritedCount` | Total likes received |
| `photosCount` | Number of photos |
| `videosCount` | Number of videos |
| `audiosCount` | Number of audio posts |
| `mediasCount` | Total media items |
| `postsCount` | Total posts |
| `archivedPostsCount` | Archived post count |
| `hasPinnedPosts` | Whether the profile has pinned posts |

#### Subscription & Pricing

| Field | Description |
|---|---|
| `subscribePrice` | Base monthly subscription price. `null` = subscribing not available for this profile |
| `currentSubscribePrice` | Effective price right now — reflects any active promo or free trial. `null` = subscribing not available |
| `subscriptionBundles` | Multi-month bundle options with durations, prices, and discounts |
| `promotions` | Active promotions including discount percentage, promo price, message, expiry, and claim counts |

#### Tips

| Field | Description |
|---|---|
| `tipsEnabled` | Whether tips are enabled |
| `tipsMin` / `tipsMax` | Minimum and maximum tip amounts |

#### Flags

| Field | Description |
|---|---|
| `isVerified` | Verified account |
| `isPerformer` | Creator/performer account |
| `isActive` | Account is active |
| `isAdultContent` | Marked as adult content |
| `isRestricted` | Geo-restricted or otherwise restricted |
| `canChat` | Whether direct messages are available |
| `hasStories` | Has active stories |
| `hasStream` | Currently streaming |
| `hasLinks` | Has external links listed |
| `isFriend` / `isBlocked` | Relationship state (when authenticated) |

#### Subscription State

Fields like `subscribedBy`, `subscribedOn`, `subscribedByData`, and related fields reflect authenticated subscription state. These are null or false for unauthenticated runs but are included for completeness and authenticated use cases.

### Pricing notes

`currentSubscribePrice` is the most useful field for pricing intelligence:

- **`null`** — subscribing is not possible on this profile
- **`0`** — free subscription or free trial currently active
- **`> 0`** — current effective price, already discounted if a promotion is running

`subscribePrice` always reflects the base/regular price before any discounts.

### Performance

- Typical run time: under 1 second per profile
- Concurrency up to 20 parallel requests
- Lightweight — no browser, no proxy required for most use cases

### FAQ

**Do I need an OnlyFans account to use this?**
No. All data returned is from public profile endpoints. No login or cookies needed.

**Can I input plain usernames instead of full URLs?**
Yes. You can enter `username`, `@username`, or `https://onlyfans.com/username` — all formats are accepted.

**Why is `subscribersCount` null for some profiles?**
Creators can hide their subscriber count. The `showSubscribersCount` field tells you whether the creator has made this public.

**Why is `subscribePrice` null for some profiles?**
Some accounts are not creator accounts or have disabled subscriptions. A null price means there is no subscribe button on the profile.

**What does `currentSubscribePrice` show when there's a promotion?**
It shows the actual price a new subscriber would pay right now — the promotional price, not the base price. For free trials it returns `0`.

**Can I scrape private profile content?**
No. This actor only retrieves public profile metadata. Private posts, messages, and subscriber-only content are not accessible.

**How do I scrape many profiles at once?**
Paste all usernames into the input field (one per line using the bulk edit option) and set concurrency to 10–20 for fastest results.

### Support

If you encounter an issue or have a feature request, use the actor's Issues tab or contact support through the Apify platform.

# Actor input Schema

## `startUrls` (type: `array`):

List of OnlyFans profile URLs (https://onlyfans.com/username) or plain usernames to scrape.

## `concurrency` (type: `integer`):

Number of profiles to scrape in parallel. Higher values are faster but may hit rate limits.

## `requestTimeoutSec` (type: `integer`):

Timeout for each API request in seconds.

## `includeRaw` (type: `boolean`):

Include the complete raw API response in each result for access to all available fields.

## Actor input object example

```json
{
  "startUrls": [
    "https://onlyfans.com/laurenalexisgold"
  ],
  "concurrency": 5,
  "requestTimeoutSec": 30,
  "includeRaw": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://onlyfans.com/laurenalexisgold"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("deepmine/onlyfans-profile-scraper-pro").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": ["https://onlyfans.com/laurenalexisgold"] }

# Run the Actor and wait for it to finish
run = client.actor("deepmine/onlyfans-profile-scraper-pro").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://onlyfans.com/laurenalexisgold"
  ]
}' |
apify call deepmine/onlyfans-profile-scraper-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,deepmine/onlyfans-profile-scraper-pro"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/VnBiHOLxcn79IU1m1/builds/bMDV3n6VSLcIt3dMW/openapi.json
