# OnlyFans Model Leads Scraper (`deepmine/onlyfans-model-leads-scraper`) Actor

Automated OnlyFans lead scraper for agencies. Find and scrape new model profiles with Instagram links, follower counts, pricing & stats - perfect for OFM agencies to reach out to new models and automate recruitment.

- **URL**: https://apify.com/deepmine/onlyfans-model-leads-scraper.md
- **Developed by:** [DeepMine](https://apify.com/deepmine) (community)
- **Categories:** Automation, Lead generation, Social media
- **Stats:** 283 total users, 10 monthly users, 100.0% runs succeeded, 7 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $15.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 Model Leads Scraper & Lead Generator 🎯

**OnlyFans Model Leads Scraper** is a focused **OnlyFans lead generation, creator prospecting, and sourcing tool** for OFM agencies, recruiters, and operators who need outreach-ready prospect datasets.

Use this Actor to build creator lead lists faster, search multiple niches in one run, qualify prospects with practical signals, and create repeatable recruiting and outreach workflows.

> **Unofficial product:** This Actor is independently developed and is not affiliated with, endorsed by, or sponsored by OnlyFans.

Teams typically find this Actor when they need an **OnlyFans model leads scraper**, **OnlyFans lead generator**, **OFM recruiting tool**, **creator prospecting scraper**, or **OnlyFans outreach list builder**.

### What You Get 💡

- Lead generation across multiple niche keywords in one run
- Newest-profile and top-profile sourcing modes
- Export-ready lead records with pricing, likes, subscribers, photos, and videos
- Qualification filters for Instagram availability, free profiles, likes, and subscriber ranges
- Available Instagram, Twitter/X, TikTok, Fansly, and Pornhub links collected automatically
- Cross-keyword deduplication with every matched niche retained on each lead
- Consistent sorting across the main, Instagram outreach, and social-link datasets

### Common Workflows 🎯

- Build model lead lists for OFM agency recruiting pipelines
- Find early-stage creator prospects with likes and subscriber filters
- Create Instagram-focused outreach lists without manual profile research
- Compare lead availability across several niches in one dataset
- Refresh recruiting and prospecting queues on a recurring schedule
- Export structured leads to Sheets, Airtable, CRM, or internal outreach workflows

### Input Controls ⚙️

#### Discovery Scope

- `searchMode` — `query` (keyword search), `new` (newest profiles), or `top` (top-ranked profiles)
- `keywords` — one or more search terms; each is searched independently and results are deduplicated
- `maxResults` — maximum leads per keyword in Query mode, or total leads in New and Top modes

#### Qualification Filters

- `requireInstagram` — only include profiles with a linked Instagram account
- `freeOnly` — only include free subscription profiles
- `minSubscribers` — minimum subscriber count
- `maxSubscribers` — maximum subscriber count
- `maxLikes` — only include profiles below a likes threshold (useful for finding smaller or early-stage creators)

#### Sorting

- `sortBy` — order profiles by relevance, likes, subscribers, photos, videos, score, or name
- `sortOrder` — descending (highest first or Z-A for names) or ascending (lowest first or A-Z for names)

The default is Likes in descending order. Relevance keeps the original sourcing order. Sorting is applied after cross-keyword deduplication, and all three datasets retain the same relative order. Leads with unavailable values are placed last.

### Output Fields 📦

Depending on profile availability, rows can include:

- `username` — OnlyFans username
- `name` — display name
- `profileUrl` — direct OnlyFans profile link
- `avatar` — profile photo URL
- `bio` — full biography text
- `bioSnippet` — first 50 characters of bio for quick scanning
- `price` — subscription price (e.g. `Free` or `$9.99`)
- `isFree` — boolean free subscription flag
- `likes` — total likes count
- `subscribers` — subscriber count
- `photos` — photo count
- `videos` — video count
- `lastSeen` — latest activity status when available
- `score` — optional discovery score
- `instagram` — array of Instagram profile URLs
- `instagramUrl` — primary Instagram link (single clickable URL)
- `instagramUsername` — primary Instagram handle (bare username for integrations)
- `twitter` — array of Twitter/X profile URLs
- `tiktok` — array of TikTok profile URLs
- `fansly` — array of Fansly profile URLs
- `pornhub` — array of Pornhub profile URLs
- `keywords` — array of keywords this profile matched (across all searches in the run)
- `scrapedAt` — ISO timestamp of when the profile was scraped

### Datasets & Views 📊

Results are split into three datasets for different workflows:

**All Leads** (default dataset)

- Overview — avatar, username, name, bio snippet, profile link, price, likes, subscribers, photos, videos, last seen, keywords, score
- Stats — username, name, price, free flag, likes, subscribers, photos, videos, last seen, keywords, score

**IG Outreach** — leads with Instagram only

- Columns: avatar, username, name, Instagram link, OnlyFans link, price, likes, subscribers, keywords

**Leads With Socials** — leads with any social platform

- Columns: avatar, username, OnlyFans link, Instagram, Twitter/X, TikTok, Fansly, Pornhub, likes, keywords

### Quick Start 🚀

1. Choose a `searchMode` — `query` for niche targeting, `new` for fresh leads, or `top` for established profiles.
2. Add one or more keywords if using Query mode.
3. Set the lead target, apply qualification filters, and choose the result order.
4. Run, export the dataset that fits your outreach workflow, and segment the leads.
5. Repeat runs to keep your recruiting pipeline fresh.

### Ready-to-Run Presets

#### Daily Lead Pull — New Profiles

```json
{
  "searchMode": "new",
  "maxResults": 50,
  "requireInstagram": true,
  "maxLikes": 1000
}
```

#### Instagram-First Outreach Leads

```json
{
  "searchMode": "query",
  "keywords": ["blonde", "fitness", "latina"],
  "maxResults": 100,
  "requireInstagram": true,
  "maxLikes": 1000
}
```

#### Niche Recruiting Campaign

```json
{
  "searchMode": "query",
  "keywords": ["fitness", "miami", "gym"],
  "maxResults": 150,
  "requireInstagram": true,
  "maxLikes": 5000
}
```

#### Early-Stage Creator Leads

```json
{
  "searchMode": "query",
  "keywords": ["new", "beginner"],
  "maxResults": 100,
  "maxLikes": 500,
  "maxSubscribers": 1000
}
```

#### Established Creator Prospects

```json
{
  "searchMode": "top",
  "maxResults": 100,
  "requireInstagram": true
}
```

#### Free-Profile Leads

```json
{
  "searchMode": "query",
  "keywords": ["fitness"],
  "maxResults": 100,
  "freeOnly": true,
  "requireInstagram": true
}
```

### FAQ

#### Is this for recurring recruiting or targeted campaigns?

Both. Run New Profiles for a fresh daily lead queue, Top for established prospects, or Query mode with specific keywords for focused recruiting campaigns.

#### Can I search multiple niches at once?

Yes. Add multiple keywords to the `keywords` list and the Actor searches each one independently, then deduplicates the results. The `keywords` field on each lead shows every niche it matched.

#### Is the output usable in Sheets, CRMs, and outreach tools?

Yes. Output is structured and export-friendly across three dedicated lead datasets.

#### Can I keep only profiles with Instagram?

Yes. Set `requireInstagram` to `true`.

#### Can I filter by subscriber count?

Yes. Use `minSubscribers` and `maxSubscribers` to target specific tiers of creator.

#### Can I use likes as a qualification signal?

Yes. Use `maxLikes` to surface smaller or early-stage creators below a threshold.

#### Are social links included?

Yes. Available Instagram, Twitter/X, TikTok, Fansly, and Pornhub links are collected automatically. Profiles without a listed social account remain in the main dataset unless `requireInstagram` is enabled.

#### What is a good starting configuration for new users?

Start with Query mode, one or two keywords, and `maxResults` around 100. Enable Instagram or add a likes ceiling when the campaign specifically needs those qualification rules.

#### Can I find only free creators?

Yes. Enable `freeOnly` to limit results to profiles with a free subscription tier.

#### How are results sorted?

Likes, highest first, is the default. You can also sort by relevance, subscribers, photos, videos, score, or name in either direction.

#### Can I use this for recurring lead generation?

Yes. Save a task with your preferred keywords, filters, and sorting to produce consistent daily or weekly lead pulls.

### Build A Repeatable Creator Lead Pipeline

This Actor is optimized for one job: **turning creator discovery into a repeatable, filterable, export-ready lead pipeline**.

For OFM recruiting, creator sourcing, and outreach operations, it provides multi-keyword lead generation, automatic deduplication, practical qualification filters, and available social links in export-ready datasets.

# Actor input Schema

## `searchMode` (type: `string`):

Query: build niche lead lists by keyword. New Profiles: find recently joined creators. Top: find established profiles.

## `keywords` (type: `array`):

Each keyword builds a separate lead pool. Only used in Query mode.

## `maxResults` (type: `integer`):

Maximum leads to return (per keyword in Query mode, total in New Profiles and Top modes). Actual results may be lower when fewer matches are available or the run spending limit is lower.

## `requireInstagram` (type: `boolean`):

Only include leads with an Instagram account available for outreach.

## `freeOnly` (type: `boolean`):

Only include free subscription profiles.

## `minSubscribers` (type: `integer`):

Minimum subscriber count. Leave blank for no minimum.

## `maxSubscribers` (type: `integer`):

Maximum subscriber count. Leave blank for no limit.

## `maxLikes` (type: `integer`):

Only include profiles with fewer likes than this. Useful for finding smaller or early-stage creators. Leave blank for no limit.

## `sortBy` (type: `string`):

Choose how leads are ordered across all output datasets. Relevance preserves the original discovery order.

## `sortOrder` (type: `string`):

Descending shows the highest values first (or Z-A for Name); ascending shows the lowest values first (or A-Z for Name).

## Actor input object example

```json
{
  "searchMode": "query",
  "keywords": [
    "blonde"
  ],
  "maxResults": 100,
  "requireInstagram": false,
  "freeOnly": false,
  "sortBy": "likes",
  "sortOrder": "descending"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `igOutreachUrl` (type: `string`):

No description

## `withSocialsUrl` (type: `string`):

No description

# 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 = {
    "keywords": [
        "blonde"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("deepmine/onlyfans-model-leads-scraper").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 = { "keywords": ["blonde"] }

# Run the Actor and wait for it to finish
run = client.actor("deepmine/onlyfans-model-leads-scraper").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 '{
  "keywords": [
    "blonde"
  ]
}' |
apify call deepmine/onlyfans-model-leads-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/5lDTMrPGehzbP3smT/builds/8iRBvFDAk2tphk6Sx/openapi.json
