# Omgxxx Video Downloader | How to Download Omgxxx Videos (`how-to-download-videos/omgxxx-video-downloader-how-to-download-omgxxx-videos`) Actor

Omgxxx Video Downloader | How to Download Omgxxx Videos Apify actor.

- **URL**: https://apify.com/how-to-download-videos/omgxxx-video-downloader-how-to-download-omgxxx-videos.md
- **Developed by:** [how-to-download-videos](https://apify.com/how-to-download-videos) (community)
- **Categories:** Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Omgxxx Video Downloader | How to Download Omgxxx Videos

> Browser-first OMG XXX downloader candidate for iframe-handoff video pages, branded /videos routes, and m3u8/mp4 stream discovery.

### Get it Here

Get it here: https://serp.ly/omgxxx-downloader?via=apify

![Omgxxx Downloader](https://apps.serp.co/media/optimized-products/omgxxx-downloader-homescreen-adult-f1c587e0b5.webp)

Downloader for OMG XXX is a browser extension that helps you save videos from OMG XXX video pages. It works by detecting the media streams that play inside the page's embedded player, giving you a simple way to download them as MP4 files. The extension is built around the site's actual page structure and stream behavior rather than using generic grabber methods.

- Built for OMG XXX's branded `/videos/` route and iframe-based player handoff
- Detects m3u8 and mp4 streams from the embedded video surface
- Saves files as standard MP4 for easy playback on any device
- No digging through page source code or external tools needed
- Works entirely inside your browser with a simple popup interface
### Table of Contents

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

### Why Omgxxx Downloader

OMG XXX video pages use an iframe-based player that hands off playback to an embedded media surface. This means the video stream is not directly exposed on the page itself, making it harder to save videos using typical browser tools or generic downloaders. Most users end up searching through source code or relying on unreliable third-party sites.

Omgxxx Downloader is built specifically for this workflow. It watches the page for the iframe handoff and looks for the m3u8 or mp4 streams that the player loads. Instead of forcing you to inspect network requests or copy vague links, the extension gives you a straightforward popup where you can see available streams and start a download with one click.

### Features

- Detects video streams from OMG XXX's iframe-based player handoff
- Supports both m3u8 and mp4 stream formats
- Saves downloads as standard MP4 files
- Clean popup interface that shows detected media
- Works on OMG XXX's branded `/videos/` route pages
- No account or login required to use the extension
- Lightweight extension that runs only when you need it
- Free trial available with 3 test downloads

### How It Works

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

1. Install the Omgxxx Downloader extension from the latest GitHub release.
2. Open your browser and navigate to OMG XXX.
3. Find a video page that follows the `/videos/` route pattern.
4. Click on the video thumbnail to open the full video page.
5. Press play on the video player to start the stream.
6. Click the Omgxxx Downloader icon in your browser toolbar.
7. Wait for the popup to show the detected media streams.
8. Click the download button next to your preferred quality option.

### Supported Formats

- Input: m3u8 and mp4 streams from OMG XXX iframe-based video 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

- OMG XXX viewers who want a simple browser-based way to save videos
- Users who are tired of digging through page source code for video links
- People who need offline access to videos they are allowed to download
- Anyone who wants a private, local copy of content without relying on third-party services

### Common Use Cases

- Saving a video to watch later without an internet connection
- Archiving content you have permission to keep
- Moving videos to a different device for offline playback
- Creating a personal backup of content you own
- Avoiding repeated streaming to save bandwidth

### Troubleshooting

**No video detected in the popup**
Make sure the video is playing on the OMG XXX page before opening the extension popup. The extension needs to see the stream start before it can detect the media.

**Download fails or stops mid-way**
Check your internet connection and try again. Large files may take longer to download depending on your connection speed.

**Extension icon is grayed out on OMG XXX**
This usually means the page does not match the expected video route pattern. Make sure you are on a page that follows the `/videos/` structure.

**Popup shows but no quality options appear**
The stream may not have exposed multiple quality levels. Try starting playback again or refreshing the page.

**Downloaded file does not play**
Make sure you have a media player that supports MP4 files. Most modern players and operating systems support this format natively.

### 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/omgxxx-downloader?via=apify](https://serp.ly/omgxxx-downloader?via=apify)

### Installation Instructions

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

### FAQ

**Does this work on every OMG XXX video page?**
It works on pages that follow the `/videos/` route pattern and use the iframe-based player handoff. Some pages may use different player setups.

**Do I need an OMG XXX account to use this?**
No, the extension works with publicly accessible video pages without requiring you to log in.

**Is this legal to use?**
Only download content you own or have explicit permission to save. Always respect copyright and terms of service.

**Can I use this on other websites?**
This extension is built specifically for OMG XXX pages. It may not work on other sites.

**What quality options are available?**
The available quality depends on what the source stream provides. The extension will show whatever qualities are detected from the m3u8 or mp4 stream.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- OMG XXX uses an iframe-based player that hands off playback to an embedded media surface
- The extension works best on pages following the `/videos/` route pattern

### License

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

### About Omgxxx

OMG XXX is a video platform known for its high-energy branding and distinctive `.xxx` domain. The site uses an iframe-based player handoff on its `/videos/` route pages, which is why Omgxxx Downloader is built around detecting streams from that embedded media surface rather than the main page directly.

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

```

## MCP server setup

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

```

## OpenAPI specification

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