# 18vr Video Downloader | How to Download 18vr Videos (`serpdownloaders/18vr-downloader`) Actor

Keep 18vr scenes for offline viewing by saving them in the desktop browser where you already watch, and skip the separate downloader website.

- **URL**: https://apify.com/serpdownloaders/18vr-downloader.md
- **Developed by:** [SERP Downloaders](https://apify.com/serpdownloaders) (community)
- **Categories:** Videos, Automation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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/actors/running/actors-in-store.md#pay-per-usage

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

## 18vr Video Downloader | How to Download 18vr Videos

Keep 18vr scenes for offline viewing by saving them in the desktop browser where you already watch, and skip the separate downloader website.

Once a supported 18vr scene is open and its player has finished loading, the extension scans the page for video sources and shows you what it found. Everything takes place in the tab you are already using, so no second tab or outside tool gets involved.

### Get it Here

👉 Get it here: [18vr Downloader](https://serp.ly/18vr-downloader?via=apify)

- ✅ Saved videos go straight to your device and are never routed through any server of ours
- ✅ The extension carries no advertising, tracking or analytics
- ✅ Linux, Mac and Windows desktops are all supported

### Preview

![18vr Downloader](https://apps.serp.co/media/optimized-products/18vr-downloader-ready-state-667bf312a9.webp)

### How It Works

1. **Head to the scene**: Browse to the 18vr page that holds the video you want to keep and wait for it to load the way it always does.
2. **Spot the source**: Launch the extension and it checks the page for an available video source, then offers a download option tied to that page.
3. **Select a format and save**: Open the dropdown of formats, choose from the file options offered, and the completed video lands on your device.

### What It Does

- A single click sends the video you are viewing onto your own device.
- The extension adds a download button to the video page, which means you can kick things off right where you are watching.
- The extension's toolbar popup brings the same download action within easy reach whenever you need it.
- Only one video can be downloaded at once, so the extension stays tied to the scene on your screen.
- The file itself is written by the download manager that comes with your browser, and its status shows up in the same list your browser uses for any other download.
- Each saved file is filed into a folder reserved for 18vr, which keeps your library in order.

### 18vr Downloader vs. Separate Online Downloader Site

Rather than bouncing between sites, you trigger the download from inside the page you are already on, using either the on-page button or the toolbar popup.

| 18vr Downloader | Separate Online Downloader Site |
| --- | --- |
| Your starting point is a button that shows up inside the 18vr page itself. | Nothing is added to the page, which sends you elsewhere to begin. |
| The extension's toolbar popup works as a shortcut you can use anytime. | Starting means copying the page link and handing it to a different site. |
| The video you currently have open is the one it acts on. | Once a link is submitted elsewhere, the surrounding player context can be missing. |
| File saving is handed to the manager that is part of your browser. | Handling of the download is up to whatever system the third-party site runs. |
| Each saved file is filed into its own 18vr folder, which helps keep your library in order. | Where the file ends up, and what it is called, is the website's decision. |

### Compatibility

**Browsers:** Chrome, Firefox, Edge, Brave, Opera, Whale, Yandex

**Works with:**

- Scene pages on 18vr
- MP4 or HLS sources, whichever the page exposes
- Yandex, Whale, Opera, Brave, Firefox, Edge and Chrome on the desktop
- Video served from the related p.badoinkvr domains whenever the page uses them

**Out of scope:**

- Streams that are protected
- Headset synchronization for VR
- Turning a file into another stereoscopic or projection type
- Mobile browsers, as well as Safari

### FAQ

**What do I do to begin saving a video from 18vr?**
Go to a supported 18vr scene page and wait until the player is ready. A download button will be shown on the page. Press it, and the extension locates the video source, after which your browser takes over through its standard downloads system and stores the file.

**Which file types does it save?**
The extension works with the MP4 streams that come from 18vr while a video is being played. The file is saved as an MP4 in its original form, with no conversion step, so it is identical to the version the site serves.

**Where will my saved videos end up?**
Inside your browser's default download location, a folder reserved for 18vr holds every saved file. Because everything is grouped together, finding a video later for offline viewing is simple.

**Is it possible to save several videos in parallel?**
No. Downloads are limited to one video at a time, which keeps the process uncomplicated and means your browser's downloads aren't overwhelmed.

### Know Before You Use It

- Nothing can be saved unless the open page exposes a source the extension is able to use.
- Sometimes the player has to finish initializing before anything is detected.
- The 18vr player sets which quality levels are on offer.
- Access restrictions stay in place, and no VR conversion step is included.

> Only download videos you own or have permission to save.

# Actor input Schema

## Actor input object example

```json
{}
```

# 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("serpdownloaders/18vr-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("serpdownloaders/18vr-downloader").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 serpdownloaders/18vr-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,serpdownloaders/18vr-downloader"
        }
    }
}
```

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/KFXkM9HWffhbLoO7N/builds/Ee5WatQnhtSLtNKcU/openapi.json
