# Fpoxxx Video Downloader | How to Download Fpoxxx Videos (`videodownloaders/fpoxxx-video-downloader-how-to-download-fpoxxx-videos`) Actor

- **URL**: https://apify.com/videodownloaders/fpoxxx-video-downloader-how-to-download-fpoxxx-videos.md
- **Developed by:** [videodownloaders](https://apify.com/videodownloaders) (community)
- **Categories:** Videos, Automation, Social media
- **Stats:** 15 total users, 0 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

## Fpoxxx Video Downloader | How to Download Fpoxxx Videos

> Download videos from FPOXXX pages with a browser button, direct media detection, and a clean page-native flow.

### Get it Here

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

![Fpoxxx Downloader](https://apps.serp.co/media/optimized-products/fpoxxx-downloader-homescreen-adult-2e1b0e340f.webp)

FPOXXX Downloader is a browser extension designed for FPOXXX's video detail pages. It detects media candidates directly on the page you are viewing and adds a download button to the video player. The workflow keeps you on the FPOXXX page without needing to copy and paste links into a separate tool.

The extension focuses on FPOXXX's `/video/<id>/<slug>/` detail-page pattern and clean `.xxx` domain identity. It scrapes video sources, Open Graph metadata, and Twitter player streams to find downloadable media. Files are saved through your browser's native download system into a dedicated FPOXXX folder.

- FPOXXX-specific domain matching on `fpo.xxx` and subdomains
- In-page download button attached to the main video player wrapper
- Direct media detection from video tags and social metadata
- Title, video URL, and thumbnail extraction from the current page
- Browser-native save flow with a dedicated FPOXXX download folder
- No account or login required on FPOXXX to use the detection
- Works with the page you are already viewing — no external paste workflow
- Clean, minimal interface that does not clutter the video experience
### Table of Contents

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

### Why Fpoxxx Downloader

FPOXXX video pages display content inside a player that hides the actual media URL. Finding the source file manually requires digging through page source code or using browser developer tools. Most generic downloaders ask you to paste a link into a separate website or application, which breaks the natural browsing flow.

This extension changes that by working directly on the FPOXXX page you are already viewing. It detects video candidates from the page's video elements and social metadata, then adds a download button to the player wrapper. You stay on the same FPOXXX page, press the button, and save the file through your browser. The workflow is built specifically for FPOXXX's detail-page structure and clean `.xxx` domain identity.

### Features

- FPOXXX-specific page matching for `/video/<id>/<slug>/` detail URLs
- Direct media detection from video tags, source elements, and social metadata
- In-page download button attached to the main video player wrapper
- Title and thumbnail extraction from Open Graph tags and page selectors
- Browser-native download flow with a dedicated FPOXXX folder
- Works on `fpo.xxx` and all subdomains including `www.fpo.xxx`
- No external paste-a-link workflow — everything happens on the current page
- Clean interface that does not interfere with normal video playback

### How It Works

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

1. Open your browser and navigate to an FPOXXX video page using a URL that follows the `/video/<id>/<slug>/` pattern.
2. Wait for the page to fully load and the video player to appear on screen.
3. Start playing the video so the player exposes the media source.
4. Look for the download button that appears on the video player wrapper.
5. Click the button to trigger media detection and quality selection.
6. Select your preferred quality option from the available choices.
7. Confirm the download and wait for the file to process.
8. Save the MP4 file to your local device through the browser's download dialog.

### Supported Formats

- Input: Video sources detected from on-page video tags, source elements, Open Graph video fields, and Twitter player stream metadata on FPOXXX detail 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

- FPOXXX visitors who want to save video pages for offline viewing
- Users who prefer a browser-native workflow over external download tools
- People who want a download button integrated directly into the video player
- Anyone looking for a clean, page-specific downloader that matches the FPOXXX domain identity

### Common Use Cases

- Saving a favorite FPOXXX video to watch later without an internet connection
- Archiving FPOXXX content locally for personal backup purposes
- Transferring FPOXXX videos to another device for offline playback
- Keeping a local copy of FPOXXX content that may be removed from the platform
- Using the in-page button instead of manually extracting video URLs from source code

### Troubleshooting

**The download button does not appear on the video player.**
Make sure the video is playing or has been played at least once so the player exposes the media source. Refresh the page and try again.

**The extension cannot detect any media on the page.**
Confirm you are on a supported FPOXXX video detail page with a URL matching the `/video/<id>/<slug>/` pattern. Some pages may use non-standard player configurations.

**The download starts but fails halfway through.**
Check your internet connection and make sure you have enough storage space on your device. Try restarting the download from the beginning.

**The quality options are limited or unclear.**
The extension detects whatever quality levels the page exposes. Higher quality options may require the video to be playing at that resolution first.

**The extension does not work after a browser update.**
Make sure you have the latest version of the extension installed. Check the releases page for any updates that address browser compatibility.

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

### Installation Instructions

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

### FAQ

**What pages does this extension work on?**
It is designed for FPOXXX video detail pages that follow the `/video/<id>/<slug>/` URL pattern on `fpo.xxx` and its subdomains.

**Do I need to create an account on FPOXXX to use the downloader?**
No account or login on FPOXXX is required. The extension detects media directly from the page you are viewing.

**Why does the extension need to detect media while the video is playing?**
Some FPOXXX pages only expose the actual video source URL after playback begins. Starting the video helps the extension find the media.

**Is this extension affiliated with FPOXXX?**
No. This is an independent browser extension built by SERP Apps. It is not officially affiliated with or endorsed by FPOXXX.

**Can I use this extension on other websites?**
No. The extension is specifically built for FPOXXX pages and will not work on other websites or platforms.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- FPOXXX video pages may use different player configurations that affect detection
- The extension works best on pages following the standard `/video/<id>/<slug>/` URL pattern

### License

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

### About FPOXXX

FPOXXX is a video platform featuring adult content with a clean `.xxx` domain identity. Its video pages follow a consistent `/video/<id>/<slug>/` URL structure, making them well-suited for a page-native download workflow that matches the site's design and navigation pattern.

# 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("videodownloaders/fpoxxx-video-downloader-how-to-download-fpoxxx-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("videodownloaders/fpoxxx-video-downloader-how-to-download-fpoxxx-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 videodownloaders/fpoxxx-video-downloader-how-to-download-fpoxxx-videos --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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