# OnlyFans Finder Pro: Scraper by Look or City (`deepmine/onlyfans-finder-pro`) Actor

OnlyFans finder and scraper: find creators by appearance, niche, style or location. Search any look, interest or city as a keyword (redhead, tattoos, miami) or browse new and top profiles. Get creator data with pricing, engagement stats, bio, and the Instagram, Twitter/X and TikTok links they list.

- **URL**: https://apify.com/deepmine/onlyfans-finder-pro.md
- **Developed by:** [DeepMine](https://apify.com/deepmine) (community)
- **Categories:** Social media, Lead generation, Other
- **Features:** Limited permissions
- **Stats:** 237 total users, 9 monthly users, 100.0% runs succeeded, 5 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## OnlyFans Finder Pro – Creator Search & Profile Finder 🔎

Find OnlyFans creators by how they look or where they are. Type an appearance, a style or a place (`redhead`, `tattoos`, `curvy`, `miami`), or browse the newest and top profiles. Each result has the profile link, price, likes, photo and video counts, a short bio, and the Instagram, Twitter/X, TikTok or Fansly links the creator lists. No OnlyFans account or login needed. **$7 per 1,000 profiles** on Apify's Starter plan ($8 on Free, $6 on Scale, $5 on Business), so the prefilled search (`redhead` + `miami`, 50 each, up to 100 profiles) costs at most about $0.70.

Sample from **Top profiles**:

| username | price | likes | photos | videos | Instagram | X |
|---|---|---|---|---|---|---|
| fitbryceadams | Free | 13,069,698 | 2,152 | 238 | fitbryceadams | fitbryceadams |
| ginnypotter | Free | 9,628,326 | 4,947 | 706 | ginnytothepotter | ginnypottermfc |
| jessicanigri | Free | 6,724,411 | 3,262 | 319 | jessicanigri | jessicanigri |

<sub>Collected 2026-09-26. Counts change over time.</sub>

Appearance, style and location all go in the keyword box. The keyword matches the words creators use to describe themselves. For a real place, gender, age or price range, add the Country or City, Gender, Age and Price filters: the search index applies them to its whole catalogue. Add several keywords at once and duplicates are merged. Show only free pages, only creators with Instagram, or only smaller accounts under a likes limit.

Use it as an OnlyFans finder and creator finder for personal discovery, as an OnlyFans search tool and profile search for research, or as a dataset builder for marketing lists.

Found the creators you were looking for? Paste their usernames into **Creators to watch** in [OnlyFans Viral Content Finder](https://apify.com/deepmine/onlyfans-viral-content-finder) to see which of their TikToks and Instagram Reels are going viral right now, scored against each creator's usual views.

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

### What You Get 💡

- Keyword discovery across multiple niches in one run
- Newest-profile and top-profile discovery modes
- Export-ready creator records with pricing, likes, subscribers, photos, and videos
- Practical 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 profile
- Consistent sorting across the main, Instagram-profile, and social-link datasets

### Common Workflows 🎯

- Find creators matching specific appearances, interests, or locations
- Browse newly added profiles or established top profiles
- Find early-stage creators with likes and subscriber filters
- Compare creator availability across several niches in one dataset
- Build social-link lists without manual profile research
- Export structured records to Sheets, Airtable, CRM, or BI workflows

### Input Controls ⚙️

#### Finder 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 profiles per keyword

#### Qualification Filters

- `requireInstagram` — only include profiles with a linked Instagram account
- `freeOnly` — only include free subscription profiles
- `minSubscribers` — minimum subscriber count. Profiles that hide their count are left out
- `maxSubscribers` — maximum subscriber count. Profiles that hide their count are kept
- `maxLikes` — only include profiles below a likes threshold (useful for finding smaller or early-stage creators)

#### Search Filters

These go to the search index itself, so they narrow its whole catalogue before any result is read:

- `country` — two-letter code (`US`, `GB`, `DE`…), or `city` (`miami`, `los angeles`, a ZIP) with an optional `cityRadiusKm`. This is the index's rough location for each creator, not a verified residence
- `gender` — `any`, `female` or `male`, the index's own label
- `minAge` / `maxAge` — the age the index lists for a creator (as published, not verified)
- `newOnly` — creators the index lists as joined in the last 30 days

Checked on every row:

- `minPrice` / `maxPrice` — the subscription price the row shows, after any promotion (USD per month; `maxPrice` 0 = free only)
- `requireTwitter` / `requireTikTok` — only creators whose listing links an X (Twitter) or TikTok account
- `minLikes` — skip pages under a likes floor

Creators a filter leaves out are not delivered and not charged. Each row names the index filters it matched in `matchedSourceFilters`, and the run's `OUTPUT` record lists the exact query sent, the index's match count and how many rows each filter removed. Country, city, gender, age and new-creator filters work with Keyword search and Newest creators, not with Top creators. With no filter set, a run works exactly as before.

#### 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 result order. Sorting orders the profiles this run collected, not the whole search index. It is applied after cross-keyword deduplication, and all three datasets retain the same relative order. Profiles with unavailable values (for example a hidden `subscribers` count) are placed last, in both directions.

### Output Fields 📦

Depending on profile availability, rows can include:

- `username` — OnlyFans username
- `name` — display name (plain text: `&` stays `&`)
- `profileUrl` — direct OnlyFans profile link
- `avatar` — profile photo URL
- `bio` — full biography text (plain text, no HTML tags or entities)
- `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, or `null` when the creator hides it (most do). It is never `0` for a hidden 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 Profiles** (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

**Instagram Profiles** — profiles with Instagram only

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

**Social Links** — profiles 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 keyword targeting, `new` for fresh profiles, `top` for highest-ranked.
2. Add one or more keywords if using Query mode.
3. Set `maxResults` per keyword, apply quality filters, and choose the result order.
4. Run, export from whichever dataset fits your workflow, and segment.
5. Repeat searches to explore new interests, niches, or locations.

### Ready-to-Run Presets

#### Browse New Profiles

```json
{
  "searchMode": "new",
  "maxResults": 200,
  "requireInstagram": false
}
```

#### Instagram-First Sourcing

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

#### Niche Research Scan

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

#### Early-Stage Creator Pipeline

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

#### Top Creators Snapshot

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

#### Free Creators Only

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

### FAQ

#### Can I browse broadly or search for a specific type?

Both. Run `new` or `top` mode to browse profiles, or use Query mode with keywords for a specific appearance, niche, interest, or location.

#### 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 profile shows every niche it matched.

#### Is the output usable in Sheets, BI tools, and internal ops?

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

#### Calling it via API?

Use `deepmine/onlyfans-finder-pro` (was `sentry/onlyfans-finder-pro` before September 3, 2026), or the Actor ID `SVzJIrSd6IbjdDoHy`, which never changed.

#### 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. Most creators hide their subscriber count on OnlyFans; their `subscribers` field is `null` and the filters treat it as 0, so a minimum leaves them out and a maximum keeps them. Likes is the size signal that is always there.

#### 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 `searchMode: query`, one or two keywords, `maxResults` around 100, and `requireInstagram` enabled.

#### 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 save recurring searches?

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

### Make Creator Search Repeatable

This Actor is optimized for one job: **making creator search repeatable, filterable, and export-ready**.

For personal discovery, niche research, or marketing, it provides multi-keyword search, automatic deduplication, practical filters, and available social links in export-ready datasets.

# Actor input Schema

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

What the creators should match, one per line: appearance ("redhead"), niche ("cosplay"), style or place ("miami"). Each is its own search; a creator found twice comes once.

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

Stop each keyword after this many profiles (with New or Top: for the whole run). You pay per profile delivered.

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

Keywords is the usual search. New and Top browse OnlyFans' own lists and don't use keywords.

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

Keep only profiles that link an Instagram account.

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

Keep only profiles with a free subscription.

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

Empty = no minimum. Hidden subscriber counts count as 0.

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

Empty = no limit. Profiles that hide their subscriber count count as 0, so they pass any maximum.

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

Keep only profiles with fewer likes, to find smaller or new creators, e.g. 100000. Empty = no limit.

## `country` (type: `string`):

Two-letter country code, e.g. US, GB, DE or BR. The search index filters its whole catalogue by the rough location it holds for each creator, before any result is read. Rows don't carry a verified country; each row names the filters it matched in matchedSourceFilters. Use either Country or City.

## `city` (type: `string`):

A place such as miami, los angeles or 90210. The index keeps creators it places near it: a rough location, not a verified residence. Use either Country or City.

## `cityRadiusKm` (type: `integer`):

Optional distance around City. Empty = the index's own default area.

## `gender` (type: `string`):

The search index's own gender label for each creator (not checked by this Actor). Most of the index is women, so Women changes little; Men narrows the results to male creators.

## `minAge` (type: `integer`):

The age the search index lists for a creator, as the creator publishes it; not verified. Empty = no limit.

## `maxAge` (type: `integer`):

Upper end of the index's listed age. Empty = no limit.

## `minPrice` (type: `integer`):

Keep creators whose subscription costs at least this much. Checked on the price each row shows, after any promotion: a page on a free-trial promotion shows Free and is left out. Empty = no limit.

## `maxPrice` (type: `integer`):

Keep creators whose shown subscription price is at most this much (0 = free only). Empty = no limit.

## `newOnly` (type: `boolean`):

Keep creators the search index lists as joined in the last 30 days.

## `requireTwitter` (type: `boolean`):

Keep only creators whose OnlyFans listing links an X (Twitter) account.

## `requireTikTok` (type: `boolean`):

Keep only creators whose OnlyFans listing links a TikTok account.

## `minLikes` (type: `integer`):

Keep only profiles with at least this many likes, to skip inactive pages. Empty = no limit.

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

Order of the profiles in every dataset of the run. Relevance keeps OnlyFans' own order. It orders the profiles this run collected (up to the maximum per keyword), not the whole search index.

## `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
{
  "keywords": [
    "redhead",
    "miami"
  ],
  "maxResults": 50,
  "searchMode": "query",
  "requireInstagram": false,
  "freeOnly": false,
  "gender": "any",
  "newOnly": false,
  "requireTwitter": false,
  "requireTikTok": 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": [
        "redhead",
        "miami"
    ],
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("deepmine/onlyfans-finder-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 = {
    "keywords": [
        "redhead",
        "miami",
    ],
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("deepmine/onlyfans-finder-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 '{
  "keywords": [
    "redhead",
    "miami"
  ],
  "maxResults": 50
}' |
apify call deepmine/onlyfans-finder-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,deepmine/onlyfans-finder-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/SVzJIrSd6IbjdDoHy/builds/d7wo0FEu9wwcZtu4I/openapi.json
