ScreenshotNeo

BlogHow-to

How to Archive Dated Product Page Screenshots for Price Dispute Records

Capture a product’s price with its context, record the exact URL and time, and preserve the original alongside supporting records.

By the ScreenshotNeo team4 October 202611 min read

To preserve a product price for a dispute, capture the exact page promptly and keep the full relevant context visible: product identity, retailer, price and currency, promotion terms, and any selected variant. Record the resolved URL and capture time with its timezone separately, save the original screenshot unchanged, and keep related order or payment records. A screenshot can show what was visible in a browser; by itself, it does not prove when the image was created, who authored the page, or what transaction was completed.

There is no screenshot format that guarantees legal admissibility. Rules depend on your jurisdiction and the forum handling the dispute. If a complaint or legal process is underway, follow that forum’s instructions and preserve relevant original files and records.

1. Capture the page while the price is visible

  1. Open the exact product page and copy its full resolved URL. If you reached it through a redirect or selected a variant, use the URL shown after the page finishes loading.
  2. Select the relevant options before capture: size, color, quantity, seller, bundle, membership status, location, or other settings that affect the price.
  3. Make the price and its conditions visible. Include the product name, retailer or seller, currency, discount or coupon requirement, and any relevant shipping or delivery fee. If checkout displays a different total, capture that separately.
  4. Capture enough of the page to establish context. For a long page, use a verified full-page capture or several overlapping screenshots. Do not rely on a tight crop of the price alone.
  5. Record the capture date and time, including timezone or UTC offset, in a separate note or manifest. If the browser screenshot omits the address bar, record the URL there too.

Capture promptly: prices, promotions, stock, and page contents can change. The National Archives and Records Administration describes a web snapshot as a copy of content at a particular time; the snapshot is still limited by what the capture method includes. Its records-management guidance defines reliability as a record that can be trusted as a full and accurate representation of the facts it attests to. That is a records-management principle, not a finding that any particular consumer screenshot is authentic or admissible. NARA, Guidance on Managing Web Records.

2. Save the original and document its context

Save the unaltered screenshot in its original image format. Do not add a timestamp label, crop, highlight, redact, or annotate the master. If you need a clearer crop or a redacted copy for sharing, make it from a duplicate and retain the untouched original.

Create a short text note or log entry alongside the file. Include:

  • Exact page URL and, if relevant, the selected product variant or seller.
  • Capture date and time with timezone or UTC offset.
  • Who captured it and the method used, such as a browser screenshot or full-page capture tool.
  • What the price depended on: coupon, membership, location, quantity, or offer terms.
  • A short event note connecting it to the dispute, such as the order date or later price change.
  • Names of related records, such as an order confirmation, receipt, retailer email, or checkout capture.

A practical filename might be 2026-10-03T201844Z_retailer_product-price.png. The UTC timestamp in a filename is an organizational aid, not proof of capture time. Keep the exact URL and capture details in the accompanying note.

Preserve supporting records because each can establish a different part of the sequence: the screenshot records visible page content; an order confirmation records what was ordered; a receipt or payment record records what was charged; retailer correspondence may record what the seller represented. A screenshot alone does not establish that the displayed item was purchased at that price.

3. Choose a format that fits the record

Format Useful for Limitations to check
PNG, JPEG, or WebP screenshot A visual record of what was visible in the captured browser view. May omit content below the fold, hidden conditions, page source, or details that appear only after a selection. A cropped image can lose product or seller context.
Browser-generated PDF A readable, printable representation that can include more of a page than a viewport screenshot. Print-to-PDF can omit website content or change layout. Open it and compare it with the live page; check that price, conditions, and relevant sections are present.
Saved HTML or page package Can retain more page structure than a flat image. Images, fonts, scripts, or other dependencies may not be saved or may stop working. Do not assume it will reproduce the live page accurately.
Independent web archive snapshot May provide another record of a page version if an archive captured it. The archive’s timestamp is when that archive captured the page, not necessarily when you saw it. An archive may not have a snapshot of the exact variant or offer.

