gdown
Google Drive Public File/Folder Downloader
What it is and what it does
gdown is a command-line and Python library for downloading files and folders from Google Drive when standard tools like curl and wget fail. It solves the core problem that Google serves a confirmation page for large files, which blocks automated downloads. The tool extracts file IDs from share links, skips the virus-scan prompt, and handles recursive folder downloads. It also exports Google Docs, Sheets, and Slides to formats like PDF, DOCX, and CSV. Beyond Google Drive, it works as a general HTTP/HTTPS downloader.
The package requires Python 3.10 or later and depends on beautifulsoup4, filelock, requests, tqdm, and typing-extensions. It offers both a CLI interface (with options for resuming partial downloads, speed limiting, proxy support, and custom headers) and a Python API for programmatic use. The library supports hash verification, caching, and progress callbacks for integration into larger workflows.
Use it for:
- Download large files from Google Drive that curl and wget cannot retrieve due to confirmation pages.
- Recursively download entire shared folders from Google Drive to a local directory.
- Export Google Docs, Sheets, or Slides to PDF, DOCX, CSV, or other formats for offline use.
- Resume interrupted downloads of large files using the --continue flag.
- Use as a drop-in replacement for curl/wget when downloading from any public HTTP/HTTPS URL.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Downloads files and folders from Google Drive, bypassing confirmation pages that block curl and wget, and exports Google Docs/Sheets/Slides to standard formats.
Yes. gdown solves a real problem (Google Drive downloads fail with standard tools), has low install friction, is actively maintained, carries no known vulnerabilities, and uses a permissive MIT license. It is well-suited for automation scripts, data pipelines, and one-off downloads. Install it if you regularly need to download from Google Drive or want a curl/wget alternative.
Install
gdown on PyPI
pip
pip install gdownuv
uv add gdownpoetry
poetry add gdownInstalling gdown
Before you install
Low friction install with five lightweight runtime dependencies. Actively maintained with a recent release; last commit 2026-08-07 and 5364 repository stars indicate ongoing support.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and private projects.
Quickstart
pip install gdown
# CLI: download a file by URL
gdown https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ
# Python: download with output filename
import gdown
gdown.download(url="https://drive.google.com/uc?id=1l_5RK28JRL19wpT22B-DY9We3TVXnnQQ", output="file.npz")
Requires Python 3.10 or later. File must be shared publicly (set to 'Anyone with the link') on Google Drive.
Verify before relying
- Whether Google Drive's terms of service permit automated downloads of shared files via this tool.
- Rate limiting or throttling behavior when downloading multiple files in succession.
- Cookie-based authentication persistence and security implications of storing cookies locally.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — beautifulsoup4, filelock, requests, tqdm, typing-extensions |
| Maintenance | actively maintained — 76 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,874,627/month — #2,468 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gdown-6.1.0-py3-none-any.whl
Keywords: curl, download, google-drive, wget
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
parfiveParfive downloads multiple files in parallel…
unclear · top 15,000 on PyPI
googledrivedownloaderDownloads shared files from Google Drive by…
unclear · top 15,000 on PyPI
pySmartDLpySmartDL is a download manager that…
permissive · top 15,000 on PyPI
wgetDownloads files from HTTP URLs with progress…
permissive · top 5,000 on PyPI
fastdownloadDownloads, verifies, and extracts archives from…
permissive · top 15,000 on PyPI
robust-downloaderProvides resumable downloads with retry logic,…
permissive · top 5,000 on PyPI
DrissionGetDrissionGet is a multithreaded file downloader…
permissive · top 15,000 on PyPI
remotezip2Reads and extracts files from ZIP archives…
permissive · top 15,000 on PyPI
aiogoogleAiogoogle is an async Python client for…
permissive · top 5,000 on PyPI
DownloadKitDownloadKit is a multithreaded file downloader…
permissive · top 15,000 on PyPI