How to Screenshot Product Pages With Sale Prices and Discounts Visible
Capture a product’s displayed sale price, discount, and offer conditions in a readable screenshot using your browser, iPhone, or an API.
To screenshot a product page with its sale price and discount visible, first make sure the product identity, displayed price, discount or reference price, and relevant offer conditions fit in the captured area. Use a visible-area screenshot when those details fit on screen. Use a full-page capture when you need more context, then check that the price is still readable. Treat the result as a record of what the page displayed at capture time, not proof that the discount is valid or will remain available.
Choose the capture area
| Capture mode | Use it when | What to check |
|---|---|---|
| Visible area | The product and offer details fit in the current browser window. | Keep the product name, current price, discount or reference price, and visible conditions in frame. |
| Full page | You need surrounding details farther down the page, such as offer terms. | Review readability: a long page can make the price small in the resulting image. |
| Region or page part | You want to capture only a portion of a page while retaining enough context. | Do not crop away the product identity or conditions that explain the offer. |
Firefox documents choices to save a selected region, a page part, the visible part, or the full page. Whale labels its browser-window choices “Visible area” and “Full page.” On iPhone, Safari’s screenshot preview offers “Full Page” for a webpage; Apple documents saving that capture as an image or PDF. Menu labels and availability can change with browser and operating-system versions.
Capture the offer in a desktop browser
- Open the product page and wait until the product name, price, and discount text have appeared.
- Arrange the page so the product identity and displayed offer are visible together. If an overlay covers the price, close it if possible, while keeping relevant offer terms available.
- Take a visible-area screenshot if the information fits. In Firefox, choose Save visible; in Whale, choose Visible area.
- If you need details elsewhere on the page, take a full-page capture instead. Firefox calls this Save full page; Whale offers Full page.
- Open the saved file and inspect it at a readable size. Crop only when the product and the offer context you need remain clear.
Firefox’s screenshot download filename includes the year, month, day, hour, minute, and second. This is useful for organizing captures, but a filename alone does not independently verify when a merchant’s offer was valid.
Capture a full page on iPhone
- Open the product page in Safari and wait for the displayed price and discount to load.
- Take a screenshot using the iPhone’s screenshot controls.
- If the screenshot preview appears, open it and select Full Page.
- Review the capture, crop if needed, and save it as an image or PDF.
Apple documents this workflow for iPhone. Do not assume the same controls or steps apply to every Apple device or software version.
Keep the screenshot useful
- Preserve the offer context. Keep visible requirements such as membership, coupon use, selected variant, or purchase quantity when they appear on the page.
- Check text size. A full-page screenshot can include more context but make price text harder to read. Prefer a visible-area capture when it contains everything needed.
- Keep an original. If later review matters, retain the unedited capture and separately note the page address and capture date and time.
- Describe it accurately. A screenshot records rendered content. It does not establish that a reference price was calculated correctly, that a coupon applies to every buyer, or that the offer remains available.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF. For a product page, place the product and displayed price in the initial viewport when possible; full-page capture can include more context, but inspect the result for legibility. 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
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
open("shot.webp", "wb").write(r.content)
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}`);
const image = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', image));
Replace the example URL with the product page you want to capture. ScreenshotNeo accepts common screenshot API parameter names, which can make switching easier. Its capture options include full-page screenshots, viewport selection, waiting for a selector or network idle, custom CSS and JavaScript, and hiding selectors. These can help when the displayed price loads late or an overlay obscures it. Cookie and consent banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be turned off. Do not remove offer terms that matter to the record.
Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; response headers identify the page verdict and whether the shot was billed. ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 shots a month with no card; paid plans start at $5 for 3,000 shots. Every feature is on every plan.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Troubleshooting
| Problem | Likely cause | What to do |
|---|---|---|
| The price is missing | The page had not finished rendering, or the price appears after a choice such as selecting a variant. | Wait for the price, select the intended variant, and capture again. For API capture, wait for a relevant selector or use a suitable delay. |
| A popup covers the offer | A consent prompt, newsletter form, chat widget, or other overlay obscures the page. | Dismiss it in the browser if possible. With ScreenshotNeo, the listed consent banners, newsletter popups, and chat widgets are removed before capture; verify that any remaining offer details are visible. |
| The full-page result is hard to read | The capture includes much more page content than the price needs. | Use a visible-area capture or a carefully selected region, and retain enough context to identify the product and offer. |
| The saved image does not show the same offer later | The merchant may render changing prices, inventory, or eligibility conditions. | Keep the original capture and record the page address and capture time separately. A screenshot cannot guarantee that an offer will continue. |
| An API request returns an error or unusable capture | The URL may be inaccessible, the page may fail to load, or a bot check may prevent normal rendering. | Check the URL and response status, allow the page time to load, and inspect ScreenshotNeo’s page-verdict and billing headers. A bot check or failed load is not a usable price record. |
Performance, reliability, and cost
For a single offer, a visible-area screenshot is usually the simplest capture to inspect because it limits the image to the relevant frame. Full-page capture is useful when terms elsewhere on the page matter, but review text size and completeness before relying on it. Dynamic pages may change while loading, so wait for the displayed price and chosen product variant before capturing.
For repeatable API captures, use an explicit wait condition when the price is rendered asynchronously, and preserve the response alongside the page URL and capture time. ScreenshotNeo offers caching with a chosen TTL; consider whether a cached capture is appropriate when the displayed offer may change. Its billing rules mean cache hits and listed failed or blocked outcomes cost nothing. The screenshot itself remains a capture of rendered content, not independent validation of a sale.
FAQ
Does a screenshot prove a discount is genuine?
No. It records what the page displayed. It does not validate the merchant’s calculation, the reference price, eligibility, or how long the offer lasts.
Should I use a screenshot or PDF?
Use an image for a quick visual record. A PDF can be useful when preserving a longer page or sharing a document-style capture; iPhone’s documented Full Page workflow can save as an image or PDF.
Should I crop out unrelated page content?
Crop only if the product remains identifiable and the discount’s conditions or qualifying variant remain clear.


