Copy Website avatar

Copy Website

Pricing

Pay per usage

Go to Apify Store
Copy Website

Copy Website

Copy any public website into a browsable snapshot. Saves HTML and optional screenshots up to a chosen crawl depth.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Harish Garg

Harish Garg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

2 days ago

Last modified

Share

Copy any public website into a self-contained, browsable mirror. Copy Website crawls a site in a real browser, captures every page with all its assets (HTML, CSS, JavaScript, images, and fonts), and packages the result as a single WACZ web archive. Because it archives the actual network responses, the mirror replays with working links and full styling — not just loose HTML. Point it at a URL, choose how deep to crawl, and get back a portable snapshot you can browse online or offline.

Under the hood it uses Browsertrix Crawler — the open-source, high-fidelity web archiving crawler from Webrecorder — running on the Apify platform, so you also get scheduling, an API, proxy options, and monitoring for free.

Why use Copy Website?

  • True offline mirror — assets are captured, so pages render correctly without the live site.
  • Handles modern JavaScript sites — every page is rendered in a real browser, so single-page apps and lazy-loaded content are captured, not just the raw HTML shell.
  • Standards-based archive — WACZ is an open format. Nothing proprietary, nothing to lock you in.
  • Instantly browsable — open the archive in ReplayWeb.page with one click; no server to set up.
  • Preservation & compliance — capture a page or a whole section exactly as it looked at a moment in time.

How to use Copy Website

  1. Enter a Start URL (the page to begin from).
  2. Choose a Crawl scope — e.g. URLs under start path to mirror one section, or Whole hostname for the entire site.
  3. Set Max depth and Max pages to control how far the crawl reaches and to cap cost.
  4. Click Start. When the run finishes, open the Run info dataset record and click Browse mirror — it opens the archive in ReplayWeb.page.

Input

Configure the run from the Input tab. Key fields:

FieldDescription
Start URLThe website to copy. Crawling starts here.
Crawl scopeWhich links to follow: single page, single-page-app routes, URLs under the start path (prefix), the whole hostname, or the whole domain + subdomains.
Max depthHow many link hops from the start URL to follow (0 = start page only).
Max pagesHard cap on the number of pages archived. Controls runtime and cost.
Capture screenshotsAlso store a full-page screenshot of every page in the archive.
Run page behaviorsAuto-scroll/expand pages to trigger lazy-loaded content.
Parallel workersPages archived at once. Faster, but needs more memory.

Example input:

{
"startUrl": "https://apify.com",
"scopeType": "prefix",
"maxDepth": 1,
"maxPages": 25,
"captureScreenshots": false,
"behaviors": true,
"workers": 1
}

Output

The mirror itself is saved to the key-value store as mirror.wacz. The dataset holds a single run-info record with links to it, including a ready-to-click replay URL:

{
"startUrl": "https://apify.com",
"scopeType": "prefix",
"maxDepth": 1,
"pagesCrawled": 24,
"waczUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/mirror.wacz",
"replayUrl": "https://replayweb.page/?source=https%3A%2F%2Fapi.apify.com%2Fv2%2Fkey-value-stores%2F<storeId>%2Frecords%2Fmirror.wacz",
"timestamp": "2026-07-09T10:00:00.000Z"
}

You can download the WACZ file and open it in the ReplayWeb.page desktop app, embed it with the <replay-web-page> web component, or serve it anywhere. You can also download the dataset in various formats such as JSON, HTML, CSV, or Excel.

How to browse the mirror

  1. Zero-setup: open the replayUrl from the dataset record — it renders the mirror with clickable links and real assets.
  2. Offline: download mirror.wacz and open it in the ReplayWeb.page desktop app.
  3. Embed: drop the <replay-web-page> web component into any page pointing at the WACZ URL.

How much does it cost to copy a website?

Cost scales with the number of pages and whether you enable screenshots. Because each page renders in a real browser, larger crawls use more compute — keep Max pages conservative for a quick, cheap snapshot and raise it only when you need broader coverage. Start small (the default 25-page cap) to gauge cost before scaling up.

Tips

  • Use the narrowest Crawl scope that covers what you need — prefix to mirror one section is far cheaper than domain.
  • Raise Parallel workers to speed up big crawls, but increase the Actor's memory first — each worker runs its own browser.
  • Turn on Run page behaviors for image-heavy or infinite-scroll pages so lazy content is captured.
  • If a run is aborted, the crawler still finalizes a partial WACZ of whatever it captured, and it's uploaded like a normal run.

FAQ, disclaimers, and support

Is this legal? Copy Website is intended for archiving content you are permitted to access. You are responsible for complying with the target site's Terms of Service, robots directives, and applicable law. Do not archive personal or copyrighted material without permission.

What is WACZ? An open, standards-based format for web archives (a zipped bundle of WARC data plus an index). It's supported by ReplayWeb.page and the wider Webrecorder ecosystem.

Limitations: Content behind logins, aggressive bot protection, or heavy anti-automation measures may not capture cleanly. Extremely large sites should be crawled in scoped sections.

Found a bug or need a custom variant? Open an issue on the Actor's Issues tab.