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

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

## Anyporn Video Downloader | How to Download Anyporn Videos

> Save available videos from AnyPorn with a browser-based workflow built for category discovery, numeric detail pages, and player-level access.

### Get it Here

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

![Anyporn Downloader](https://apps.serp.co/media/optimized-products/anyporn-downloader-homescreen-f13aa22e12.webp)

Anyporn Downloader is a browser extension that gives you a straightforward path from browsing AnyPorn to saving video files locally. Instead of forcing you to land on one specific page type, this tool works from category pages, numeric detail pages, and other matched AnyPorn pages so you can start from wherever you already are. The extension inspects page metadata and player elements to detect media candidates, then lets you download them as MP4 files through a simple in-browser workflow.

- Broad AnyPorn match coverage across root, www, and subdomains
- Player button targets the known video wrapper for easy access
- Compact selector set for title, video, and thumbnail discovery
- Offscreen defaults point to an organized AnyPorn folder
- Three free downloads to test the workflow before committing
- No manual source hunting required
### Table of Contents

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

### Why Anyporn Downloader

Anyporn is a video platform where content is organized into category pages and detail pages with numeric URLs. This structure means a user might start browsing from a broad category like HD videos, then click through to a specific detail page to watch. The problem is that the media file itself is often hidden behind the player rather than exposed as a simple link you can save directly.

Anyporn Downloader solves this by working with how people actually browse the site. You can start from a category page, land on a numeric detail page, or open any other matched page, and the extension will inspect the page for media candidates. It reads video sources from common metadata tags and page elements, then gives you a download button on the player wrapper so you can save the file without digging through source code or using third-party tools.

### Features

- Broad AnyPorn match coverage across root, www, and subdomains
- Works with category-led discovery and bare numeric detail-page workflows
- Player button targets the known video wrapper for one-click access
- Compact selector set for title, video, and thumbnail discovery
- Shared content stack includes download manager and player button scripts
- Offscreen defaults point to an AnyPorn folder with correct referer and origin values
- Three free downloads included for testing the workflow
- No manual page inspection required to find video sources

### How It Works

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

1. Open your browser and navigate to any AnyPorn page that contains a video. This could be a category page like `/categories/hd/` or a numeric detail page like `/768448/`.
2. Make sure the extension is installed and active. You should see the extension icon in your browser toolbar.
3. Start playing the video on the page. The extension needs the player to be active to detect available media sources.
4. Look for the download button that appears on or near the video player wrapper. This button is placed automatically by the extension.
5. Click the download button to open the extension popup or trigger the download workflow.
6. Review the detected media information including the video title and available quality options.
7. Select your preferred quality and click the download button to start saving.
8. Wait for the download to complete. The file will be saved to your default downloads folder inside an AnyPorn subfolder.

### Supported Formats

- Input: Video sources detected from page metadata tags, video elements, and Open Graph properties
- 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

- AnyPorn users who want a simple browser workflow for saving available videos
- Users who move from category pages into numeric detail pages and do not want manual source hunting
- People who prefer browser extensions over standalone downloader applications
- Users who want organized downloads with dedicated folder structure

### Common Use Cases

- Starting on a category page like `/categories/hd/` and moving into a supported video page
- Opening a bare numeric AnyPorn detail URL such as `/768448/` and downloading directly
- Using the in-page player button on the known player wrapper
- Detecting video candidates from page media tags and metadata selectors
- Keeping downloads organized under an AnyPorn folder when the offscreen flow saves files

### Troubleshooting

**The download button does not appear on the video page**
Make sure the video player is loaded and playing. The extension needs the player element to be present in the page before it can attach the download button.

**The extension cannot detect any video sources**
Not every matched page guarantees a usable stream. Try a different video page, especially one with a numeric detail URL pattern.

**Downloads fail or produce incomplete files**
Check your internet connection and make sure the video is fully loaded before starting the download. You can also try refreshing the page and attempting again.

**The extension icon is grayed out**
The extension only activates on pages that match the AnyPorn domain pattern. Verify you are on a valid AnyPorn page.

**Files are not saving to the AnyPorn folder**
The offscreen default folder is set to AnyPorn, but your browser settings may override this. Check your browser download preferences.

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

### Installation Instructions

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

### FAQ

**What pages does this extension target?**
It matches AnyPorn pages including the root domain, www subdomain, and other subdomains. This includes category pages and numeric detail pages.

**Can I start downloading from a category page instead of a video page?**
The extension is designed to work from any matched AnyPorn page, but a video player must be present for media detection to work. Category pages may not have a player until you click through to a specific video.

**Does every matched page guarantee a downloadable video?**
No. The brand angle is that any matched page can be the entry point, not that every page is guaranteed to expose a usable stream.

**Is this extension released and ready for public use?**
Yes, this extension is released and available through GitHub Releases. Download the latest build from the releases page.

**What is the most distinctive page pattern for this extension?**
The supplied sample is a bare numeric detail URL such as `/768448/`. This pattern is common on AnyPorn and works well with the extension workflow.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- The extension works best on numeric detail pages where a video player is present
- Category pages serve as discovery entry points but require clicking through to a video page for downloads

### License

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

### About Anyporn

AnyPorn is a video platform that organizes content into category pages and numeric detail pages for easy browsing. Anyporn Downloader makes it possible to save available videos from these pages using a simple browser extension workflow.

# 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/anyporn-video-downloader-how-to-download-anyporn-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/anyporn-video-downloader-how-to-download-anyporn-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/anyporn-video-downloader-how-to-download-anyporn-videos --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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