DocsDownload Managementftp_download

ftp_download

ftp_download

Download a file from an FTP server. Supports authenticated FTP, FTPS (FTP over SSL/TLS), proxy configuration, and Tor anonymization. If no output path is specified, saves to /tmp/owl_downloads/. Returns file path, size, and download timing.

When to use ftp_download

Use ftp_download when you need to manage file downloads triggered by a page. It is part of Owl Browser's Download Management toolset and runs inside a self-hosted, source-level stealth engine, so every call inherits the same undetectable browser fingerprint as the rest of your automation — no separate anti-detect setup required.

Usage Example

1234567891011
import asyncio
from owl_browser import OwlBrowser, RemoteConfig
# Async usage
async with OwlBrowser(config) as browser:
context = await browser.create_context()
context_id = context["context_id"]
await browser.ftp_download(
url="https://example.com"
)

Parameters

Required

urlstringrequired

FTP URL of the file to download (e.g., 'ftp://ftp.example.com/pub/file.tar.gz').

Optional

output_pathstring

Full path where the file should be saved. If not specified, saves to /tmp/owl_downloads/.

usernamestring

FTP username. Default: anonymous

passwordstring

FTP password. Default: empty

proxy_typeenum
httphttpssocks4socks5+1 more

Type of proxy server.

proxy_hoststring

Proxy server hostname or IP address.

proxy_portinteger

Proxy server port number.

proxy_usernamestring

Username for proxy authentication.

proxy_passwordstring

Password for proxy authentication.

use_torboolean

Use built-in Tor proxy. Default: false

timeoutinteger

Timeout in milliseconds. Default: 30000

use_sslboolean

Use FTPS (FTP over SSL/TLS). Default: false

Response

Returns a JSON object with the operation result.

{
  "success": true,
  "result": <value>
}

Frequently Asked Questions

What does ftp_download do?

Download a file from an FTP server. Supports authenticated FTP, FTPS (FTP over SSL/TLS), proxy configuration, and Tor anonymization. If no output path is specified, saves to /tmp/owl_downloads/. Returns file path, size, and download timing. It belongs to Owl Browser's Download Management category and is available through the REST API, the Python SDK (browser.ftp_download()), the Node.js SDK, and the MCP server.

What parameters does ftp_download accept?

ftp_download accepts 1 required parameter (url) and 11 optional parameters. All parameters are sent as JSON in a POST request to /api/execute/ftp_download.

Is ftp_download detectable by anti-bot systems like Cloudflare or DataDome?

No. ftp_download executes inside Owl Browser's Chromium engine, which applies fingerprint spoofing at the C++ source level rather than through JavaScript patches. Every tool call shares the same consistent, human-like fingerprint, so anti-bot systems such as Cloudflare, DataDome, and Akamai see an ordinary browser.

Related Tools

browser_set_download_path

Configure the directory where browser downloads will be saved. Must be set before triggering downloads. The directory must exist and be writable. Downloaded files are saved with their original filenames.

browser_get_downloads

List all downloads for the context with their current status. Returns download ID, filename, URL, progress percentage, bytes downloaded, total size, and state (pending, in_progress, completed, failed, cancelled).

browser_get_active_downloads

Get only currently active (in-progress) downloads for the context. More efficient than get_downloads when you only need to monitor ongoing transfers.

browser_cancel_download

Cancel an in-progress download. Stops the download immediately and may delete partially downloaded content. The download will be marked as 'cancelled' in the downloads list.

http_download

Download a file from an HTTP/HTTPS URL and save it to disk. Supports resume for interrupted downloads, custom output paths, proxy configuration, and Tor anonymization. If no output path is specified, the file is saved to /tmp/owl_downloads/ with a filename derived from the URL or Content-Disposition header. Returns the file path, size, content type, and download timing.

browser_create_context

Create a new isolated browser context with its own cookies, storage, and optional proxy configuration. Each context acts as an independent browser session. Use this to create multiple isolated browsing sessions, configure proxy/Tor connections, load browser profiles with saved fingerprints, and enable/disable LLM features. Returns a context_id to use with other browser tools.

Browse the full Owl Browser API reference or get started with the Python SDK and Node.js SDK.