# Stripchat Scraper - Live Cam Models, Rooms & Metadata (`scrapers_lat/stripchat-scraper`) Actor

Stripchat scraper for public live cam model and room metadata with no API key. Export username, viewers, rank, HD, country, gender, tags, age, languages, interests, tip menu, token rates and social handles across the online models directory. Filter by category, country, HD, new and live.

- **URL**: https://apify.com/scrapers\_lat/stripchat-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Other, Automation, Developer tools
- **Stats:** 21 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 4.62 out of 5 stars

## Pricing

from $6.15 / 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?

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

[![Stripchat Scraper - Live Cam Models, Rooms & Metadata](https://scrapers.lat/banners/stripchat-scraper.png)](https://console.apify.com/actors/uSpHhlKs24ciqFwwH/input)

## Stripchat Scraper - Live Cam Models, Rooms & Metadata

The most complete **Stripchat scraper** for public **live cam model** and room **metadata**, with **no API key** and no login. It reads the public online-models directory, applies your filters, and returns one clean record per online model with viewers, rank, HD status, country, gender, tags, token rates, and full public profile data (age, languages, body attributes, interests, tip menu, show activities, and linked social handles). Built for **cam model data**, **adult creator analytics**, and **live cam traffic research**. Metadata only, never media.

**📥 [Input](https://apify.com/scrapers_lat/stripchat-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/stripchat-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/stripchat-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/stripchat-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Stripchat-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

### What this Stripchat scraper does

The actor reads the public Stripchat online-models directory for the category you choose, applies your country, HD, new-model, live and minimum-viewers filters as it collects, and writes one normalized record per online model to the run's dataset. With profile details enabled it also opens each model's public profile page to add name, age, languages, body attributes, interests, room topic, favorites count, room tags, the public tip menu, public and private show activities, group and ticket token rates, and any social handles the model links (Twitter/X, Instagram and more). Missing source values are returned as `null`, never invented.

Use it to build **cam model datasets**, monitor **live cam viewer counts** and **room rankings**, track **tags and categories**, analyze **token pricing** across models, or assemble **adult creator lead lists** from public social handles.

### Why choose this actor

- **No API key, no login, no cookies.** Point it at a category and run.
- **Full directory coverage.** Paginates the online-models grid and deduplicates models across pages so no model is returned or billed twice.
- **73 fields per model.** Listing plus complete public profile, all mapped with honest `null` for absent values.
- **Targeted filters.** Category, country, HD, new, live, and minimum viewers.
- **Clean exports.** JSON, CSV, or Excel, ready for a spreadsheet, a database, or a BI tool.
- **Metadata only.** This tool never downloads or records streams or media.

### Use cases

- **Cam model analytics.** Track viewer counts, rank, HD share, and online population by category and country over time.
- **Adult creator research.** Collect public profile attributes, interests, tags, and tip-menu pricing for market analysis.
- **Lead generation.** Extract the social handles (Twitter/X, Instagram, and others) models publish on their public profiles.
- **Pricing intelligence.** Compare private, spy, peer-to-peer, group, and ticket token rates across the directory.
- **Trend monitoring.** Watch which tags, categories, and topics are trending among online models.

### Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 10 online girls with full profile details.

```json
{
  "maxModels": 10,
  "withDetails": true,
  "category": "girls",
  "onlyHd": false,
  "onlyNew": false,
  "onlyLive": false
}
```

Every input is optional. With an empty input the actor scrapes the `girls` directory with profile details enabled (default `maxModels` is 10).

### Input reference

| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| `maxModels` | integer | no | `10` | Maximum number of online models to collect. Range `1` to `1000000`. |
| `withDetails` | boolean | no | `true` | Open each model's public profile to add name, age, languages, body attributes, interests, room topic, favorites, room tags, tip menu, show activities, token rates, and social handles. Paid add-on, paid Apify plans only. Disable for a faster listing-only run. |
| `category` | enum | no | `girls` | Which public directory to scrape. One of `girls`, `couples`, `men`, `trans`. |
| `country` | string | no | (empty) | ISO 3166 two-letter country code to keep only models broadcasting from that country (for example `us`, `co`, `ro`, `fr`). Empty returns all countries. |
| `onlyHd` | boolean | no | `false` | Keep only models streaming in HD. |
| `onlyNew` | boolean | no | `false` | Keep only models flagged as new on the platform. |
| `onlyLive` | boolean | no | `false` | Keep only rooms currently live broadcasting. |
| `minViewers` | integer | no | (none) | Keep only rooms with at least this many current viewers. |
| `proxyConfiguration` | object | no | (direct) | Optional proxy. Residential recommended if you need a specific country or higher volume. |

Filters combine with logical AND.

### Output reference

One dataset item per online model. Types: `string`, `integer`, `boolean`, `string[]`, `object`, or `null` when the source value is absent. Fields marked (details) are only populated when `withDetails` is enabled.

| Field | Type | Description |
|---|---|---|
| `imageUrl` | string | Full avatar image URL. |
| `thumbnailUrl` | string | Room preview thumbnail URL. |
| `username` | string | Model username (room handle). |
| `status` | string | Room status (for example `public`, `private`, `groupShow`). |
| `url` | string | Public room URL. |
| `id` | integer | Numeric model ID. |
| `gender` | string | Raw gender value from the platform. |
| `genderGroup` | string | Gender group bucket (for example `F`, `M`). |
| `broadcastGender` | string | Broadcast type (for example `female`, `group`). |
| `country` | string | Two-letter country code the model broadcasts from. |
| `viewersCount` | integer | Current viewer count. |
| `rank` | integer | Directory placement when the room is featured in a top spot, else `null`. |
| `isLive` | boolean | Whether the model is live. |
| `isOnline` | boolean | Whether the model is online. |
| `isHd` | boolean | HD stream. |
| `isNew` | boolean | Flagged as a new model. |
| `isNonNude` | boolean | Non-nude room flag. |
| `isRecommended` | boolean | Flagged as recommended by the platform. |
| `isTagVerified` | boolean | Tag-verified flag. |
| `isMobile` | boolean | Broadcasting from mobile. |
| `isVr` | boolean | VR stream available. |
| `isLovense` | boolean | Lovense interactive toy enabled. |
| `isKiiroo` | boolean | Kiiroo interactive toy enabled. |
| `streamWidth` | integer | Broadcast width in pixels. |
| `streamHeight` | integer | Broadcast height in pixels. |
| `privateRate` | integer | Tokens per minute for a private show. |
| `spyRate` | integer | Tokens per minute to spy on a private show. |
| `p2pRate` | integer | Tokens per minute for peer-to-peer. |
| `p2pVoiceRate` | integer | Tokens per minute for peer-to-peer voice. |
| `publicRecordingsRate` | integer | Rate for public recordings. |
| `groupShowType` | string | Group show type when set. |
| `statusChangedAt` | string | ISO timestamp the room status last changed. |
| `name` | string | Display name (details), or `null`. |
| `age` | integer | Model age (details); `null` when hidden. |
| `birthDate` | string | Birth date (details), or `null`. |
| `region` | string | Region (details), or `null`. |
| `city` | string | City (details), or `null`. |
| `languages` | string\[] | Spoken languages (details). |
| `interestedIn` | string | Interested-in value (details). |
| `bodyType` | string | Body type tag (details). |
| `ethnicity` | string | Ethnicity tag (details). |
| `hairColor` | string | Hair color tag (details). |
| `eyeColor` | string | Eye color tag (details). |
| `subculture` | string | Subculture tag (details). |
| `specifics` | string\[] | Physical specifics tags (details). |
| `description` | string | Profile description (details), or `null`. |
| `offlineStatus` | string | Offline status message (details), or `null`. |
| `interests` | string\[] | Listed interests (details). |
| `publicActivities` | string\[] | Activities offered in public shows (details). |
| `privateActivities` | string\[] | Activities offered in private shows (details). |
| `exclusivePrivateActivities` | string\[] | Activities offered in exclusive private shows (details). |
| `isPornStar` | boolean | Verified porn star flag (details). |
| `favoritedCount` | integer | Number of users who favorited the model (details). |
| `groupRate` | integer | Tokens per minute for a group show (details). |
| `ticketRate` | integer | Ticket show token price (details). |
| `previewUrl` | string | Full room preview image URL (details). |
| `socialLinks` | object | Map of linked social platforms to URLs (details). |
| `twitter` | string | Linked Twitter/X URL (details), or `null`. |
| `instagram` | string | Linked Instagram URL (details), or `null`. |
| `tags` | string\[] | Room and profile tags (details). |
| `tipMenu` | object\[] | Public tip menu items, each `{activity, price}` (details). |
| `topic` | string | Current room topic text (details). |
| `goal` | object | Current tip goal (`description`, `goal`, `spent`, `left`, `isEnabled`), when set (details). |
| `groupShowUsersCount` | integer | Users queued for a group show (details). |
| `testimonialsCount` | integer | Number of testimonials (details). |
| `discounts` | object\[] | Active token-price discounts, when any (details). |
| `streamName` | string | Public stream name (details). |
| `isCamAvailable` | boolean | Whether the cam feed is available (details). |
| `nextBroadcast` | object | Next scheduled broadcast, when published (details). |
| `broadcastSchedule` | object | Broadcast schedule block when the model publishes one (details). |
| `observedAt` | string | ISO 8601 timestamp of when the record was collected. |
| `error` | string | `null` on success. On a failed run, a single item with a populated `error` field is written instead. |

### Example output record

Real record from a live run (input `{"maxModels": 10, "withDetails": true, "category": "girls"}`). Lists are trimmed here for readability; the actual record returns the full arrays.

```json
{
  "username": "Timide_girl17",
  "status": "public",
  "url": "https://stripchat.com/Timide_girl17",
  "id": 142646912,
  "genderGroup": "F",
  "broadcastGender": "group",
  "country": "fr",
  "viewersCount": 1688,
  "isLive": true,
  "isHd": true,
  "isLovense": true,
  "streamWidth": 720,
  "streamHeight": 960,
  "privateRate": 90,
  "spyRate": 24,
  "p2pRate": 120,
  "name": "Timide",
  "age": 39,
  "birthDate": "1987-05-30",
  "languages": ["fr"],
  "bodyType": "bodyTypeAverage",
  "hairColor": "hairColorColorful",
  "eyeColor": "eyeColorBrown",
  "specifics": ["specificSmallTits", "specificTrimmed"],
  "interests": ["anal", "bdsm", "blowjob", "dancing", "squirt"],
  "publicActivities": ["doOutdoor", "doFlashing", "doSquirt"],
  "isPornStar": false,
  "favoritedCount": 149144,
  "groupRate": 60,
  "ticketRate": 44,
  "twitter": "https://x.com/Timide_girll",
  "instagram": "https://www.instagram.com/officieltimide_girl17",
  "tags": ["tagLanguageFrench", "european", "couples", "autoTagHd", "autoTagLovense"],
  "tipMenu": [{ "activity": "PM send/check", "price": 25 }, { "activity": "NAKED", "price": 400 }],
  "topic": "Ne soit pas timide fait moi mouiller",
  "goal": { "description": "Tape fort + fist et gode", "goal": 2500, "spent": 1452, "left": 1048, "isEnabled": true },
  "streamName": "142646912",
  "isCamAvailable": true,
  "broadcastSchedule": { "nearest": { "day": "sun", "period": [14400, 32400] } },
  "observedAt": "2026-09-06T08:11:48.020Z",
  "error": null
}
```

### Stripchat scraper comparison

| Capability | This actor | Video downloader actors |
|---|---|---|
| Online-models directory listing | Yes, full paginated grid | No, single video or room URL only |
| Category, country, HD, new, live, min-viewers filters | Yes | No |
| Per-model profile metadata (age, languages, tags, interests) | Yes, 73 fields | No |
| Viewer count, rank, HD, token rates | Yes | No |
| Public tip menu and show activities | Yes | No |
| Social handles (Twitter/X, Instagram) | Yes | No |
| Cross-page deduplication | Yes | Not applicable |
| Downloads or records media | No, metadata only by design | Yes |
| API key or login required | No | Varies, some need a cookie |

The Stripchat actors on the store are video downloaders that take one URL and return a media file. This actor is a metadata and analytics scraper: it discovers the whole online directory and returns structured data per model. It is a strict superset on the metadata dimension and intentionally does not touch media.

### Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace `<TOKEN>` with your Apify API token.

Run synchronously and get dataset items in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~stripchat-scraper/run-sync-get-dataset-items?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"maxModels":10,"category":"girls","country":"us","withDetails":true}'
```

Start a run asynchronously:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~stripchat-scraper/runs?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"maxModels":100,"category":"couples","onlyHd":true}'
```

Apify CLI:

```bash
apify call scrapers_lat/stripchat-scraper \
  --input '{"maxModels":10,"category":"trans"}'
```

### Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing `format`:

```bash
## JSON
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=json"

## CSV
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=csv"

## Paginate large datasets
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&offset=1000&limit=1000"
```

`<DATASET_ID>` is returned as `defaultDatasetId` in the run object. Use `offset` and `limit` to page through large result sets. `clean=true` drops empty and internal fields.

### Billing and limits

- **Pay per result.** You are charged per model returned (`result` event). Profile details are an additive `details` add-on, charged only for models whose profile fetch succeeds, and only for paid Apify plans. See the [pricing tab](https://apify.com/scrapers_lat/stripchat-scraper/pricing) for current prices.
- **No charge on failure.** If a run errors, the actor writes a single item with a populated `error` field and does not charge for it. Empty runs cost nothing.
- **Spend cap respected.** Set `maxTotalChargeUsd` on the run; once reached, the actor stops emitting and charging further billable results.
- **Free Apify plans** are capped at 10 models per run and run listing-only. Upgrade for higher `maxModels` and profile details.

### FAQ and troubleshooting

**A run returned 0 records. Why?**
Your filter combination matched no online models at that moment (for example a rare `country` with `onlyHd` and `onlyNew` both on). Loosen the filters and rerun. Zero-result runs are not charged.

**How do I get more fields per model?**
Keep `withDetails` enabled on a paid Apify plan. It adds age, languages, body attributes, interests, favorites, tags, tip menu, show activities, token rates, and social handles.

**Can I scrape couples, men, or trans rooms?**
Yes. Set `category` to `couples`, `men`, or `trans`.

**Why are `name`, `age`, or `twitter` null?**
Either `withDetails` was disabled, or the model does not publish that value on their public profile. Missing source values are returned as `null`, never invented.

**Does this download videos or streams?**
No. This actor returns metadata only. It never downloads or records media.

**Is this an official Stripchat tool?**
No. This actor is independent and has no affiliation with Stripchat. It reads only data that is publicly available on the platform's directory and public profile pages.

### Related scrapers

- [Chaturbate Online Rooms & Models Scraper](https://apify.com/scrapers_lat/chaturbate-scraper): Chaturbate live rooms and model metadata.
- [BongaCams Live Cam Models Scraper](https://apify.com/scrapers_lat/bongacams-scraper): BongaCams online models and rooms.
- [CamSoda Live Cam Models Scraper](https://apify.com/scrapers_lat/camsoda-scraper): CamSoda live cam model directory.

### More scrapers at scrapers.lat

Built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> Independent tool, not affiliated with Stripchat. Accesses only publicly available directory and profile data.

***

## Stripchat Scraper - Modelos de Cam en Vivo, Salas y Metadatos

El **scraper de Stripchat** mas completo para **metadatos** publicos de **modelos de cam en vivo** y salas, **sin API key** y sin inicio de sesion. Lee el directorio publico de modelos en linea, aplica tus filtros y devuelve un registro limpio por cada modelo en linea con espectadores, ranking, estado HD, pais, genero, etiquetas, tarifas en tokens y datos completos del perfil publico (edad, idiomas, atributos fisicos, intereses, menu de propinas, actividades del show y perfiles sociales enlazados). Creado para **datos de modelos de cam**, **analitica de creadores adultos** e **investigacion de trafico de cam en vivo**. Solo metadatos, nunca contenido multimedia.

**📥 [Entrada](https://apify.com/scrapers_lat/stripchat-scraper/input-schema) · 📤 [Salida](https://apify.com/scrapers_lat/stripchat-scraper/output-schema) · 💰 [Precios](https://apify.com/scrapers_lat/stripchat-scraper/pricing) · ▶️ [Ejemplos](https://apify.com/scrapers_lat/stripchat-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Stripchat-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

### Que hace este scraper de Stripchat

El actor lee el directorio publico de modelos en linea de Stripchat para la categoria que elijas, aplica tus filtros de pais, HD, modelo nuevo, en vivo y minimo de espectadores mientras recopila, y escribe un registro normalizado por cada modelo en linea en el dataset de la ejecucion. Con los detalles de perfil activados tambien abre la pagina de perfil publico de cada modelo para agregar nombre, edad, idiomas, atributos fisicos, intereses, tema de la sala, cantidad de favoritos, etiquetas de la sala, el menu de propinas publico, las actividades de shows publicos y privados, las tarifas en tokens de grupo y ticket, y cualquier perfil social que la modelo enlace (Twitter/X, Instagram y mas). Los valores ausentes en la fuente se devuelven como `null`, nunca inventados.

Usalo para crear **datasets de modelos de cam**, monitorear **conteos de espectadores en vivo** y **rankings de salas**, seguir **etiquetas y categorias**, analizar **precios en tokens** entre modelos, o armar **listas de contactos de creadores adultos** a partir de perfiles sociales publicos.

### Por que elegir este actor

- **Sin API key, sin login, sin cookies.** Apunta a una categoria y ejecuta.
- **Cobertura total del directorio.** Pagina la grilla de modelos en linea y deduplica modelos entre paginas para que ningun modelo se devuelva ni se cobre dos veces.
- **73 campos por modelo.** Listado mas perfil publico completo, todo mapeado con `null` honesto para valores ausentes.
- **Filtros dirigidos.** Categoria, pais, HD, nuevo, en vivo y minimo de espectadores.
- **Exportaciones limpias.** JSON, CSV o Excel, listas para una hoja de calculo, una base de datos o una herramienta de BI.
- **Solo metadatos.** Esta herramienta nunca descarga ni graba transmisiones o contenido multimedia.

### Casos de uso

- **Analitica de modelos de cam.** Sigue conteos de espectadores, ranking, proporcion HD y poblacion en linea por categoria y pais a lo largo del tiempo.
- **Investigacion de creadores adultos.** Recopila atributos de perfil publico, intereses, etiquetas y precios del menu de propinas para analisis de mercado.
- **Generacion de contactos.** Extrae los perfiles sociales (Twitter/X, Instagram y otros) que las modelos publican en sus perfiles publicos.
- **Inteligencia de precios.** Compara tarifas en tokens de privado, espia, peer-to-peer, grupo y ticket en todo el directorio.
- **Monitoreo de tendencias.** Observa que etiquetas, categorias y temas son tendencia entre las modelos en linea.

### Inicio rapido

Abre el actor, pega esto en la entrada y presiona Ejecutar. Devuelve hasta 10 chicas en linea con detalles completos de perfil.

```json
{
  "maxModels": 10,
  "withDetails": true,
  "category": "girls",
  "onlyHd": false,
  "onlyNew": false,
  "onlyLive": false
}
```

Todas las entradas son opcionales. Con una entrada vacia el actor recopila el directorio `girls` con los detalles de perfil activados (el valor por defecto de `maxModels` es 10).

### Referencia de entrada

| Campo | Tipo | Requerido | Por defecto | Descripcion |
|---|---|---|---|---|
| `maxModels` | integer | no | `10` | Cantidad maxima de modelos en linea a recopilar. Rango `1` a `1000000`. |
| `withDetails` | boolean | no | `true` | Abre el perfil publico de cada modelo para agregar nombre, edad, idiomas, atributos fisicos, intereses, tema de la sala, favoritos, etiquetas, menu de propinas, actividades de shows, tarifas en tokens y perfiles sociales. Complemento de pago, solo planes de pago de Apify. Desactivalo para una ejecucion mas rapida solo de listado. |
| `category` | enum | no | `girls` | Que directorio publico recopilar. Uno de `girls`, `couples`, `men`, `trans`. |
| `country` | string | no | (vacio) | Codigo de pais ISO 3166 de dos letras para conservar solo modelos que transmiten desde ese pais (por ejemplo `us`, `co`, `ro`, `fr`). Vacio devuelve todos los paises. |
| `onlyHd` | boolean | no | `false` | Conserva solo modelos que transmiten en HD. |
| `onlyNew` | boolean | no | `false` | Conserva solo modelos marcados como nuevos en la plataforma. |
| `onlyLive` | boolean | no | `false` | Conserva solo salas que transmiten en vivo actualmente. |
| `minViewers` | integer | no | (ninguno) | Conserva solo salas con al menos esta cantidad de espectadores actuales. |
| `proxyConfiguration` | object | no | (directo) | Proxy opcional. Residencial recomendado si necesitas un pais especifico o mayor volumen. |

Los filtros se combinan con logica AND.

### Referencia de salida

Un item de dataset por cada modelo en linea. Tipos: `string`, `integer`, `boolean`, `string[]`, `object` o `null` cuando el valor de la fuente esta ausente. Los campos marcados (detalles) solo se completan cuando `withDetails` esta activado.

| Campo | Tipo | Descripcion |
|---|---|---|
| `imageUrl` | string | URL de la imagen de avatar completa. |
| `thumbnailUrl` | string | URL de la miniatura de vista previa de la sala. |
| `username` | string | Nombre de usuario de la modelo (identificador de la sala). |
| `status` | string | Estado de la sala (por ejemplo `public`, `private`, `groupShow`). |
| `url` | string | URL publica de la sala. |
| `id` | integer | ID numerico de la modelo. |
| `gender` | string | Valor de genero en bruto de la plataforma. |
| `genderGroup` | string | Grupo de genero (por ejemplo `F`, `M`). |
| `broadcastGender` | string | Tipo de transmision (por ejemplo `female`, `group`). |
| `country` | string | Codigo de pais de dos letras desde donde transmite. |
| `viewersCount` | integer | Cantidad actual de espectadores. |
| `rank` | integer | Posicion en el directorio cuando la sala aparece destacada, si no `null`. |
| `isLive` | boolean | Si la modelo esta en vivo. |
| `isOnline` | boolean | Si la modelo esta en linea. |
| `isHd` | boolean | Transmision HD. |
| `isNew` | boolean | Marcada como modelo nueva. |
| `isNonNude` | boolean | Indicador de sala sin desnudez. |
| `isRecommended` | boolean | Marcada como recomendada por la plataforma. |
| `isTagVerified` | boolean | Indicador de etiqueta verificada. |
| `isMobile` | boolean | Transmite desde movil. |
| `isVr` | boolean | Transmision VR disponible. |
| `isLovense` | boolean | Juguete interactivo Lovense activado. |
| `isKiiroo` | boolean | Juguete interactivo Kiiroo activado. |
| `streamWidth` | integer | Ancho de la transmision en pixeles. |
| `streamHeight` | integer | Alto de la transmision en pixeles. |
| `privateRate` | integer | Tokens por minuto para un show privado. |
| `spyRate` | integer | Tokens por minuto para espiar un show privado. |
| `p2pRate` | integer | Tokens por minuto para peer-to-peer. |
| `p2pVoiceRate` | integer | Tokens por minuto para peer-to-peer con voz. |
| `publicRecordingsRate` | integer | Tarifa para grabaciones publicas. |
| `groupShowType` | string | Tipo de show grupal cuando esta definido. |
| `statusChangedAt` | string | Marca ISO del ultimo cambio de estado de la sala. |
| `name` | string | Nombre visible (detalles), o `null`. |
| `age` | integer | Edad de la modelo (detalles); `null` cuando esta oculta. |
| `birthDate` | string | Fecha de nacimiento (detalles), o `null`. |
| `region` | string | Region (detalles), o `null`. |
| `city` | string | Ciudad (detalles), o `null`. |
| `languages` | string\[] | Idiomas hablados (detalles). |
| `interestedIn` | string | Valor de interes (detalles). |
| `bodyType` | string | Etiqueta de tipo de cuerpo (detalles). |
| `ethnicity` | string | Etiqueta de etnia (detalles). |
| `hairColor` | string | Etiqueta de color de cabello (detalles). |
| `eyeColor` | string | Etiqueta de color de ojos (detalles). |
| `subculture` | string | Etiqueta de subcultura (detalles). |
| `specifics` | string\[] | Etiquetas de rasgos fisicos especificos (detalles). |
| `description` | string | Descripcion del perfil (detalles), o `null`. |
| `offlineStatus` | string | Mensaje de estado fuera de linea (detalles), o `null`. |
| `interests` | string\[] | Intereses listados (detalles). |
| `publicActivities` | string\[] | Actividades ofrecidas en shows publicos (detalles). |
| `privateActivities` | string\[] | Actividades ofrecidas en shows privados (detalles). |
| `exclusivePrivateActivities` | string\[] | Actividades ofrecidas en shows privados exclusivos (detalles). |
| `isPornStar` | boolean | Indicador de estrella porno verificada (detalles). |
| `favoritedCount` | integer | Cantidad de usuarios que marcaron como favorita a la modelo (detalles). |
| `groupRate` | integer | Tokens por minuto para un show grupal (detalles). |
| `ticketRate` | integer | Precio en tokens del show con ticket (detalles). |
| `previewUrl` | string | URL de la imagen de vista previa completa de la sala (detalles). |
| `socialLinks` | object | Mapa de plataformas sociales enlazadas a URLs (detalles). |
| `twitter` | string | URL de Twitter/X enlazada (detalles), o `null`. |
| `instagram` | string | URL de Instagram enlazada (detalles), o `null`. |
| `tags` | string\[] | Etiquetas de la sala y del perfil (detalles). |
| `tipMenu` | object\[] | Items del menu de propinas publico, cada uno `{activity, price}` (detalles). |
| `topic` | string | Texto del tema actual de la sala (detalles). |
| `goal` | object | Objetivo de propinas actual (`description`, `goal`, `spent`, `left`, `isEnabled`), cuando existe (detalles). |
| `groupShowUsersCount` | integer | Usuarios en cola para un show grupal (detalles). |
| `testimonialsCount` | integer | Cantidad de testimonios (detalles). |
| `discounts` | object\[] | Descuentos de precio en tokens activos, cuando existen (detalles). |
| `streamName` | string | Nombre publico de la transmision (detalles). |
| `isCamAvailable` | boolean | Si el feed de cam esta disponible (detalles). |
| `nextBroadcast` | object | Proxima transmision programada, cuando se publica (detalles). |
| `broadcastSchedule` | object | Bloque de horario de transmision cuando la modelo lo publica (detalles). |
| `observedAt` | string | Marca de tiempo ISO 8601 de cuando se recopilo el registro. |
| `error` | string | `null` en caso de exito. En una ejecucion fallida se escribe un solo item con el campo `error` completo. |

### Ejemplo de registro de salida

Registro real de una ejecucion en vivo (entrada `{"maxModels": 10, "withDetails": true, "category": "girls"}`). Las listas estan recortadas aqui por legibilidad; el registro real devuelve los arreglos completos.

```json
{
  "username": "Timide_girl17",
  "status": "public",
  "url": "https://stripchat.com/Timide_girl17",
  "id": 142646912,
  "genderGroup": "F",
  "broadcastGender": "group",
  "country": "fr",
  "viewersCount": 1688,
  "isLive": true,
  "isHd": true,
  "isLovense": true,
  "streamWidth": 720,
  "streamHeight": 960,
  "privateRate": 90,
  "spyRate": 24,
  "p2pRate": 120,
  "name": "Timide",
  "age": 39,
  "birthDate": "1987-05-30",
  "languages": ["fr"],
  "bodyType": "bodyTypeAverage",
  "hairColor": "hairColorColorful",
  "eyeColor": "eyeColorBrown",
  "specifics": ["specificSmallTits", "specificTrimmed"],
  "interests": ["anal", "bdsm", "blowjob", "dancing", "squirt"],
  "publicActivities": ["doOutdoor", "doFlashing", "doSquirt"],
  "isPornStar": false,
  "favoritedCount": 149144,
  "groupRate": 60,
  "ticketRate": 44,
  "twitter": "https://x.com/Timide_girll",
  "instagram": "https://www.instagram.com/officieltimide_girl17",
  "tags": ["tagLanguageFrench", "european", "couples", "autoTagHd", "autoTagLovense"],
  "tipMenu": [{ "activity": "PM send/check", "price": 25 }, { "activity": "NAKED", "price": 400 }],
  "topic": "Ne soit pas timide fait moi mouiller",
  "goal": { "description": "Tape fort + fist et gode", "goal": 2500, "spent": 1452, "left": 1048, "isEnabled": true },
  "streamName": "142646912",
  "isCamAvailable": true,
  "broadcastSchedule": { "nearest": { "day": "sun", "period": [14400, 32400] } },
  "observedAt": "2026-09-06T08:11:48.020Z",
  "error": null
}
```

### Comparacion de scrapers de Stripchat

| Capacidad | Este actor | Actores de descarga de video |
|---|---|---|
| Listado del directorio de modelos en linea | Si, grilla paginada completa | No, solo URL de un video o sala |
| Filtros de categoria, pais, HD, nuevo, en vivo, minimo de espectadores | Si | No |
| Metadatos de perfil por modelo (edad, idiomas, etiquetas, intereses) | Si, 73 campos | No |
| Conteo de espectadores, ranking, HD, tarifas en tokens | Si | No |
| Menu de propinas publico y actividades del show | Si | No |
| Perfiles sociales (Twitter/X, Instagram) | Si | No |
| Deduplicacion entre paginas | Si | No aplica |
| Descarga o graba contenido multimedia | No, solo metadatos por diseno | Si |
| Requiere API key o login | No | Varia, algunos necesitan cookie |

Los actores de Stripchat en la tienda son descargadores de video que toman una URL y devuelven un archivo multimedia. Este actor es un scraper de metadatos y analitica: descubre todo el directorio en linea y devuelve datos estructurados por modelo. Es un superconjunto estricto en la dimension de metadatos y de forma intencional no toca contenido multimedia.

### Ejecutar via API y CLI

Inicia una ejecucion y espera a que termine, luego lee el dataset. Reemplaza `<TOKEN>` con tu token de API de Apify.

Ejecucion sincronica que devuelve los items del dataset en una sola llamada:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~stripchat-scraper/run-sync-get-dataset-items?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"maxModels":10,"category":"girls","country":"us","withDetails":true}'
```

Iniciar una ejecucion de forma asincronica:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~stripchat-scraper/runs?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"maxModels":100,"category":"couples","onlyHd":true}'
```

Apify CLI:

```bash
apify call scrapers_lat/stripchat-scraper \
  --input '{"maxModels":10,"category":"trans"}'
```

### Obtener resultados

Cada ejecucion escribe en un dataset. Obten los items como JSON, CSV o Excel cambiando `format`:

```bash
## JSON
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=json"

## CSV
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=csv"

## Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&offset=1000&limit=1000"
```

`<DATASET_ID>` se devuelve como `defaultDatasetId` en el objeto de la ejecucion. Usa `offset` y `limit` para paginar conjuntos grandes de resultados. `clean=true` descarta campos vacios e internos.

### Facturacion y limites

- **Pago por resultado.** Se cobra por modelo devuelto (evento `result`). Los detalles del perfil son un complemento aditivo `details`, cobrado solo por los modelos cuyo perfil se obtiene con exito, y solo para planes de pago de Apify. Consulta la [pestana de precios](https://apify.com/scrapers_lat/stripchat-scraper/pricing) para los precios actuales.
- **Sin cobro en caso de fallo.** Si una ejecucion falla, el actor escribe un solo item con el campo `error` completo y no lo cobra. Las ejecuciones vacias no cuestan nada.
- **Limite de gasto respetado.** Configura `maxTotalChargeUsd` en la ejecucion; una vez alcanzado, el actor deja de emitir y cobrar mas resultados facturables.
- **Los planes gratuitos de Apify** estan limitados a 10 modelos por ejecucion y se ejecutan solo con listado. Mejora tu plan para un `maxModels` mayor y detalles de perfil.

### Preguntas frecuentes y solucion de problemas

**Una ejecucion devolvio 0 registros. Por que?**
Tu combinacion de filtros no coincidio con ningun modelo en linea en ese momento (por ejemplo un `country` poco comun con `onlyHd` y `onlyNew` activados). Afloja los filtros y vuelve a ejecutar. Las ejecuciones con cero resultados no se cobran.

**Como obtengo mas campos por modelo?**
Manten `withDetails` activado en un plan de pago de Apify. Agrega edad, idiomas, atributos fisicos, intereses, favoritos, etiquetas, menu de propinas, actividades del show, tarifas en tokens y perfiles sociales.

**Puedo recopilar salas de couples, men o trans?**
Si. Configura `category` en `couples`, `men` o `trans`.

**Por que `name`, `age` o `twitter` son null?**
O bien `withDetails` estaba desactivado, o la modelo no publica ese valor en su perfil publico. Los valores ausentes en la fuente se devuelven como `null`, nunca inventados.

**Descarga videos o transmisiones?**
No. Este actor devuelve solo metadatos. Nunca descarga ni graba contenido multimedia.

**Es una herramienta oficial de Stripchat?**
No. Este actor es independiente y no tiene afiliacion con Stripchat. Lee solo datos que estan disponibles publicamente en el directorio de la plataforma y en las paginas de perfil publico.

### Mas scrapers en scrapers.lat

Creado y mantenido por [scrapers.lat](https://scrapers.lat), donde publicamos scrapers para plataformas publicas de Estados Unidos y America Latina: registros de empresas, datos de gobierno, finanzas, comercio electronico y mas. Explora el catalogo o solicita un scraper personalizado en [scrapers.lat](https://scrapers.lat).

***

> Herramienta independiente, sin afiliacion con Stripchat. Accede solo a datos disponibles publicamente del directorio y de los perfiles.

# Actor input Schema

## `maxModels` (type: `integer`):

Maximum number of online models to collect. Optional.

## `withDetails` (type: `boolean`):

When enabled, the scraper opens each model's public profile to add name, age, languages, body attributes, interests, room topic, favorites count, room tags, the public tip menu, show activities, token rates and any social media handles (Twitter/X, Instagram and more) the model links. Disable for a faster listing-only run. Detail enrichment is a paid add-on and runs for paid Apify plans only.

## `category` (type: `string`):

Which public directory to scrape.

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

Optional ISO 3166 two letter country code to keep only models broadcasting from that country (for example us, co, ro, fr). Leave empty for all countries.

## `onlyHd` (type: `boolean`):

Keep only models streaming in HD.

## `onlyNew` (type: `boolean`):

Keep only models flagged as new on the platform.

## `onlyLive` (type: `boolean`):

Keep only models whose room is currently live broadcasting.

## `minViewers` (type: `integer`):

Keep only rooms with at least this many current viewers. Leave empty for no minimum.

## `proxyConfiguration` (type: `object`):

Optional proxy. The scraper works from a direct connection; enable a proxy (residential recommended) only if you need to run from a specific country or at higher volume.

## Actor input object example

```json
{
  "maxModels": 10,
  "withDetails": true,
  "category": "girls",
  "onlyHd": false,
  "onlyNew": false,
  "onlyLive": false,
  "proxyConfiguration": {
    "useApifyProxy": 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 = {
    "maxModels": 10,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/stripchat-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 = {
    "maxModels": 10,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/stripchat-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 '{
  "maxModels": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapers_lat/stripchat-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/stripchat-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/uSpHhlKs24ciqFwwH/builds/8ztGMKgB3n4NfPgfi/openapi.json
