# Drtuber Video Downloader | How to Download Drtuber Videos (`serpxxx/drtuber-video-downloader-how-to-download-drtuber-videos`) Actor

- **URL**: https://apify.com/serpxxx/drtuber-video-downloader-how-to-download-drtuber-videos.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, 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/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

## Drtuber Video Downloader | How to Download Drtuber Videos

> Download DrTuber videos in your browser — fast, private, and straightforward.

### Get it Here

Get it here: https://serp.ly/coming-soon-extensions

![Drtuber Downloader](https://apps.serp.co/media/optimized-products/drtuber-downloader-homescreen-671c94f9c3.webp)

Drtuber Downloader is a browser extension that helps you save videos from DrTuber without switching to copy-paste downloader sites or terminal tools. Open a supported video page, start playback if needed, and use the player button, popup, or context menu to download. The extension finds playable media from page markup, scripts, and player sources, then presents usable download options in a clean browser workflow.

- Download DrTuber videos directly from your browser with no external tools
- Player button, popup, and right-click menu for starting downloads
- Detects direct MP4 files and HLS-style streams when available
- Quality selection when resolution clues are present
- In-page download progress and organized file saving
### Table of Contents

- [Why Drtuber Downloader](#why-drtuber-downloader)
- [Features](#features)
- [How It Works](#how-it-works)
- [Step-by-Step Tutorial: How to Download Videos from Drtuber](#step-by-step-tutorial-how-to-download-videos-from-drtuber)
- [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)
- [License](#license)
- [Notes](#notes)
- [About Drtuber](#about-drtuber)

### Why Drtuber Downloader

Right-clicking a video on DrTuber often saves a thumbnail or ad asset instead of the real media file. The page may rely on player layers, indirect URLs, or stream-based sources that generic browser save commands cannot handle. Many users end up searching for third-party downloader sites or digging through network request logs to find the actual video.

Drtuber Downloader solves this by watching the DrTuber page for real media candidates. It checks the page markup, metadata, scripts, performance entries, and related player documents to find usable video sources. The result is a cleaner workflow: open a video, start playback, and download through a player button, popup, or context menu without leaving the page.

### Features

- Player download button on supported DrTuber video pages
- Popup interface for detecting and downloading media
- Right-click context menu entry on page and video elements
- Direct MP4 detection when the page exposes a final file URL
- HLS stream detection and processing for player-based sources
- Quality ordering when resolution clues are available from the page
- In-page download progress manager showing active downloads
- Organized DrTuber download folder for saved files

### How It Works

1. Install the extension from the latest release.
2. Open Drtuber and go to a supported video page.
3. Start playback so the extension can detect the media.
4. Open the popup or use the on-page controls.
5. Choose the quality option you want.
6. Start the download and wait for the MP4 export to finish.
7. Save the final file locally.

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

1. Install the Drtuber Downloader extension from the latest GitHub release.
2. Open your browser and navigate to a Drtuber video page you want to save.
3. Press play on the video player to initialize the stream.
4. Look for the download button that appears on the player interface.
5. Alternatively, click the extension popup icon to see detected formats.
6. Right-click anywhere on the page and select "Download DrTuber Video" from the context menu.
7. Choose your preferred quality from the available options.
8. Click download and wait for the file to save to your DrTuber folder.

### Supported Formats

- Input: Direct MP4 URLs, HLS stream manifests, and player-based sources detected from Drtuber pages
- Output: MP4

Saved files use MP4 so they are easier to replay on standard media players, move between devices, or archive locally.

### Who It's For

- Drtuber viewers who want to save videos for offline playback
- Users who prefer browser-based download tools over terminal commands or third-party sites
- People who want download controls directly on the video page
- Anyone looking for a straightforward extension workflow instead of manual page-source inspection

### Common Use Cases

- Save a Drtuber video to watch later without an internet connection
- Archive a favorite video to a local folder for personal backup
- Transfer a downloaded video to another device for offline viewing
- Avoid relying on copy-paste downloader sites that require extra steps
- Use the player-level download button instead of hunting through network requests

### Troubleshooting

**No download options appear**
Refresh the page and make sure the video is playing. Some Drtuber pages need playback to start before the media source becomes available.

**The player button does not show**
Check that you are on a supported Drtuber video page. Try using the extension popup or right-click menu as alternative entry points.

**Download fails or stops partway**
Check your internet connection and try again. If the issue persists, refresh the page and restart playback before attempting the download.

**Quality options are limited**
Available qualities depend on what the Drtuber page and player expose. Not all videos have multiple resolution options.

**Files save to the wrong folder**
The extension uses a DrTuber download folder by default. Check your browser download settings if files are not appearing where expected.

### Trial & Access

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

Start here: [https://serp.ly/coming-soon-extensions](https://serp.ly/coming-soon-extensions)

### Installation Instructions

1. Open the latest release page: [GitHub Releases](https://github.com/serpcompany/drtuber-downloader/releases/latest)
2. Download the correct build for your browser.
3. Install the extension.
4. Open a supported Drtuber page.
5. Use the popup to detect and download the media.

### FAQ

**How do I download a video from Drtuber?**
Open a supported Drtuber page, press play if necessary, then use the player download button, the extension popup, or the right-click menu.

**Does it only work with direct MP4 files?**
No. The extension can also handle HLS-style streams and player-based sources when those are what the page exposes.

**Will I always see multiple quality choices?**
Not always. Quality options depend on what the page and player expose. The extension sorts usable options when resolution clues are available.

**Do I need to press play first?**
Often yes. Playback or player initialization can reveal the final media URLs that the extension needs to detect.

**Where do files save?**
The extension uses a DrTuber download folder for organized file saving. Check your browser download settings for the exact location.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- Start playback on the DrTuber page before trying to download
- Available quality and format options vary by video

### License

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

### About Drtuber

Drtuber is a video sharing platform that hosts a large library of adult content. Drtuber Downloader gives users a simpler browser-based way to save videos from the platform without relying on external tools or manual page inspection.

# Actor input Schema



## Actor input object example

```json
{}
````

# 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/drtuber-video-downloader-how-to-download-drtuber-videos").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/drtuber-video-downloader-how-to-download-drtuber-videos").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/drtuber-video-downloader-how-to-download-drtuber-videos --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Drtuber Video Downloader | How to Download Drtuber Videos",
        "description": null,
        "version": "0.0",
        "x-build-id": "ZvZ1lFmHJpUa9EbKD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/serpxxx~drtuber-video-downloader-how-to-download-drtuber-videos/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-serpxxx-drtuber-video-downloader-how-to-download-drtuber-videos",
                "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~drtuber-video-downloader-how-to-download-drtuber-videos/runs": {
            "post": {
                "operationId": "runs-sync-serpxxx-drtuber-video-downloader-how-to-download-drtuber-videos",
                "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~drtuber-video-downloader-how-to-download-drtuber-videos/run-sync": {
            "post": {
                "operationId": "run-sync-serpxxx-drtuber-video-downloader-how-to-download-drtuber-videos",
                "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": {}
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
