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

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

## Amigosporn Video Downloader | How to Download Amigosporn Videos

> Save videos from AmigosPorn permalink pages with a browser button and metadata-based detection.

### Get it Here

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

![Amigosporn Downloader](https://apps.serp.co/media/optimized-products/amigosporn-downloader-homescreen-adult-a1930adacc.webp)

Downloader for AmigosPorn is a browser extension designed for AmigosPorn post pages and matching subdomains. It uses metadata-based detection to find video candidates and provides a player-button control for easy downloading. This is a focused tool for the AmigosPorn domain family rather than a broad all-sites solution.

- Host matching for amigosporn.com, www.amigosporn.com, and subdomains
- Metadata-based title, video, and thumbnail detection
- Player-button attachment on supported pages
- Offscreen folder named AmigosPorn for organized downloads
- Default referer and origin anchored to the main domain
### Table of Contents

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

### Why Amigosporn Downloader

AmigosPorn post pages often display video content through embedded players or metadata tags rather than providing a direct save link. This makes it difficult to store videos locally for offline viewing or personal archiving. Generic downloaders may not recognize the page structure or may fail to detect the media at all.

Amigosporn Downloader solves this by focusing specifically on AmigosPorn permalink pages and their subdomains. It checks common metadata fields like Open Graph tags, page titles, and video source elements to find downloadable content. The extension then attaches a control to the player wrapper, giving you a straightforward way to save the video without navigating away from the page.

### Features

- Host matching for amigosporn.com, www.amigosporn.com, and subdomains
- Generic static-media adapter preset for broad compatibility
- Title detection from og:title, h1, .title, and page title
- Video detection from video[src], video source[src], source[src], og:video, og:video:secure_url, and twitter:player:stream
- Thumbnail detection from og:image and video[poster]
- Player-button container targeting on supported pages
- Offscreen folder named AmigosPorn for organized downloads
- Default referer and origin anchored to the main domain

### How It Works

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

1. Install the extension from the latest release on GitHub.
2. Open your browser and navigate to an Amigosporn post page.
3. Wait for the page to fully load so the player wrapper and metadata are available.
4. Start video playback to trigger media detection.
5. Look for the player-button control attached to the video wrapper.
6. Click the button to open the download options.
7. Select your preferred quality and confirm the download.
8. Save the MP4 file to your local device.

### Supported Formats

- Input: Video sources detected from Amigosporn permalink pages via metadata and embedded player elements
- 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

- Adults who regularly visit Amigosporn and want to save videos for personal use
- Users who prefer a browser-based download workflow over third-party tools
- People who need a focused tool for the Amigosporn domain family rather than a generic downloader
- Reviewers evaluating whether this candidate is ready for real extraction work

### Common Use Cases

- Saving a video from an Amigosporn post page to watch offline later
- Archiving content you have permission to keep for personal reference
- Building a local library of media from Amigosporn permalink pages
- Testing whether a target-verified candidate meets your extraction needs
- Reviewing the current handoff confidence before committing to a release

### Troubleshooting

**The extension does not detect any video on the page.**
Make sure you are on a supported Amigosporn post page and that the page has fully loaded before checking for detection.

**The player-button control does not appear.**
Try refreshing the page and starting video playback again. The button attaches to the configured player wrapper after the page settles.

**Downloads fail or stop partway through.**
Check your internet connection and ensure you have enough free storage space on your device. You may also need to allow download permissions in your browser.

**The extension seems to work on some pages but not others.**
The current candidate is strongest for short post/permalink-style URLs. Pages with different structures may not be supported yet.

**I see a message about missing permissions.**
Review the permissions the extension requests and grant them in your browser settings if you are comfortable with the access needed.

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

### Installation Instructions

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

### FAQ

**Is this extension released?**
The target is verified, but the handoff confidence is short and the extraction path still needs real review on live Amigosporn pages before a production release.

**Which pages are in scope?**
The extension matches amigosporn.com, www.amigosporn.com, and subdomains, with the strongest support for short post/permalink-style URLs.

**What does it look for on the page?**
It checks common title, video, and thumbnail signals including Open Graph tags, page headings, video source elements, and Twitter player stream metadata.

**Where does the button attach?**
The configured player-button container is targeted on supported pages, with a video selector for media detection.

**Why is the status described as a candidate?**
Because while the target is verified, the handoff is only ready-short with short confidence, and the seed candidate uses generated stubs that need real extraction validation.

**What still needs review before release?**
Real extraction validation on live Amigosporn pages, plus confirmation of an actual released repo or build.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- This is a candidate pending review and is not yet production-ready
- Users are responsible for ensuring they have the right to download any content

### License

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

### About Amigosporn

Amigosporn is a platform hosting adult video content organized in post and permalink-style pages. This extension provides a focused download workflow for users who want to save videos they have permission to keep from the Amigosporn domain family.

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

```

## MCP server setup

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

```

## OpenAPI specification

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