# Pornhub Model Intelligence Scraper (`scraper_master/pornhub-model-intelligence-scraper`) Actor

Turn public Pornhub model profiles into rich, analysis-ready data: profile details, rankings, views, subscribers, social links, and optional video lists with titles, thumbnails, duration, views, and publishing time. Build stronger creator databases and spot trends faster.

- **URL**: https://apify.com/scraper\_master/pornhub-model-intelligence-scraper.md
- **Developed by:** [Master Scraper](https://apify.com/scraper_master) (community)
- **Categories:** AI, Developer tools, Videos
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 profile scrapeds

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

## 🎯 Pornhub Model Profile & Video Scraper

Turn public Pornhub model profiles into rich, analysis-ready data. Paste one or more model profile URLs to collect profile details, rankings, audience signals, social links, and—when needed—a complete video-card list across all available pages. 🚀

Build stronger creator databases, compare profiles at scale, and spot content trends without manually opening and copying data from page after page.

### ✨ Why use this scraper?

- **Rich profile coverage** — collect names, avatars, cover images, public bios, social links, and public profile attributes in one structured record.
- **Clear performance signals** — capture profile rank, weekly/monthly/yearly rank, total video views, subscribers, and published-video count.
- **Optional full video lists** — collect video URLs, titles, thumbnails, duration, visible views, and relative publish times across video-list pagination.
- **One URL, one clean record** — each model profile produces a single, export-ready Dataset item.
- **Ready for analysis** — use the data in Apify, export to JSON or CSV, or connect it to your automations and databases.

### 🚀 Get started in 3 steps

1. Paste one or more public model profile URLs into **Model profile URLs**.
2. Enable **Collect video list** if you want the model's video cards as well.
3. Click **Start** and open the Dataset when the run finishes.

### Input

| Field                 | Required | Description                                                                                          |
| --------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
| `startUrls`           | Yes      | One or more public model profile URLs. Each URL produces one profile record.                         |
| `includeVideos`       | No       | Set to `true` to collect the model's public video list across its available pages. Default: `false`. |
| `maxRequestsPerCrawl` | No       | Maximum total pages to load in one run. Video-list pages count toward this limit. Default: `100`.    |

#### Input example

```json
{
    "startUrls": [{ "url": "https://www.pornhub.com/model/example-model" }],
    "includeVideos": true,
    "maxRequestsPerCrawl": 100
}
```

### What you get

| Field              | Description                                                  |
| ------------------ | ------------------------------------------------------------ |
| `url`              | Model profile URL                                            |
| `avatarUrl`        | Profile avatar image URL                                     |
| `coverImageUrl`    | Profile cover image URL                                      |
| `modelName`        | Model display name                                           |
| `statistics`       | Profile rank, audience metrics, and published-video count    |
| `bioTitle` / `bio` | Public profile bio title and text                            |
| `socialLinks`      | Public social or external links, including label and URL     |
| `profileTags`      | Public profile attributes stored as `{ label, value }` pairs |
| `videoList`        | Video-list status and the collected video cards when enabled |
| `scrapedAt`        | Collection time in ISO 8601 format                           |

#### Performance statistics

```json
{
    "modelRank": "3500",
    "weeklyRank": "3438",
    "monthlyRank": "3500",
    "previousMonthRank": "3440",
    "yearlyRank": "4099",
    "videoViews": "59,474,786",
    "subscribers": "81,325",
    "publishedVideoCount": 243
}
```

#### Video-list data

Enable `includeVideos` to receive a `videoList` object:

| Field           | Description                                            |
| --------------- | ------------------------------------------------------ |
| `requested`     | Whether video-list collection was enabled for this run |
| `hasPagination` | Whether the model video list has multiple pages        |
| `isComplete`    | Whether collection reached the final video-list page   |
| `pagesScraped`  | Number of video-list pages collected                   |
| `videos`        | Array of video-card records                            |

Each video card includes `id`, `url`, `title`, `thumbnailUrl`, `duration`, `views`, and `publishedRelative`.

### 📦 Example output

```json
{
    "url": "https://www.pornhub.com/model/example-model",
    "avatarUrl": "https://example-cdn.com/avatar.jpg",
    "coverImageUrl": "https://example-cdn.com/cover.jpg",
    "modelName": "Example Model",
    "statistics": {
        "modelRank": "3500",
        "weeklyRank": "3438",
        "monthlyRank": "3500",
        "previousMonthRank": "3440",
        "yearlyRank": "4099",
        "videoViews": "59,474,786",
        "subscribers": "81,325",
        "publishedVideoCount": 243
    },
    "bioTitle": "About Example Model",
    "bio": "This is a public profile description.",
    "socialLinks": [
        {
            "name": "Official site",
            "url": "https://example.com"
        },
        {
            "name": "Twitter",
            "url": "https://x.com/example"
        }
    ],
    "profileTags": [
        { "label": "Gender", "value": "Female" },
        { "label": "Birthplace", "value": "Japan" }
    ],
    "videoList": {
        "requested": true,
        "hasPagination": true,
        "isComplete": true,
        "pagesScraped": 7,
        "videos": [
            {
                "id": "123456789",
                "url": "https://www.pornhub.com/view_video.php?viewkey=example",
                "title": "Example video title",
                "thumbnailUrl": "https://example-cdn.com/thumbnail.jpg",
                "duration": "07:24",
                "views": "1.3K",
                "publishedRelative": "2 days ago"
            }
        ]
    },
    "scrapedAt": "2026-08-03T08:00:00.000Z"
}
```

### 📈 Popular use cases

- Build and maintain a creator or model intelligence database
- Compare profile rankings, subscribers, views, and publishing volume
- Find profiles by public attributes, location, or social presence
- Track video publishing activity, visible views, and video duration patterns
- Export structured data to spreadsheets, BI tools, CRM systems, or custom workflows

### 💳 Pricing

You only pay for the data successfully delivered to your Dataset:

| Event                |              Price |
| -------------------- | -----------------: |
| Model profile record | $0.004 per profile |
| Video card           |  $0.0015 per video |
| Actor start          |   $0.00005 per run |

For example, a model profile with 243 collected video cards costs approximately **$0.37**.

### 💡 Tips for better runs

- Keep **Collect video list** off when you only need profile-level intelligence for faster runs.
- Enable it when you need a richer content inventory and performance snapshot for each model.
- Increase **Maximum pages per run** when collecting video lists from profiles with many videos.
- Submit multiple profile URLs in a single run to create a consistent, ready-to-compare dataset. 🙌

# Actor input Schema

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

Paste one or more public model profile URLs. Each URL produces one profile record.

## `maxRequestsPerCrawl` (type: `integer`):

Maximum total pages to load, including video-list pagination when video collection is enabled.

## `includeVideos` (type: `boolean`):

When enabled, collect every public video card across the model's /videos pages. This may substantially increase run time.

## Actor input object example

```json
{
  "maxRequestsPerCrawl": 100,
  "includeVideos": false
}
```

# Actor output Schema

## `results` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scraper_master/pornhub-model-intelligence-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("scraper_master/pornhub-model-intelligence-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 '{}' |
apify call scraper_master/pornhub-model-intelligence-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraper_master/pornhub-model-intelligence-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/Hrufeb2cE1uuMO3dU/builds/7WAdZYkAPDg14eS7q/openapi.json
