ScreenshotNeo

BlogHow-to

How to capture product screenshots with the original and sale price in view

Capture a product page with its identity, selected variant, sale price, and original price visible. Follow the steps for Windows, Mac, iPhone, or an automated capture.

By the ScreenshotNeo team4 October 20268 min read

To capture a product screenshot with both prices in view, select the exact product variant, wait for the price area to finish loading, and frame the product identity, selected option, sale price, and crossed-out original or reference price together. Use the smallest frame that keeps those details readable and preserves enough page context to identify what you captured.

A screenshot documents what the page displayed at that moment. It does not prove that the reference price was routinely available or that the discount represents a good deal.

1. Prepare the product page

  1. Open the product page and select the exact size, color, configuration, or other variant you want to document.
  2. Wait for the page and price area to finish loading. If selecting a variant updates the price, confirm the updated price belongs to the selected option.
  3. Arrange the page so the product name or identifying image, selected variant, sale price, and crossed-out original or reference price can all fit in the capture.
  4. If needed, adjust browser zoom or scroll position. Keep the prices large enough to read and avoid cropping away the currency or product identity.

Choose a tight crop when legibility is the priority. Choose a wider frame when marketplace, product, variant, or page context matters. The best frame is the smallest one that preserves all the information a reader needs to interpret the prices.

2. Capture on Windows, Mac, or iPhone

Windows

Press Windows logo key + Shift + S to open the Snipping Tool capture overlay. Choose a rectangular snip for the product and both prices, or another capture mode if more page context is needed. Review the capture in Snipping Tool, then save it. Microsoft documents freeform, rectangular, window, and full-screen snips, along with annotation, saving, and sharing options in its Snipping Tool guide.

Mac

Press Shift-Command-5 to open Screenshot and choose full screen, window, or selected portion. For a selected area, press Shift-Command-4; for the full screen, press Shift-Command-3. The Screenshot panel also offers a timer. Check that the selected portion includes both prices and the product or variant context. Apple notes that some apps may prevent window screenshots. See Apple’s Mac screenshot guide.

iPhone

On an iPhone with Face ID, press and release the side button and volume-up button together. On Touch ID models, use the side button and Home button, or the top button and Home button, depending on the device. Review the captured image and crop only after confirming the prices, currency, product identity, and selected option remain visible. See Apple’s iPhone screenshot instructions if the controls differ on your model.

3. Review and preserve the capture

  • Open the saved image at a readable size. Confirm the product identity and selected variant are clear.
  • Check that both prices, their currency, and the crossed-out styling are visible and not clipped.
  • Keep an unaltered original capture. If you add arrows, labels, or other annotations, save those in a separate copy.
  • Record when and where the capture was made if the timing or marketplace matters to your use case.

For historical context on a price, consult a price-history view where available. Amazon describes 30-, 90-, and 365-day price views, but availability and interface can vary by market and rollout. Its stated U.S. List Price validation criteria changed effective April 23, 2026: Amazon says a product must recently have been offered at that price by another retailer or purchased on Amazon as the Featured Offer at that price. Amazon also says it may remove a display it considers misleading. A screenshot alone does not establish that the reference price was routinely available. See Amazon’s reference pricing announcement and Amazon’s price-history explanation for details; check the relevant marketplace and date.

4. Automate captures with ScreenshotNeo

For repeatable captures, ScreenshotNeo is a website screenshot API and MCP server. It can capture a page as PNG, JPEG, WebP, or PDF. Use a full-page capture when you need the wider product-page context, or capture a specific element by CSS selector when the product details and prices sit together in a stable page section. The ScreenshotNeo documentation describes the API parameters and options.

A basic request captures the page at its current state; it does not select a product variant for you. If the desired variant requires interaction, use custom JavaScript or a click action where the page supports it, then wait for the updated price to appear before capture. Keep any credentials private and avoid placing secrets in publicly shared URLs.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', new Uint8Array(await res.arrayBuffer()));

Replace the example URL with the product page URL. The Node.js example uses Bun’s file writer; in Node.js, save the returned bytes with the built-in node:fs/promises module instead:

