Full Website Downloader avatar

Full Website Downloader

Pricing

$3.99 / site archive

Go to Apify Store
Full Website Downloader

Full Website Downloader

Download a public, server-rendered website as a ZIP with HTML, CSS, JavaScript, images, fonts, and other static assets. Crawl same-host links with configurable depth and limits. Best for landing pages, portfolios, blogs, and documentation; JavaScript-only apps are not rendered.

Pricing

$3.99 / site archive

Rating

0.0

(0)

Developer

Nate Schnell

Nate Schnell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What does Full Website Downloader do?

Full Website Downloader creates one downloadable ZIP snapshot from a public website. It follows same-host links, saves HTML and referenced static assets, rewrites saved URLs for offline use, and returns the archive URL in the dataset. It is designed for small business sites, portfolios, landing pages, and static documentation.

What data can you extract from a website?

  • HTML pages — page source, same-host links, titles, and preserved URL structure
  • Static assets — CSS, JavaScript, images, fonts, media, and other linked resources
  • Archive summary — ZIP URL, status, page and asset counts, failed requests, size, and crawl timestamp
  • Offline structure — relative links rewritten to the matching files inside the archive

How to use Full Website Downloader

  1. Open the actor and enter the public website URL.
  2. Choose the crawl depth. Use 0 for the homepage only or 1 for the homepage and directly linked pages.
  3. Keep Download static assets enabled for an offline snapshot, or disable it for HTML-only output.
  4. Click Start. When the run finishes, open the ZIP archive URL in the dataset output.
  5. Download the ZIP from the run results or use the dataset API in your workflow.

How much does it cost?

Full Website Downloader costs $3.99 per completed site archive. One site event covers the capped crawl and one ZIP, whether the archive contains one page or the configured page limit. Apify platform usage is included in the actor price; the default caps keep ordinary public sites predictable. For the smallest bill, use maxDepth: 0 or turn off static assets.

Input

startUrl is required. maxDepth, downloadAssets, includeExternalAssets, maxPages, maxAssets, and byte/time limits control coverage and cost. The crawler uses direct HTTP requests and does not require a login, browser session, or proxy.

{
"startUrl": "https://example.org/",
"maxDepth": 1,
"downloadAssets": true,
"includeExternalAssets": false,
"maxPages": 50,
"maxAssets": 250
}

Output

The dataset contains one summary record. archiveUrl is the ZIP download URL; status is succeeded or partial, and the count fields show exactly what was included.

{
"website": "https://example.org/",
"archiveUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/website-archive.zip",
"archiveKey": "website-archive.zip",
"status": "succeeded",
"pagesDownloaded": 2,
"assetsDownloaded": 5,
"failedPages": 0,
"failedAssets": 0,
"archiveSizeBytes": 48231,
"maxDepth": 1,
"crawledAt": "2026-08-06T00:00:00.000Z"
}

Integrations

Use the Apify API, webhooks, schedules, Make, Zapier, n8n, or a small Python/Node.js client to start a crawl and pass the archive URL to storage or deployment workflows.

FAQ

Does it render JavaScript?

No. It downloads the HTML returned by the server and the static resources linked from that HTML. For a JavaScript-only shell, the archive contains the shell and its linked files but does not execute the application.

Does it crawl another domain?

HTML pages are always limited to the start URL's hostname. External assets such as CDN CSS or fonts are included only when includeExternalAssets is enabled.

What happens when a page or asset fails?

The run keeps the successful files, records the failed-request counts, marks the output partial, and still provides the ZIP when at least the start page was downloaded.

How large can an archive be?

The default limits are 50 pages, 250 assets, 5 MB per asset, and 100 MB total downloaded bytes. Raise or lower them deliberately; the maximums are enforced to keep runs bounded.