When possible, retain the original screenshot plus a second representation, such as a checked PDF, and the supporting note. Practical website-evidence guidance recommends capturing the whole relevant page, recording its URL and capture date and time, and checking a saved PDF because it may not contain everything. It also recommends preserving supporting records. BC Society of Transition Houses, How to Preserve Evidence Posted on a Website as a PDF or HTML.

4. Preserve a master copy and working copies

  1. Keep one clearly identified master copy in secure storage. Limit access and avoid editing it.
  2. Make separate working copies for cropping, annotation, redaction, printing, or sharing.
  3. Keep a second copy in a separate secure location, such as an appropriate backup. An external SSD is one possible additional copy; it does not prove when a screenshot was captured or authenticate the price.
  4. Record any transfer or change to storage in your log if the dispute is important enough to require a clear handling history.
  5. Retain the files and related records through the dispute and any formal process. There is no universal consumer retention period; follow applicable forum instructions and seek jurisdiction-specific advice when needed.

UK government digital-imaging procedure describes a documented master copy protected against alteration or accidental erasure and an audit trail for transfers. That procedure is for police and criminal-justice practitioners; its preservation practices are a useful analogy, not a consumer requirement. UK Government, Digital Imaging and Multimedia Procedure.

UK civil procedure guidance addresses preserving documents when litigation is contemplated, native-format files and metadata, and keeping unaltered originals when altered copies are supplied. It applies to its jurisdiction and process, not universally to consumer disputes. UK Ministry of Justice, Practice Direction 31B.

A cryptographic hash can help show whether a file has changed since the hash was calculated, provided the hash and handling record are also preserved. It cannot prove that the screenshot accurately depicts the page, when it was captured, or which page was displayed. Hashing is optional; the guidance cited here does not establish it as a consumer requirement.

5. Verify the saved evidence

Open each saved file after capture. Check that:

  • The product identity, retailer or seller, price, and currency are legible.
  • Relevant promotion conditions, selected options, and visible fees are included.
  • The page is not cut off where material details appear.
  • The separate note includes the exact URL and time with timezone.
  • The original remains unchanged and any altered version is clearly a copy.
  • Related order, payment, and correspondence records are stored with a clear link to the same event.

If you use a PDF, compare it with the live page before relying on it. If the page is long, verify the beginning, price section, terms, and any relevant checkout details rather than assuming the print function captured everything.

6. Do-it-yourself browser capture

For a manual capture, use the browser’s screenshot or print function and then check the output. For repeatable captures, browser automation can save the full page and a PDF. The following runnable Playwright example uses Node.js and Chromium. It records the resolved URL and UTC capture time in a separate JSON file, and leaves the screenshot itself unmodified.

import { chromium } from 'playwright';
import { writeFile } from 'node:fs/promises';

const targetUrl = 'https://shop.example/products/item';
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });

try {
  await page.goto(targetUrl, { waitUntil: 'networkidle', timeout: 60000 });
  // Select the correct variant or seller here if it changes the displayed price.
  const capturedAt = new Date().toISOString();
  const resolvedUrl = page.url();
  const safeName = `price-capture-${capturedAt.replaceAll(':', '').replaceAll('.', '-')}`;

  await page.screenshot({ path: `${safeName}.png`, fullPage: true });
  await page.pdf({ path: `${safeName}.pdf`, format: 'A4', printBackground: true });
  await writeFile(`${safeName}.json`, JSON.stringify({
    requestedUrl: targetUrl,
    resolvedUrl,
    capturedAtUtc: capturedAt,
    method: 'Playwright with Chromium; full-page PNG and PDF',
    note: 'Record selected variant, seller, offer conditions, and local timezone here.'
  }, null, 2));
} finally {
  await browser.close();
}

Install the dependencies and browser once with npm install playwright and npx playwright install chromium. Replace the example URL with the exact product page. If a page never reaches network idle because it keeps polling, use waitUntil: 'domcontentloaded' and wait for a specific price selector or a short delay instead. A browser-generated timestamp records when the script ran according to the machine clock; it is not independent proof of time. Keep the URL, timezone, method, and related records in the manifest.

