Fetch is the autonomous, non-interactive network downloader that retrieves files from the web while you sleep. HTTP, HTTPS, FTP — mirrored, resumed, rate-limited, authenticated. Set it and forget it.
Every flag is a feature. Every feature works autonomously, in the background, without human intervention.
Direct any download to any destination with -O FILE. Pipe to stdout. Pipe to disk.
You choose where the bytes land.
Network died mid-transfer? -c resumes exactly where you left off. Range headers,
partial content, zero wasted bandwidth.
Follow every link -r to any depth -l DEPTH. Traverse entire site
structures. Download the web, not just pages.
--mirror creates perfect offline replicas. Recursion, timestamping, infinite depth,
directory listings — all in one flag.
-p pulls every asset a page needs — images, CSS, scripts. Combine with
-k to convert links for offline browsing.
-N only downloads files newer than your local copy. Incremental syncs. Smart
bandwidth. No redundant transfers.
-b sends Fetch to the background immediately. Disconnect your session. Walk away.
The download continues autonomously.
--limit-rate throttles bandwidth consumption. Be a good neighbor. Download at
exactly the speed you specify.
HTTP Basic, digest, or FTP credentials with --user/--password. Access
gated content programmatically.
Feed a list of URLs from a file with -i FILE. Thousands of downloads, one command.
Industrial-scale retrieval.
--spider checks if URLs exist without downloading. Validate link integrity. Audit
your bookmarks. Zero disk usage.
Filter downloads with --accept and --reject. Only get .pdf files. Skip
all .png files. Precision targeting.
Point Fetch at a URL, a list of URLs, or an entire domain. Set your depth, filters, and authentication. Configure once.
Send Fetch to the background with -b. It detaches from your terminal, logs to
wget-log, and starts retrieving autonomously.
Come back to a perfectly organized local mirror. Links converted for offline viewing. Timestamps preserved. Resume if interrupted.
Every command below is a real Fetch workflow. Non-interactive. Autonomous. Relentless.
Watch Fetch recursively crawl and replicate entire site structures in real time.
Feed Fetch a URL list. Watch every transfer in real time. Resume failures automatically.
Side-by-side against every alternative. Non-interactive wins every time.
| Capability | Fetch | Competitor A | Competitor B | Competitor C |
|---|---|---|---|---|
| Non-interactive / background | ✅ | ❌ | Partial | ❌ |
| Recursive site mirroring | ✅ --mirror | ❌ | ❌ | Manual |
| Resume broken downloads | ✅ -c | ✅ | ❌ | ❌ |
| Link conversion for offline | ✅ -k | ❌ | ❌ | ❌ |
| Batch URL input file | ✅ -i FILE | ❌ | Partial | ❌ |
| Timestamping / incremental | ✅ -N | ❌ | ❌ | ✅ |
| Spider / link validation | ✅ --spider | ❌ | ❌ | ❌ |
| Price | Free tier | $39/mo | $69/mo | Enterprise only |
Start downloading for free. Scale when your retrieval demands it.
For individual downloads and experiments.
-O output control-c resume support-q quiet modeFor engineers who retrieve at scale.
-r recursive crawling--mirror site replication-p -k offline browsing-i FILE batch queue-N timestamping--limit-rate bandwidth control-b background modeMirror and retrieve across the whole org.
--spider link validation--accept/--reject filters--user/--password auth-P DIR directory prefixMission-critical autonomous retrieval.
--no-check-certificate policy"We mirror our entire documentation site nightly with a single Fetch command. --mirror -p -k -np. That's it. 4,000 pages, perfectly converted for offline viewing. Our field teams love it."
"We had an 8GB dataset transfer fail at 6GB. One -c flag and Fetch picked up exactly where it left off. Zero re-download. Zero bandwidth wasted. That's the kind of resilience we need."
"Fetch's batch queue with -i changed our entire content pipeline. 2,000 URLs in a text file, --random-wait to be polite, --limit-rate for bandwidth. Set it at 6pm, done by morning."
"We use --spider to validate 50,000 internal links every night. Catches broken references before they hit production. It's our silent QA engineer that never sleeps."
Full Web Archive format support with --warc-file. Preserve complete
request/response pairs for compliance, auditing, and web preservation at scale.
--random-wait now uses a smarter distribution to mask retrieval patterns.
Combined with --wait, Fetch appears indistinguishable from human browsing.
--retry-connrefused now available by default. Unreliable servers that drop
connections are retried automatically with exponential backoff.
It means Fetch doesn't need you. Once launched, it operates autonomously — no prompts, no confirmations, no babysitting. Start a download, log out, and Fetch keeps working. It was designed for exactly this: retrieval without human presence.
Think of --mirror as the "give me everything" flag. It combines recursive downloading, infinite
depth, timestamping, and FTP directory listings into one convenient option. Equivalent to
-r -N -l inf --no-remove-listing. One flag, total replication.
Yes. The -c flag instructs Fetch to check the local file size and request the server
to continue from that byte offset using the HTTP Range header. Works with both HTTP and FTP
servers that support range requests.
After downloading completes, -k rewrites all links in downloaded files to point to
local copies using relative paths. Links to files not downloaded are rewritten to use absolute
URLs. The result is a perfectly browsable offline copy.
Yes — -i FILE reads URLs line by line from a text file. Combine with
--wait and --random-wait for polite batch retrieval, or
--limit-rate to throttle bandwidth across all downloads.