# StripchatVR Video Downloader | Download StripchatVR Videos (`serpxxx/stripchat-vr-downloader`) Actor

StripchatVR Downloader helps users save accessible videos for authorized offline viewing.

- **URL**: https://apify.com/serpxxx/stripchat-vr-downloader.md
- **Developed by:** [SERP XXX](https://apify.com/serpxxx) (community)
- **Categories:** Videos, Automation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## StripchatVR Video Downloader | How to Download StripchatVR Videos

> Record Stripchat VR live streams and download saved VR videos as MP4 with playback-friendly metadata preserved where available.

### Get it Here

Get it here: https://serp.ly/stripchat-vr-video-downloader

![StripchatVR Downloader](https://raw.githubusercontent.com/serpxxx/stripchat-vr-downloader/main/assets/workflow-preview.webp)

StripchatVR Downloader is a browser extension built for immersive video workflows. It helps you keep Stripchat VR live sessions and saved recordings available offline, while preserving useful VR playback details when the source exposes them. The result is a simpler browser-based path from live room to local MP4 file.

- Record Stripchat VR live sessions before they disappear
- Download saved VR recordings from supported model pages
- Preserve useful VR playback metadata when the source provides it
- Choose from the stream qualities exposed on the page
- Save MP4 files for easier playback on standard players and compatible VR setups
### Table of Contents

- [Why StripchatVR Downloader](#why-stripchatvr-downloader)
- [Features](#features)
- [How It Works](#how-it-works)
- [Step-by-Step Tutorial: How to Download Videos from StripchatVR](#step-by-step-tutorial-how-to-download-videos-from-stripchatvr)
- [Supported Formats](#supported-formats)
- [Who It's For](#who-its-for)
- [Common Use Cases](#common-use-cases)
- [Troubleshooting](#troubleshooting)
- [Trial & Access](#trial--access)
- [Installation Instructions](#installation-instructions)
- [FAQ](#faq)
- [Notes](#notes)
- [About StripchatVR](#about-stripchatvr)

### Why StripchatVR Downloader

VR platforms are harder to save from than ordinary video sites. Live sessions end, generic tools often miss the stream entirely, and even successful captures can be frustrating later if the useful VR playback details are missing once the file leaves the platform.

StripchatVR Downloader is built around that problem. It focuses on Stripchat VR pages, detects supported live and saved VR media, and exports local MP4 files while preserving VR-related playback details when they are available from the source.

### Features

- Live VR stream recording with start and stop controls
- Saved recording downloads from supported Stripchat VR pages
- VR metadata preservation when the source exposes compatible details
- Quality selection for available stream variants
- In-page controls on supported player pages
- Popup workflow for starting and managing captures
- Right-click access for a faster browser workflow
- MP4 output for easier offline viewing and transfer
- Automatic saving into a dedicated STRIPCHATVR folder
- Cross-browser support for Chrome, Edge, Brave, Opera, Firefox, Whale, and Yandex

### How It Works

1. Install the extension from the latest release.
2. Open Stripchat VR and go to a live room or saved recording page.
3. Start playback so the extension can detect the stream.
4. Open the popup or use the on-page controls.
5. Choose the quality or stream option you want.
6. Record the live session or download the saved recording.
7. Save the final MP4 file locally.

### Step-by-Step Tutorial: How to Download Videos from StripchatVR

1. Install StripchatVR Downloader from the latest GitHub release.
2. Open Stripchat VR and sign in if the page requires account access.
3. Visit the live room or saved VR page you want to keep.
4. Let the player load fully and press play.
5. Click the extension button or the on-page control.
6. Review the qualities detected for that stream.
7. For live sessions, start recording and stop it when the room is finished.
8. For saved recordings, click download and wait for the MP4 export to complete.
9. Open the finished file from your Downloads folder or move it to your preferred VR playback setup.

### Supported Formats

- Input: Stripchat VR live streams
- Input: Stripchat VR saved recordings
- Output: MP4

Saved files use MP4 for easier offline playback. When Stripchat VR exposes useful VR playback data, the extension keeps those details to make local viewing more consistent.

### Who It's For

- Stripchat VR viewers who want to keep live immersive sessions
- Users who want offline access to saved VR recordings
- VR viewers who care about preserving playback-friendly metadata
- People building a local archive of content they are allowed to keep
- Anyone who wants a browser-based workflow instead of manual stream capture tools

### Common Use Cases

- Record a Stripchat VR live session for later playback
- Download a saved VR recording from a model page
- Keep local files for compatible headset playback
- Preserve useful VR playback details when the source provides them
- Save content before it rotates out or becomes unavailable

### Troubleshooting

**The extension is not detecting the stream**  
Press play first and wait a few seconds so the media has time to initialize.

**The page control is missing**  
Open the extension popup directly. Some supported pages work better through the popup UI.

**The saved file plays like a normal video**  
That usually means the source did not expose VR-specific playback metadata for that stream.

**The recording stopped early**  
Check whether the live session ended or your internet connection dropped during capture.

**The page requires login or paid access**  
The extension only works on media you can already access in your active browser session.

### Trial & Access

- Includes **3 free captures** so you can test the workflow first
- Email sign-in uses secure one-time password verification
- No credit card required for the trial
- Unlimited captures are available with a paid license

Start here: [https://serp.ly/stripchat-vr-video-downloader](https://serp.ly/stripchat-vr-video-downloader)

### Installation Instructions

1. Open the latest release page:
   [https://github.com/serpxxx/stripchat-vr-downloader/releases/latest](https://github.com/serpxxx/stripchat-vr-downloader/releases/latest)
2. Download the extension build for your browser.
3. Install the extension.
4. Open Stripchat VR and navigate to a live room or saved recording.
5. Use the extension controls to start recording or downloading.

### FAQ

**Can I record Stripchat VR live streams?**  
Yes. Active Stripchat VR rooms can be recorded while they are streaming.

**Can I download saved recordings too?**  
Yes. The extension supports saved Stripchat VR videos on supported pages.

**Does it preserve VR metadata?**  
Yes, when the source exposes compatible VR playback details.

**What file format do downloads use?**  
Videos are saved as MP4 files.

**Where are videos saved?**  
They are saved to your default Downloads location, typically inside a STRIPCHATVR subfolder.

**Do I need extra software?**  
No. Everything runs through the browser extension.

### License

This repository is distributed under the proprietary SERP Apps license in the [LICENSE](https://github.com/serpxxx/stripchat-vr-downloader/blob/main/LICENSE) file. Review that file before copying, modifying, or redistributing any part of this project.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for live capture and downloads
- Live recording only works while the broadcaster is actively streaming
- Some pages may require account access or paid access
- VR metadata preservation depends on what Stripchat VR exposes for that stream

### About StripchatVR

Stripchat VR is built around immersive live and recorded video. That makes offline saving more complex than ordinary video platforms because playback details matter once the file leaves the site. StripchatVR Downloader was built to simplify that workflow inside the browser for users who already have legitimate access to the content.

# Actor input Schema

## `listingNotice` (type: `string`):

Optional informational field only. This actor currently serves as the public listing surface for the browser extension and does not yet expose a finalized runtime API contract.

## Actor input object example

```json
{
  "listingNotice": "No runtime input is required yet. See the README and product page for the current extension workflow."
}
````

# 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("serpxxx/stripchat-vr-downloader").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("serpxxx/stripchat-vr-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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 serpxxx/stripchat-vr-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=serpxxx/stripchat-vr-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "StripchatVR Video Downloader | Download StripchatVR Videos",
        "description": "StripchatVR Downloader helps users save accessible videos for authorized offline viewing.",
        "version": "0.0",
        "x-build-id": "fUyMdRyaMIlQCivVW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/serpxxx~stripchat-vr-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-serpxxx-stripchat-vr-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/serpxxx~stripchat-vr-downloader/runs": {
            "post": {
                "operationId": "runs-sync-serpxxx-stripchat-vr-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/serpxxx~stripchat-vr-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-serpxxx-stripchat-vr-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "listingNotice": {
                        "title": "Listing notice",
                        "type": "string",
                        "description": "Optional informational field only. This actor currently serves as the public listing surface for the browser extension and does not yet expose a finalized runtime API contract.",
                        "default": "No runtime input is required yet. See the README and product page for the current extension workflow."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
