# 3Movs Video Downloader | How to Download 3Movs Videos (`serpdownloaders/3movs-video-downloader-how-to-download-3movs-videos`) Actor

- **URL**: https://apify.com/serpdownloaders/3movs-video-downloader-how-to-download-3movs-videos.md
- **Developed by:** [SERP Downloaders](https://apify.com/serpdownloaders) (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

## 3Movs Video Downloader | How to Download 3Movs Videos

> Download 3movs videos from the page you're watching.

### Get it Here

Get it here: https://serp.ly/coming-soon-extensions

![3Movs Downloader](https://apps.serp.co/media/optimized-products/3movs-downloader-homescreen-c2a11ba9ab.webp)

3movs Downloader is a browser extension that helps you save videos from 3movs pages directly in your browser. Open a supported 3movs video page, let the player load, and use the player button, popup, or right-click menu to review detected media options and save through the browser.

- Works directly from 3movs pages you're already viewing
- Detects MP4 and HLS media when exposed by the page or player
- In-page player download button for quick access
- Right-click context menu for page and video contexts
- Organizes downloads in a dedicated 3movs folder
### Table of Contents

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

### Why 3movs Downloader

3movs video pages often hide the final media URL behind player scripts, numeric video IDs, or dynamic loading. The standard browser right-click save option rarely captures the actual stream, leaving you to inspect page source or use separate downloader sites.

3movs Downloader works from the page you are already viewing. It checks for playable media candidates, filters out ads and thumbnails, and presents detected formats in a clean interface. You can use the player button, extension popup, or right-click menu to start a download without leaving the page.

### Features

- 3movs-specific host matching for `3movs.com`, `www.3movs.com`, and subdomains
- In-page player download button configured for the 3movs Fluid Player wrapper
- Detects direct MP4 and HLS candidates when exposed by the page or player
- Filters obvious ad, thumbnail, sprite, preview, and timeline noise
- Quality labels from detected resolution where available
- Right-click context menu with "Download 3movs Video" option
- Organized `3movs` download folder for saved files
- In-page download manager with progress UI

### How It Works

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

1. Install the 3movs Downloader extension from the latest GitHub release.
2. Open your browser and navigate to a 3movs video page.
3. Press play on the video player to initialize the media stream.
4. Look for the download button that appears on the player interface.
5. Click the button to open the detected media options.
6. Select the quality or format you prefer from the available choices.
7. Confirm the download and wait for the progress indicator to complete.
8. Save the final MP4 file to your local device.

### Supported Formats

- Input: Direct MP4 and HLS/M3U8 media candidates when exposed by 3movs pages, player scripts, or supported adapter fallbacks
- 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

- 3movs viewers who want a simple browser-based way to save videos for offline viewing
- Users who prefer an extension button over web downloader copy/paste flows
- People who want to avoid command-line tools or desktop applications
- Anyone looking for a page-aware detection workflow instead of manual source inspection

### Common Use Cases

- Save a 3movs video for offline viewing when you don't have internet access
- Detect MP4 or HLS media exposed by a 3movs video page without inspecting source code
- Use a player button instead of opening developer tools to find stream URLs
- Pick the clearest detected quality where multiple variants are available
- Trigger detection from the extension popup or right-click context menu

### Troubleshooting

**No media detected on the page**
Refresh the page and make sure the video player has started playback before opening the extension.

**Download button does not appear on the player**
Try using the extension popup or right-click menu instead of the in-page button.

**Only low quality options available**
Quality depends on what the 3movs page or player exposes. Not all pages offer multiple resolutions.

**Files save to the wrong folder**
Check your browser download settings. The extension saves to a `3movs` folder by default.

**Extension does not activate on 3movs pages**
Confirm the extension is installed and has the required permissions for 3movs domains.

### 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/coming-soon-extensions](https://serp.ly/coming-soon-extensions)

### Installation Instructions

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

### FAQ

**How do I download a 3movs video?**
Open a supported 3movs video page, let the player load, then use the player button, extension icon, or right-click menu to choose a detected media option.

**What formats can it find?**
The extension normalizes direct MP4 and HLS/M3U8-style media URLs when the 3movs page or player exposes them.

**Are all qualities guaranteed?**
No. Quality options depend on what the page, player, or same-origin API exposes. Some pages may offer one file, while others may expose multiple resolutions.

**Where are files saved?**
Downloads are organized under a `3movs` folder by the download configuration.

**Do I need to start playback first?**
Often yes. Video pages commonly reveal final stream URLs only after the player initializes or playback begins.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- Press play first if no stream appears on the detection list
- Quality options depend on source availability from 3movs pages

### License

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

### About 3movs

3movs is an adult video platform featuring a large collection of content across various categories. This extension helps users save videos from 3movs pages directly in the browser, providing a more convenient workflow than manual source inspection or external downloader tools.

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

```

## MCP server setup

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

```

## OpenAPI specification

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