How to Capture a Screenshot of a Notion Page
Learn how to capture a visible Notion page, save a whole page as PDF, handle long pages, and automate clean screenshots with ScreenshotNeo.

Short answer: open the Notion page and use your computer’s screenshot tool for the visible screen. On Windows, press Windows key + Shift + S, then select an area. On a Mac, use the built-in Screenshot tool and its keyboard shortcuts. If you need the entire page as a readable document, use Notion’s ••• → Export → PDF flow instead. For repeatable, automated captures, call ScreenshotNeo with the page URL.
1. Choose the right capture method
“Screenshot of a Notion page” can mean two different things:

- A screen image: a PNG, JPEG, or clipboard capture of what is currently visible. This is useful for a quick share, bug report, or visual reference.
- A full-page document: a PDF export that can include content below the current viewport and preserve a longer page for reading or archiving.
| Goal | Best method | What you get |
|---|---|---|
| Capture a visible section | Windows Snipping Tool or Mac Screenshot | Image of the selected screen area |
| Capture a long page for reading | Notion Export → PDF | PDF with content and page-format controls |
| Capture a public page in code | ScreenshotNeo API | PNG, JPEG, WebP, or PDF response |
A normal screenshot does not automatically include content below the visible screen. You must scroll and capture additional sections, or use a full-page export or capture service.
2. Take a screenshot on Windows
Use Windows key + Shift + S
- Open the Notion page in the desktop app or browser.
- Scroll to the section you want visible. Collapse sidebars or zoom the page if that makes the content easier to frame.
- Press Windows key + Shift + S.
- Choose the rectangular snip option, then drag over the page area.
- Use the notification or clipboard to open, annotate, and save the capture.
Microsoft documents this shortcut for copying screen contents, including a selected region, to the clipboard. The exact save prompt and notification behavior depends on your Windows settings and version. If the shortcut does nothing, open the Snipping Tool from the Start menu and use its capture button.
Capture a long Notion page manually
For a page longer than the screen, repeat the capture after scrolling. Keep a small overlap between captures so the sequence is easy to reconstruct. Save files with an ordered name such as notion-page-01.png, notion-page-02.png, and so on. This method is simple, but it produces separate images rather than one continuous document.
3. Take a screenshot on Mac
- Open the Notion page and position the content you want to capture.
- Press Shift + Command + 4 to select a rectangular area, or open the Screenshot tool with Shift + Command + 5 for additional capture options.
- Drag over the page area, release, and wait for the capture thumbnail or saved file.
- Click the thumbnail to crop or annotate, then save or share it.
Apple’s built-in screenshot tools support screen captures and screen recordings. Shortcut behavior and the save location can vary with macOS settings. If you need several sections, scroll and repeat the capture, using consistent dimensions for each image.
4. Export a Notion page as a full-page PDF
Use PDF export when the page is too long for one screen image or when the recipient needs a document they can search, print, or archive.
Desktop export
- Open the Notion page.
- Click the ••• menu in the page header.
- Choose Export.
- Select PDF as the export format.
- Choose the content to include, a page format, and, where available, a scale.
- Start the export and save the resulting file.
Notion’s export controls can include content inclusion, page format, and scale. The Include subpages option is restricted in Notion’s instructions to Business or Enterprise plans; when used, the result is a ZIP containing PDF files and assets. Custom emojis may not appear in exported PDFs. If a PDF export fails, Notion may produce HTML instead.
Mobile export
- Open the page in the Notion mobile app.
- Tap •••.
- Choose Export.
- Set the export and page-format options.
- Tap Export, then use the share menu to transfer or open the PDF.
When browser print is useful
In a browser, choose File → Print, then select Save as PDF. This can work for ordinary pages, but Notion notes that full-page databases cannot be printed this way. Export those databases from Notion as PDF instead.
5. Capture a public Notion page with ScreenshotNeo
If the page has a public URL and you need a repeatable result from a script, ScreenshotNeo provides a GET endpoint at https://api.screenshotneo.com/v1/shot. It can return PNG, JPEG, WebP, or PDF. See the ScreenshotNeo API documentation for the complete parameter list.
The basic request supplies an API key and the Notion URL. The examples below save the binary response to a file.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://www.notion.so/your-public-page \
-o notion-page.webp
Python
import requests
url = "https://www.notion.so/your-public-page"
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": url},
timeout=90,
)
r.raise_for_status()
open("notion-page.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({
access_key: 'YOUR_API_KEY',
url: 'https://www.notion.so/your-public-page'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const buffer = Buffer.from(await res.arrayBuffer());
require('fs').writeFileSync('notion-page.webp', buffer);
Replace the example URL with the public Notion URL you want to capture. Keep the API key on your server or in an environment variable; do not expose it in browser-side code.
6. Useful capture options for Notion pages
Notion pages often contain lazy-loaded images, long columns, embeds, and content that appears only after interaction. ScreenshotNeo supports options for these cases:
| Need | Relevant option or capability |
|---|---|
| Include content below the viewport | Full-page capture with lazy images loaded |
| Capture one block or section | Capture one element by CSS selector |
| Match a reader’s display | Dark mode, 12 device presets, any viewport, and retina scale |
| Make the page fit a layout | Image resizing, transparent background, and custom CSS |
| Wait for dynamic content | Wait for a selector, a delay, or network idle |
| Remove distractions | Hide selectors; block ads, trackers, requests, or resource types |
| Use a logged-in or localized view | Custom headers, cookies, user agent, Authorization, timezone, and geolocation |
| Produce a document | PDF paper size, margins, landscape mode, and page ranges |
| Repeat captures efficiently | Caching with a TTL you choose, async jobs, signed webhooks, and bulk capture for 100 URLs per call |
For a normal public Notion page, start with full-page capture and a wait condition if images or embeds appear late. Use a CSS selector when you need only the article body or a particular block. Custom CSS can hide a navigation column or adjust spacing before capture.
7. Clean captures and page verdicts
Notion pages and public websites can display cookie banners, newsletter prompts, or chat widgets around the content. Before capture, ScreenshotNeo accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets. Each step can be turned off when you need the original page state.

Only clean shots are billed. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Every response identifies the result with X-Page-Verdict and X-Billed headers, which lets a job runner distinguish a usable image from a page that could not be captured.
8. Troubleshooting
The screenshot contains only the top of the page
Cause: a screen capture records the visible viewport. Fix: export the page as PDF, use a full-page capture, or scroll and create several images.
Images or embeds are missing
Cause: Notion or an embedded resource has not finished loading. Fix: wait for a selector, add a delay, or wait for network idle. For automation, enable full-page capture with lazy images loaded.
The page is blank or shows a bot check
Cause: the target did not finish loading or challenged the capture request. Fix: verify the public URL, check whether the page requires a login, and inspect X-Page-Verdict. ScreenshotNeo does not bill blank pages, bot checks, CAPTCHAs, timeouts, or failed loads.
Notion PDF export returns HTML
Cause: Notion reports that a failed PDF export may be produced as HTML instead. Fix: retry the export, check the downloaded file type, and use browser print only for pages that are suitable for printing. Full-page databases should be exported from Notion.
Custom emojis do not appear in the PDF
Cause: Notion documents that custom emojis may not be included in PDF exports. Fix: use a screen image for the visual appearance, or accept the PDF’s text and layout without those emoji assets.
The API request times out
Cause: a page may contain slow embeds, blocked resources, or a long rendering path. Fix: use a 90-second client timeout, remove unnecessary resources with blocking rules, choose a narrower element capture, or retry an asynchronous job. Inspect the verdict headers before treating the response as a valid screenshot.
The output format is wrong
Cause: the request does not specify the desired image or PDF settings. Fix: set the format and PDF options documented by ScreenshotNeo, then verify the response content type before writing the file.
9. Performance, reliability, and cost considerations
- Reduce work: capture a selector instead of a full page when you only need one section. Block ads, trackers, or unneeded resource types when they are irrelevant to the result.
- Wait precisely: a selector wait is usually more predictable than an arbitrary long delay. Network-idle waits help pages with several deferred requests.
- Reuse stable results: choose a cache TTL when the page does not change frequently. Cache hits are not billed.
- Handle failures: check HTTP status and the
X-Page-VerdictandX-Billedheaders. Retry transient failures and route large batches through async jobs or bulk capture. - Choose the right output: WebP is a compact image for web use; PNG is useful when you need lossless output; PDF is better for a long, printable document.
ScreenshotNeo has a Free plan with 1,000 shots per month and no card. Paid plans are Starter ($5 for 3,000), Growth ($15 for 15,000), Pro ($39 for 60,000), Scale ($99 for 250,000), and Business ($249 for 1,000,000). Yearly billing gives two months free, and every feature is available on every plan.
10. Or skip the browser setup
For a public Notion URL, one GET request returns the capture:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://www.notion.so/your-public-page -o notion.webp
ScreenshotNeo removes cookie banners, popups, and chat widgets before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server gives AI agents such as Claude, Cursor, and other MCP clients tools named take_screenshot, get_page_info, and capture_pdf. You get 1,000 screenshots each month for free with no card, and paid plans start at $5 for 3,000 shots.
Create a free ScreenshotNeo account and see the API and MCP setup in the documentation.
11. FAQ
Can I take one screenshot of an entire Notion page?
Not with a standard screen shortcut if the page is longer than the viewport. Use Notion’s PDF export, a full-page capture service, or several scrolled images.
Is a Notion PDF the same as a screenshot?
No. A screenshot is an image of rendered screen content. A PDF is a document export with page-format and scale controls.
Can I capture a private Notion page automatically?
A public URL is the simplest case. A private page requires an authenticated browser session or credentials supported by your chosen automation method; do not place private credentials in a public URL or client-side script.
Why is my database cut off when I print it?
Notion says browser printing cannot print a full-page database. Export the database as PDF from Notion first.
What should I send when reporting a failed automated capture?
Record the target URL, HTTP status, response content type, and the X-Page-Verdict and X-Billed headers. These details show whether the problem was a load failure, a bot check, a blank page, or a valid capture.