For PDFs, confirm the saved document includes the relevant content. For screenshots, a full-page capture can still miss content that only appears after an interaction, selection, or scroll-triggered load. Select the relevant option and verify the resulting page before saving.

7. Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can save a product page as an image; see the ScreenshotNeo API documentation for request options. For a price record, include your own capture log with the returned file: a screenshot service’s capture time does not by itself prove what you personally saw or establish a transaction.

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}`);

Replace the example target with the exact product URL. Cookie banners, popups, and chat widgets are removed before the shot; each cleanup step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server includes tools for AI agents to take screenshots, inspect page information, and capture PDFs. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Keep the original response and your separate URL/time manifest with the rest of the dispute record.

Sign up for 1,000 free screenshots a month, with no card required.

Troubleshooting

Problem Likely cause What to do
The screenshot shows a banner over the price. A consent, newsletter, or chat overlay covered page content. Dismiss it as a visitor would, then capture again. Keep the page context and record any material interaction. Do not obscure or edit the master image.
The price differs from the order or another visit. A different variant, seller, location, membership state, coupon, or time may affect the price. Record the exact options and conditions, capture the relevant checkout total separately, and preserve the order confirmation or receipt.
The full-page image is blank or incomplete. The page may render content after scrolling, require an interaction, or fail to load fully. Wait for the price element, scroll through the page, select the relevant option, and verify the image after saving. Use overlapping viewport captures if full-page capture fails.
The PDF omits sections or changes layout. Browser print rendering does not always reproduce dynamic website content. Inspect the PDF and capture the missing material as a separate screenshot. Keep the original visual capture and note the method.
The screenshot has no URL or timestamp. The browser’s captured viewport excludes browser chrome, and the image itself may not embed reliable capture context. Do not edit the original to add one. Put the URL, timestamp with timezone, and method in a neighboring manifest or log.
The saved HTML does not reopen correctly. External page resources or scripts were not saved or are no longer available. Treat HTML as supplementary. Preserve a checked screenshot or PDF and the original URL and capture note.
A file’s hash matches, but there is still a dispute about what it proves. A hash only helps detect changes after hashing; it does not establish the screenshot’s origin or accuracy. Retain the capture context, handling record, and corroborating order or payment documents. Follow the relevant forum’s evidence directions.

Performance, reliability, and cost

A manual browser capture has no service fee but depends on the browser view, your selections, and careful recordkeeping. Automated browser capture makes repeated captures easier, but adds setup, browser dependencies, page-load time, and failure cases such as scripts that never become idle. Waiting for a specific price element is often more reliable than waiting for every network request to stop when a page has ongoing analytics or polling. Regardless of method, verify the resulting file.

Full-page screenshots and PDFs can take longer and produce larger files than a viewport capture. Capture the whole relevant context, then store the original securely and keep working copies separate. A second secure copy reduces the chance of losing the record; neither storage media nor a hash establishes that the captured price was genuine.

ScreenshotNeo’s stated plan prices are Free: 1,000 shots/month; Starter: $5 for 3,000; Growth: $15 for 15,000; Pro: $39 for 60,000; Scale: $99 for 250,000; Business: $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan. For an occasional personal dispute, a manual capture may be sufficient; an API is useful when you need repeatable captures or already have an automated workflow. Only use a capture as one part of the record, alongside the URL/time note and transaction documents.

Frequently asked questions

Does a screenshot prove the retailer charged that price?

No. It can record visible page content. An order confirmation, receipt, checkout record, or payment statement can help document what transaction occurred.

Should I put the date and URL directly on the image?

Keep the original image unchanged and write those details in a separate note or manifest. Make a labeled copy only if you need one for sharing.

How long should I keep the files?

There is no universal consumer retention period in the sources reviewed. Keep the records through the dispute and any formal process, and follow the relevant forum’s instructions.

Is a saved web archive the same as my own dated screenshot?

No. An archive can corroborate a page version if it has one, but its capture time is the archive’s time and may differ from when you saw the price.