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

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

## Goonit Video Downloader | How to Download Goonit Videos

> Download videos from GOONIT with a simple browser workflow, player button access, and GOONIT-focused host coverage.

### Get it Here

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

![Goonit Downloader](https://apps.serp.co/media/optimized-products/goonit-downloader-homescreen-adult-07189de5a9.webp)

Goonit Downloader is a browser extension candidate designed for saving videos from GOONIT's `.io` site flow. The extension focuses on providing a visible player download surface and helper-host awareness for Eporner-linked media paths, giving you a cleaner way to save content directly from your browser.

- GOONIT-specific extension identity with `.io` domain targeting
- In-player download button workflow for the GOONIT video wrapper
- Helper-host awareness for Eporner domain relationships
- Compact permission set for browser-based downloading
- Offscreen folder configuration for organized file saving
### Table of Contents

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

### Why Goonit Downloader

GOONIT pages do not always expose a simple right-click save target for video content. Users who want to save videos from the site often resort to copy-paste downloader sites or manual source hunting, which can be time-consuming and unreliable. The extension addresses this by providing a direct browser workflow with a visible player download button.

The extension is built around GOONIT's `.io` brand with strong button-driven handoff confidence. It includes helper-host permissions for Eporner domains, which is useful when media flows are not limited to the visible page domain. The setup is centered on the GOONIT player wrapper, making the download process more straightforward for regular viewers.

### Features

- GOONIT-specific extension identity and product page
- Matches `goonit.io`, `*.goonit.io`, and `www.goonit.io`
- Extra helper-host permissions for `eporner.com` and subdomains
- Player button targets the GOONIT video wrapper
- Generic static-media preset with Open Graph, media-tag, and Twitter stream detection patterns
- Content script stack includes download manager and player button surfaces
- Offscreen folder configured for organized file saving
- Strong handoff confidence from button-driven validation

### How It Works

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

1. Install the Goonit Downloader extension from the GitHub Releases page.
2. Open your browser and navigate to a supported Goonit video page.
3. Let the page load completely, including the video player.
4. Start playing the video so the player exposes the media path.
5. Look for the download button on the Goonit video player wrapper.
6. Click the download button to trigger the detection process.
7. Select your preferred quality option if available.
8. Wait for the browser download to complete and save the file.

### Supported Formats

- Input: GOONIT video pages with Open Graph, media-tag, and Twitter player stream detection patterns
- 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

- GOONIT viewers who want a direct browser workflow instead of copy-paste downloader sites
- Users who prefer a visible player download button over technical source hunting
- People who regularly save content from GOONIT and want a streamlined process
- Viewers who encounter GOONIT pages that rely on Eporner-related helper hosts

### Common Use Cases

- Saving a single GOONIT video directly from the browser
- Triggering a download from the player wrapper instead of digging through page source
- Handling GOONIT pages that use Eporner helper hosts for media delivery
- Building a local archive of GOONIT content for offline viewing
- Replacing manual copy-paste workflows with a button-driven experience

### Troubleshooting

**The download button does not appear on the player.**
Make sure the video is playing or has been started so the player wrapper is active. Refresh the page if the button still does not show.

**The extension cannot detect the video source.**
Some GOONIT pages may use non-standard media paths. Try playing the video fully before triggering the download.

**Downloads fail or stop midway.**
Check your internet connection and browser download settings. A stable connection is required for the download to complete.

**The extension does not work on certain GOONIT pages.**
The extension targets GOONIT's `.io` domain and supported host forms. Pages outside this scope may not be compatible.

**The download manager does not show progress.**
Open the browser's built-in download manager to track progress. The extension triggers standard browser downloads.

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

### Installation Instructions

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

### FAQ

**What site is this extension built for?**
The extension is built for GOONIT on `goonit.io`, including subdomains and the `www` host form.

**Why does the extension mention Eporner?**
The extension includes Eporner host permissions as a helper-host relationship tied to the GOONIT media flow.

**How does the extension detect media?**
The extension uses a generic static-media preset with Open Graph, media-tag, and Twitter player stream detection patterns.

**Is the extension fully released and verified?**
The extension has strong targeting and handoff signals but the extraction layer is still under review for release readiness.

**Can I use the extension on other sites?**
No, the extension is specifically designed for GOONIT and its helper-host relationship with Eporner domains.

### Notes

- Only download content you own or have explicit permission to save
- An internet connection is required for downloads
- The extension targets GOONIT's `.io` domain and supported host forms
- The extraction layer is still under review for full release verification

### License

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

### About Goonit

GOONIT is a video platform operating on the `.io` domain that hosts a wide range of adult content. The extension helps users save videos from GOONIT by providing a direct browser workflow with player button access and helper-host awareness for Eporner-linked media paths.

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

```

## MCP server setup

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

```

## OpenAPI specification

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