import { writeFile } from 'node:fs/promises';
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));

Options that help capture product prices

  • Wait for the price: wait for a CSS selector, a delay, or network idle when the page updates prices after load. Prefer a selector that indicates the chosen variant’s price is ready.
  • Choose the frame: use full-page capture for broader context or a CSS selector to capture one element. Adjust viewport size, device preset, and retina scale to keep text readable.
  • Control the page: use custom JavaScript or click an element before capture when the page needs interaction. Custom headers, cookies, user agent, timezone, and geolocation are available for pages whose rendering depends on those settings.
  • Clean the shot: ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture. Each cleanup step can be turned off.
  • Format and delivery: request PNG, JPEG, WebP, or PDF. Other available options include custom CSS, hiding selectors, blocking ads, trackers, requests, or resource types, image resizing, caching with a chosen TTL, and signed links for public image tags.
  • Scale capture work: asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI spec are available. The parameter names used by other screenshot APIs also work, which can simplify a migration.

For AI-assisted workflows, ScreenshotNeo’s MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients. For pricing, the free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Higher plans are Growth at $15 for 15,000, Pro at $39 for 60,000, Scale at $99 for 250,000, and Business at $249 for 1,000,000. Yearly billing gives two months free, and every feature is available on every plan.

Or skip the browser setup

One API call returns a screenshot; replace the sample URL with the product page you want to capture. For other formats and capture options, see the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.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 lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Sign up for free and capture your first 1,000 screenshots a month without a card.

Troubleshooting

Problem Likely cause What to do
The original price is missing. The page may not display a reference price for this product or variant, or the marketplace may suppress it. Confirm the selected option and check the live page again. Do not add a price to the screenshot that the page did not show.
The prices do not match the selected option. The variant change may still be loading, or the selection did not take effect. Re-select the option, wait for the price area to update, and verify the displayed option before capture.
A price or currency is clipped. The capture boundary is too tight, or the browser zoom and viewport do not fit the price block. Expand the capture area or adjust zoom and scroll position, then review at readable size.
The automated screenshot shows a loading state. The capture ran before client-side content or the variant price finished rendering. Wait for a price-specific selector, a suitable delay, or network idle; use page interaction if selecting the variant requires a click.
A browser window capture is unavailable. Some Mac apps prevent window screenshots. Use a selected portion or full-screen capture instead, then crop a copy if needed.
The reference price looks like proof of a discount. A screenshot records the visible page state only. Use an applicable price-history view for context and check the marketplace’s rules. Do not treat the screenshot as independent validation of the reference price.

Performance, reliability, and cost

For manual captures, waiting for the correct variant and checking the saved image are the main reliability steps. For automated captures, waiting on a meaningful selector is generally more targeted than an arbitrary long delay; network idle can be unsuitable for pages that keep background requests open. A larger viewport or retina scale can improve readability but increases image dimensions. Full-page capture preserves context, while an element capture can reduce irrelevant page area.

If you capture many pages, use bulk capture or asynchronous jobs with signed webhooks, and use caching with a TTL when the same page need not be recaptured immediately. ScreenshotNeo bills only clean shots: bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Each response includes X-Page-Verdict and X-Billed headers indicating the page result and billing status. Review those headers when monitoring automated workflows. Free usage is 1,000 shots monthly without a card; paid tiers begin at $5 for 3,000 shots.

FAQ

Should I use a crop or a full-screen screenshot?

Use a crop if it keeps the product, selected option, and both readable prices together. Use a wider capture when marketplace or page context is important.

Does a screenshot prove the sale price is a genuine discount?

No. It documents the page as shown at capture time. Price history and applicable marketplace criteria can provide additional context.

Can I automate selecting the variant?

ScreenshotNeo offers click and custom JavaScript options, but the correct interaction depends on the product page. Confirm the resulting selection and price before relying on the capture.

Can I use the same approach for PDFs?

Yes. ScreenshotNeo can return a PDF, with options including paper size, margins, landscape orientation, and page ranges. Use a PDF when the page context needs to remain selectable or printable.