$npx -y skills add firecrawl/cli --skill firecrawl-downloadDownload an entire website as local files — markdown, screenshots, or multiple formats per page. Use this skill when the user wants to save a site locally, download documentation for offline use, bulk-save pages as files, or says "download the site", "save as local files", "offli
| 1 | # firecrawl download |
| 2 | |
| 3 | > **Experimental.** Convenience command that combines `map` + `scrape` to save an entire site as local files. |
| 4 | |
| 5 | Maps the site first to discover pages, then scrapes each one into nested directories under `.firecrawl/`. All scrape options work with download. Always pass `-y` to skip the confirmation prompt. |
| 6 | |
| 7 | ## When to use |
| 8 | |
| 9 | - You want to save an entire site (or section) to local files |
| 10 | - You need offline access to documentation or content |
| 11 | - Bulk content extraction with organized file structure |
| 12 | |
| 13 | ## Quick start |
| 14 | |
| 15 | ```bash |
| 16 | # Interactive wizard (picks format, screenshots, paths for you) |
| 17 | firecrawl download https://docs.example.com |
| 18 | |
| 19 | # With screenshots |
| 20 | firecrawl download https://docs.example.com --screenshot --limit 20 -y |
| 21 | |
| 22 | # Multiple formats (each saved as its own file per page) |
| 23 | firecrawl download https://docs.example.com --format markdown,links --screenshot --limit 20 -y |
| 24 | # Creates per page: index.md + links.txt + screenshot.png |
| 25 | |
| 26 | # Filter to specific sections |
| 27 | firecrawl download https://docs.example.com --include-paths "/features,/sdks" |
| 28 | |
| 29 | # Skip translations |
| 30 | firecrawl download https://docs.example.com --exclude-paths "/zh,/ja,/fr,/es,/pt-BR" |
| 31 | |
| 32 | # Full combo |
| 33 | firecrawl download https://docs.example.com \ |
| 34 | --include-paths "/features,/sdks" \ |
| 35 | --exclude-paths "/zh,/ja" \ |
| 36 | --only-main-content \ |
| 37 | --screenshot \ |
| 38 | -y |
| 39 | ``` |
| 40 | |
| 41 | ## Download options |
| 42 | |
| 43 | | Option | Description | |
| 44 | | ------------------------- | -------------------------------------------------------- | |
| 45 | | `--limit <n>` | Max pages to download | |
| 46 | | `--search <query>` | Filter URLs by search query | |
| 47 | | `--include-paths <paths>` | Only download matching paths | |
| 48 | | `--exclude-paths <paths>` | Skip matching paths | |
| 49 | | `--allow-subdomains` | Include subdomain pages | |
| 50 | | `-y` | Skip confirmation prompt (always use in automated flows) | |
| 51 | |
| 52 | ## Scrape options (all work with download) |
| 53 | |
| 54 | `-f <formats>`, `-H`, `-S`, `--screenshot`, `--full-page-screenshot`, `--only-main-content`, `--include-tags`, `--exclude-tags`, `--wait-for`, `--max-age`, `--country`, `--languages` |
| 55 | |
| 56 | ## See also |
| 57 | |
| 58 | - [firecrawl-map](../firecrawl-map/SKILL.md) — just discover URLs without downloading |
| 59 | - [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape individual pages |
| 60 | - [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract as JSON (not local files) |