# Adultdvdmovies Video Downloader (`serpxxx/adultdvdmovies-video-downloader`) Actor

- **URL**: https://apify.com/serpxxx/adultdvdmovies-video-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

## Adultdvdmovies Video Downloader | How to Download Adultdvdmovies Videos

> Archive supported AdultDVDMovies movie pages when exposed MP4/HLS media appears on AdultDVDMovies or bkcdn.net hosts.

### Get it Here

Get it here: https://serp.ly/adultdvdmovies-downloader

![Adultdvdmovies Downloader](https://apps.serp.co/media/optimized-products/adultdvdmovies-downloader-homescreen-adult-fadc5182da.webp)

Adultdvdmovies Downloader is a browser extension built for AdultDVDMovies full-movie catalog pages. It works from the exact title-page URL, watching for direct MP4 or HLS media that the page or its CDN hosts expose to the browser. The extension organizes downloads into a dedicated AdultDVDMovies folder and provides quality options based on what the page reveals.

- Works from AdultDVDMovies full-movie watch pages with long-slug URLs
- Detects exposed MP4 and HLS/M3U8 candidates from AdultDVDMovies and bkcdn.net hosts
- Saves files into an organized AdultDVDMovies download folder
- Includes 3 free trial downloads with no credit card required
- Offers player-area controls and toolbar access for easy downloads
### Table of Contents

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

### Why Adultdvdmovies Downloader

AdultDVDMovies organizes its content as full-movie catalog entries with long-slug watch page URLs. The actual media often comes from a separate CDN host like bkcdn.net, making it inconvenient to save content for later viewing. Without a dedicated tool, users must manually inspect page sources or rely on generic video downloaders that may not understand the site's structure.

Adultdvdmovies Downloader bridges this gap by working directly from the movie page. It watches for media that the embedded player or CDN hosts expose to the browser, then presents available options in a clean interface. The extension handles the CDN detection and file organization so you can focus on choosing the quality you want and saving the file.

### Features

- Works from AdultDVDMovies full-movie watch pages with long-slug URL patterns
- Detects direct MP4 and HLS/M3U8 media candidates when exposed by the page or CDN
- CDN-aware host coverage for adultdvdmovies.com, bkcdn.net, and z6v2p9a8.bkcdn.net variants
- Player-area download control placed near the embedded video player
- Saves files into a dedicated AdultDVDMovies folder for organized storage
- Quality selection based on detected resolution and source metadata
- OTP email verification for secure account access
- 3 free trial downloads to test the workflow before purchasing

### How It Works

1. Install the extension from the latest release.
2. Open AdultDVDMovies 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 Adultdvdmovies

1. Open the latest release page and download the extension build for your browser.
2. Install the extension using your browser's extension management tools.
3. Navigate to AdultDVDMovies and find a full-movie watch page with a URL like 
4. Allow the page to load completely and start playback if the embedded player does not expose media immediately.
5. Look for the download button in the player area or click the extension icon in your toolbar.
6. Review the detected media candidates displayed in the extension interface.
7. Select the quality option you want to download.
8. Click the download button and wait for the file to save to your AdultDVDMovies folder.

### Supported Formats

- Input: Direct MP4 and HLS/M3U8 media candidates exposed by AdultDVDMovies pages or CDN hosts including adultdvdmovies.com, bkcdn.net, and z6v2p9a8.bkcdn.net variants
- 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

- AdultDVDMovies users who browse full-movie catalog pages and want to save content for offline viewing
- Users who need organized downloads with site-specific folder naming
- People who prefer working from the movie page rather than pasting URLs into separate tools
- Archivists who want to preserve longer DVD-style content with CDN-backed media

### Common Use Cases

- Saving a supported AdultDVDMovies full-movie title page for offline playback
- Capturing CDN-backed stream candidates from bkcdn.net hosts
- Keeping longer session content organized under a dedicated AdultDVDMovies folder
- Choosing among available quality variants when multiple resolutions are exposed
- Starting from the exact AdultDVDMovies watch URL pattern instead of manually inspecting player scripts

### Troubleshooting

**No download options appear**
Ensure the page has fully loaded and start playback if the player does not expose media immediately. Some pages require the player to initialize before CDN requests become visible.

**The extension does not detect any media**
Not every AdultDVDMovies page exposes media in a detectable format. The extension works with direct MP4 and HLS candidates that the page or CDN reveals to the browser.

**Downloads fail or stop mid-way**
Check your internet connection and ensure you have enough storage space. Large full-movie files may take longer to download.

**The download button does not appear on the player**
Try refreshing the page and starting playback again. The extension attaches to the player area after the page has loaded.

**Quality options are limited**
The extension can only show quality options based on what the page and CDN expose. Resolution labels appear only where height or source metadata is available.

### 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/adultdvdmovies-downloader](https://serp.ly/adultdvdmovies-downloader)

### Installation Instructions

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

### FAQ

**How do I download an AdultDVDMovies full-movie page?**
Open a supported AdultDVDMovies title page, start playback if required, and review the extension interface for exposed MP4 or HLS candidates. Downloading depends on what the page and CDN reveal to the browser.

**Which domains does this extension work with?**
The extension includes host coverage for adultdvdmovies.com, subdomains, bkcdn.net, subdomains, and z6v2p9a8.bkcdn.net variants.

**Does it always find an MP4 file?**
No. The extension can normalize direct MP4 candidates when exposed, and HLS candidates when exposed, but not every page reveals media in a detectable format.

**What quality options are available?**
Quality choices depend on visible source variants. Labels can use detected height or URL metadata only where those clues exist.

**Where are downloads saved?**
Files are organized into an AdultDVDMovies folder using the extension's default save location.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- Some AdultDVDMovies pages may require playback before media becomes visible to the extension
- The extension works with direct MP4 and HLS candidates that the page or CDN exposes

### License

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

### About Adultdvdmovies

AdultDVDMovies is a full-movie catalog site that organizes adult content as DVD-style title pages with long-slug watch URLs. The site uses CDN-backed playback through hosts like bkcdn.net, which this extension is designed to work with when media is exposed to the browser.

# 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/adultdvdmovies-video-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/adultdvdmovies-video-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/adultdvdmovies-video-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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