# How to save a web page: 3 questions, 8 endings

> Click through up to 3 questions to find the right way to save a web page: browser, PDF, public archive or API. Each of 8 endings lists what it misses.

Decision tree by Serghei Pogor, founder of CurlShot (https://curlshot.com/about/serghei-pogor). Published 4 November 2026. Page for people: https://curlshot.com/blog/save-a-web-page-online

Choose by what you must keep and how often. For one public page once, use your browser, or the box on the home page of CurlShot. For many pages or a repeat, send a screenshot API request and save a PNG or a PDF. For words you can search, save a PDF. For a record other people can check, add the Internet Archive's Save Page Now to your own capture, but only for public pages. A page behind a login stays private: capture it yourself and never send it to a public archive.

## Key facts

- The first question is what you need to keep: the look of the page, its words, or proof that it existed. The answer decides the format before any tool is chosen.
- One page, one time, is free with the tools in your browser. A machine pays off from about the second page or the second week.
- A picture has no searchable text. A PDF has, and it is laid out for paper, so it may not look like the screen.
- Save Page Now saves one public page with its images and CSS and gives it a permanent URL. Treat that copy as published, and never send a private page there. [4]
- The Free plan of CurlShot allows 100 screenshots a month without a card. Starter is $19 for 3,000 (read on 2026-10-31).

## The decision tree

Start at "What do you need to keep?" and follow your answers. There are 6 questions and 8 endings, and nobody answers more than 3 questions.

- **What do you need to keep?**
  - How the page looks
    - **How many pages, and how often?**
      - One page, one time
        - **Do you have to sign in to see the page?**
          - No, anyone can open it
            - **Ending: Your browser, or the box on the home page** (https://curlshot.com/blog/save-a-web-page-online#once-public)
          - Yes, it needs my account
            - **Ending: Your own browser, while you are signed in** (https://curlshot.com/blog/save-a-web-page-online#once-login)
      - Many pages, or the same page again and again
        - **Do you have to sign in to see the pages?**
          - No, anyone can open them
            - **Ending: A screenshot API call** (https://curlshot.com/blog/save-a-web-page-online#api-public)
          - Yes, they need an account
            - **Ending: An API call that carries a session cookie** (https://curlshot.com/blog/save-a-web-page-online#api-login)
  - The text, searchable
    - **How many pages, and how often?**
      - One page, one time
        - **Ending: Print to PDF in your browser** (https://curlshot.com/blog/save-a-web-page-online#print-pdf)
      - Many pages, or the same page again and again
        - **Ending: A PDF from the API** (https://curlshot.com/blog/save-a-web-page-online#api-pdf)
  - A record that the page said this on a day
    - **Can anyone open the page without signing in?**
      - Yes, it is public
        - **Ending: Save Page Now, plus your own capture** (https://curlshot.com/blog/save-a-web-page-online#archive)
      - No, it is private or needs an account
        - **Ending: Your own capture, dated and kept private** (https://curlshot.com/blog/save-a-web-page-online#own-private)
  - A copy in case the page is taken down
    - **Can anyone open the page without signing in?**
      - Yes, it is public
        - **Ending: Save Page Now, plus your own capture** (https://curlshot.com/blog/save-a-web-page-online#archive)
      - No, it is private or needs an account
        - **Ending: Your own capture, dated and kept private** (https://curlshot.com/blog/save-a-web-page-online#own-private)

## The endings side by side

| Way | Costs | Keeps | Limit |
| --- | --- | --- | --- |
| Your browser, or the box on the home page | Free | The look of one page, as a PNG | By hand, every time |
| Your own browser, while you are signed in | Free | The look of one signed-in page | By hand, and the file is private data |
| A screenshot API call | Free for 100 a month, then from $19 | The look of many pages, as PNG, JPEG or WebP | Needs a script, and a key to keep secret |
| An API call that carries a session cookie | Free for 100 a month, then from $19 | The look of signed-in pages, as a picture | Cookies expire, and the secret needs care |
| Print to PDF in your browser | Free | The words of one page, searchable | Print layout, by hand |
| A PDF from the API | Free for 100 a month, then from $19 | The words of many pages, searchable | Paper layout, and a key to keep secret |
| Save Page Now, plus your own capture | Free | A public copy with a permanent address | One page at a time, public pages only, some sites refuse |
| Your own capture, dated and kept private | Free for one page, or from the plans for many | A private record of a page, with a date and a hash | No outside witness |

Plan numbers were read from [pricing](https://curlshot.com/pricing) on 2026-10-31: Free is 100 screenshots a month, Starter is $19 for 3,000.

## Your browser, or the box on the home page

**Fits.** One public page that you want as a picture, once.

For one public page, one time, you do not need an API. Use the tools you already have.

1. Chrome DevTools can capture a full-page screenshot. Open the Command Menu with Ctrl+Shift+P (Windows, Linux) or ⌘+Shift+P (Mac), type "screenshot" and pick the command that captures the full page.
2. Or paste the address into the box on the home page of CurlShot. It works without an account.
3. Open the file and scroll through it before you rely on it. Look for empty boxes where lazy images should be, and for a cookie banner over the text.

**What you give up.**

- You repeat the steps for every page and every day.
- Your browser draws the page for your screen, your language and your login. Another person gets a different picture.

**More.** [Full-page screenshot tool](https://curlshot.com/tools/full-page-screenshot), [Why screenshots look wrong](https://curlshot.com/blog/why-website-screenshots-look-wrong)

## Your own browser, while you are signed in

**Fits.** One page behind a login that you want as a picture, once.

A page that needs your account is visible to your browser, so capture it there and keep the file private.

1. Use the same two ways as for a public page: the DevTools full-page screenshot, or Print with Save as PDF as the destination.
2. Do not send the address to an outside capture tool to "save" it. Without your session it captures the login form, not your page.
3. Check the file for names, numbers and email addresses before it leaves your computer.

**What you give up.**

- Nothing here can be repeated by a machine. The next capture is your time again.
- The file may hold personal data. It is yours to protect.

**More.** [Screenshot a page behind a login, safely](https://curlshot.com/blog/screenshot-pages-behind-login)

## A screenshot API call

**Fits.** Public pages, many of them or on a schedule, as PNG, JPEG or WebP.

When there are many pages, or the same page every week, one request per page does the work and the file name is yours to choose.

1. Create an account and copy the access key. The Free plan allows 100 screenshots a month and needs no card.
2. Send one request per page. Add full_page=true to get the page from top to bottom instead of the first screen.
3. For a list of addresses, read the bulk article. For the same page every day, read the change-monitoring article.

```bash
curl "https://curlshot.com/api/v1/screenshot?url=https://example.com&full_page=true" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  --output page.png
```

**What you give up.**

- A picture has no selectable text. If you need to search the words, take the PDF ending.
- After the free 100 a month, more screenshots need a paid plan: Starter is $19 for 3,000.

**More.** [Screenshot API](https://curlshot.com/tools/screenshot-api), [Screenshot a list of URLs in bulk](https://curlshot.com/blog/bulk-screenshots-list-of-urls), [Website change monitoring](https://curlshot.com/blog/website-change-monitoring-with-screenshots)

## An API call that carries a session cookie

**Fits.** Pages behind a login, many of them or on a schedule, as a picture.

Send the cookie of a signed-in user with the request. The cookie goes to the site you capture and to nobody else.

1. Make an account on the site that is only for captures, and sign in with it. Do not use your own account.
2. Copy its session cookie and send it in the cookies field of a POST request.
3. Expect the cookie to expire. When the picture shows the login form, the cookie is dead: get a new one.

```bash
curl -X POST "https://curlshot.com/api/v1/screenshot" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.example/dashboard",
    "full_page": true,
    "cookies": [
      { "name": "session", "value": "PASTE_THE_COOKIE_VALUE_HERE", "domain": "your-app.example" }
    ]
  }' \
  --output dashboard.png
```

**What you give up.**

- You now store a login secret next to your script. Treat it like a password.
- The picture shows what that one user sees, not what every user sees.

**More.** [Guide: screenshot behind a login](https://curlshot.com/docs/guides/screenshot-behind-login), [Screenshot a page behind a login, safely](https://curlshot.com/blog/screenshot-pages-behind-login)

## Print to PDF in your browser

**Fits.** One page, one time, when you need to search or quote the words.

A PDF keeps the text selectable and searchable, and the print window of Chrome can make one.

1. In Chrome, open the page and choose File, then Print (Ctrl+P, or ⌘+P on a Mac). In the window that opens you pick a destination, and Save as PDF is one of them.
2. Check the paper size and margins in the same window before you save.
3. Open the PDF and look at the page breaks. The browser lays the page out for paper, which can differ from what you saw on screen.

**What you give up.**

- The print layout may hide parts of the page that you saw on screen, such as menus, or reflow it.
- It is by hand, one page at a time.

**More.** [Web page to PDF: paper sizes and margins](https://curlshot.com/blog/web-page-to-pdf-paper-sizes), [Website to PDF tool](https://curlshot.com/tools/website-to-pdf)

## A PDF from the API

**Fits.** Many pages, or the same page every week, kept as documents.

Set format=pdf and the answer is a document with text you can select and search. It always covers the whole page.

1. Send the request below with your access key. You do not need full_page: a PDF always holds the page from top to bottom.
2. Choose the paper with pdf_paper_format (a4 by default, letter for the United States).
3. For pages behind a login, add the cookies field as in the previous ending.

```bash
curl "https://curlshot.com/api/v1/screenshot?url=https://example.com&format=pdf&pdf_paper_format=a4" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  --output page.pdf
```

**What you give up.**

- The selector and clip options do not work with a PDF; they return an error.
- A PDF is laid out for paper, so it may not look like the screen.

**More.** [Guide: archive pages as PDF](https://curlshot.com/docs/guides/archive-pages-as-pdf), [URL to PDF API](https://curlshot.com/tools/url-to-pdf-api)

## Save Page Now, plus your own capture

**Fits.** A public page that may change or vanish, or that you may need to point to later.

A public archive gives the copy a permanent address that other people can open. Keep your own file too.

1. Put the address into the Save Page Now form of the Internet Archive. It saves the one page, with its images and CSS, and gives you a permanent URL.
2. Write that URL down next to the original address and the date.
3. Make your own capture as well, from the ending that fits, and keep both. Some sites forbid crawling, and then the archive cannot save them.

**What you give up.**

- The archive saves a single page, not the pages it links to, and not a whole site.
- The copy can be shared and linked to, so treat it as published. Never send a private page here.
- The archive copy is held by someone else. Your own file is the one you control.

**More.** [Capture a web page as evidence that holds up](https://curlshot.com/blog/web-page-as-evidence)

## Your own capture, dated and kept private

**Fits.** A private or signed-in page that you need to prove or keep.

A private page must not go to a public archive. Capture it yourself and write down what makes it a record.

1. Capture it with the browser ending or with the API call that carries a cookie. Take a PDF as well as a picture if the words matter.
2. Note the full address, the date, the time and the time zone, and who captured it.
3. Compute a SHA-256 hash of each file right away and keep it in your notes, so a later change shows. Store the originals untouched.

**What you give up.**

- Nobody outside vouches for the date. If a dispute is likely, ask a lawyer how your court treats web captures.
- The files hold whatever the page held, including personal data.

**More.** [Capture a web page as evidence that holds up](https://curlshot.com/blog/web-page-as-evidence), [Screenshot a page behind a login, safely](https://curlshot.com/blog/screenshot-pages-behind-login)

## What no ending does

None of these saves a page the way a site's own export does. A picture holds the pixels and a PDF holds the words laid out for paper; neither keeps the links working or the page's scripts running. Save Page Now keeps the page's images and CSS but not the pages it links to. [4]

See [pricing](https://curlshot.com/pricing) for the plans.

## Questions

### What is the best way to save a web page?

It depends on what you must keep. For the look of one public page, use a full-page screenshot from your browser. For the words, print to PDF. For many pages or a schedule, use a screenshot API. For something other people must be able to check, use a public archive and keep your own file. The tree on this page asks at most 3 questions to get you to one of 8 ways.

### Can I save a page behind a login to a public archive?

You should not. Save Page Now works from the address you give it, not from your signed-in browser, and anything it does save gets a permanent URL that can be shared. For a private page, capture it yourself from a signed-in browser, or send a session cookie with an API request, and keep the files private.

### Is a screenshot or a PDF better for saving a page?

A screenshot keeps how the page looks, as one image. A PDF keeps the text selectable and searchable and covers the whole page, but it is laid out for paper. With CurlShot you choose with the format option: png, jpeg or webp for a picture, pdf for a document.

### How do I save a web page as a PDF with an API?

Send a screenshot request with format=pdf and your access key, and write the answer to a .pdf file. You do not need full_page, because a PDF always covers the whole page. Choose the paper with pdf_paper_format; a4 is the default and letter is for the United States.

### Is a saved screenshot enough as proof of what a page said?

Rarely on its own. A record needs the full address, the date, the time and time zone, the whole page, and a hash of each file taken right after capture. A public archive copy adds a witness you do not control, for pages that are public.

## Sources

1. Chrome for Developers, "4 ways to capture screenshots with DevTools": https://developer.chrome.com/blog/devtools-tips-33 (checked 31 October 2026)
2. Chrome for Developers, "Run commands in the Command Menu": https://developer.chrome.com/docs/devtools/command-menu/ (checked 31 October 2026)
3. Google Chrome Help, "Print from Chrome": https://support.google.com/chrome/answer/1069693 (checked 31 October 2026)
4. Internet Archive Help Center, "Save Pages in the Wayback Machine": https://help.archive.org/help/save-pages-in-the-wayback-machine/ (checked 31 October 2026)

## Go deeper

- [Save a web page online](https://curlshot.com/tools/save-web-page-online)
- [Full-page screenshot](https://curlshot.com/tools/full-page-screenshot)
- [Website to PDF](https://curlshot.com/tools/website-to-pdf)
- [Guide: archive pages as PDF](https://curlshot.com/docs/guides/archive-pages-as-pdf)
- [Pricing](https://curlshot.com/pricing)

## Read next

- [Capture a web page as evidence that holds up](https://curlshot.com/blog/web-page-as-evidence.md): A checklist for saving a web page as a credible record: what to capture, how to fix the time with a hash and timestamp, and what makes a screenshot weak.
- [How to screenshot a list of URLs in bulk](https://curlshot.com/blog/bulk-screenshots-list-of-urls.md): Screenshot hundreds or thousands of URLs: a queue simulator that says how long it takes, a short Node.js script, and what fails at scale.
- [Web page to PDF: paper sizes, margins, print CSS](https://curlshot.com/blog/web-page-to-pdf-paper-sizes.md): Paper sizes in millimetres, inches, CSS pixels and points, how margins and page breaks work in a PDF of a web page, and the print CSS that controls them.
