How to Save a Full-Page Screenshot of a Competitor Pricing Page
Capture and save a competitor’s entire pricing page in Firefox, preserve the page state for useful comparisons, and automate repeat captures when needed.
In Firefox, open the competitor’s pricing page, right-click an empty area, and choose Take Screenshot. Select Save full page, then click Download. The image is saved to Firefox’s default download folder. You can also open the screenshot tool with Ctrl+Shift+S on Windows or Linux, or Command+Shift+S on macOS. Mozilla documents the menu, shortcut, and full-page workflow.
A full-page capture includes content beyond the visible browser window. Use Save visible only when you want the current viewport. For a useful competitive reference, first select the relevant region, billing cadence, account state, and page interactions; the image records only what was rendered when you captured it.
Capture the whole pricing page in Firefox
- Open the pricing page and wait until the plan names, prices, and other details you need are visible.
- Set the state you want to document. If the page has monthly and annual billing, a region selector, or expandable plan details, choose the intended values before capture.
- Right-click an empty area of the page and choose Take Screenshot. Alternatively, use Ctrl+Shift+S on Windows or Linux, or Command+Shift+S on macOS.
- Choose Save full page. Check the preview to confirm the content below the fold is included.
- Click Download. Find the image in the folder Firefox uses for downloads.
- Rename it with the company, page, capture date, and selected state. For example:
example-pricing-2026-10-04-annual-us.png. Keep the page URL and a note of the selected billing and region settings with your research.
Firefox’s screenshot interface distinguishes the whole page from the visible portion. If you choose the visible option by mistake, reopen the tool and select Save full page.
Capture a pricing section or set capture options in Developer Tools
Firefox Developer Tools provide a console helper for capturing a full page, delaying capture, setting device pixel ratio, choosing a filename, or targeting one element. Open the Web Console, enter a :screenshot command, and press Enter. For example:
:screenshot --fullpage --filename pricing-2026-10-04.png
To capture a specific pricing table or card and its descendants, use a CSS selector:
:screenshot --selector ".pricing-table" --filename pricing-table.png
Replace .pricing-table with a selector that matches the page’s actual markup. To wait before taking the screenshot—for example, while a menu or hover state is displayed—use --delay. To set the device pixel ratio, use --dpr:
:screenshot --fullpage --delay 2 --dpr 2 --filename pricing-retina.png
The delay is in seconds; the pixel ratio controls the capture’s device pixel ratio. Use a distinct filename for each capture: Mozilla warns that saving another capture with the same filename overwrites the earlier image. See Mozilla’s Developer Tools screenshot documentation for the helper’s options and behavior.
Record the state so the screenshot remains useful
Pricing pages can present different information depending on choices and interactions. A screenshot alone does not tell a later reader which values were selected. Store a short note alongside the image with:
- The page URL and capture date.
- The billing cadence and region or currency, if selected.
- Whether you were signed in, if that affected the rendered page.
- Any expanded cards, open menus, or other relevant interaction state.
Capture separate images for materially different states, such as annual and monthly pricing, and use a filename that distinguishes them. A full-page image can also be very tall; if the comparison concerns only the plans, a selector capture may be easier to inspect and share.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One GET request can return a screenshot as PNG, JPEG, or WebP, or a PDF. The example below captures the page; it does not select a competitor’s billing or region state, so set the correct page state through the URL or page behavior before using it. See the ScreenshotNeo API documentation for request options.
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', res);
Replace the example URL with the pricing page you are documenting and supply your API key. The request returns the screenshot response; choose capture options such as full-page output using the documented API parameters. ScreenshotNeo removes known cookie and consent banners, newsletter popups, and chat widgets before capture, and each of these steps can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; response headers identify the page verdict and billing status. Its MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 screenshots. Sign up for 1,000 free screenshots a month, with no card required.
Troubleshooting
| Problem | Likely cause | What to do |
|---|---|---|
| The capture shows only the screen area. | You chose Save visible. | Open the screenshot tool again and choose Save full page, or use :screenshot --fullpage in the Web Console. |
| A price, plan, or feature is missing. | The page state did not expose it at capture time, or the relevant option was not selected. | Select the intended billing cadence or region and open the relevant section, then capture again. Keep a note of the choices. |
| The Developer Tools command does not target the intended card. | The CSS selector does not match the page element. | Inspect the page markup and update the selector. If the goal is to preserve the whole page, remove --selector and use --fullpage. |
| A previous image disappears after another capture. | The new capture reused its filename and overwrote the earlier file. | Use a unique filename for every capture, such as one containing the date and billing cadence. |
| The screenshot has an unexpected menu or hover state. | The page changed or was captured before the intended state settled. | Set the desired state explicitly and use --delay in the Developer Tools helper when a short wait is needed. |
| An API capture shows a bot check or blank page. | The target did not render a clean page for the capture request. | Check the response’s X-Page-Verdict and X-Billed headers. ScreenshotNeo says bot checks, blank pages, and failed loads are not billed. |
Performance, reliability, and cost
Firefox’s built-in capture is a direct way to save a page you already have open. For repeat captures, choose a consistent browser, viewport, page state, and naming convention so the images are comparable. A full-page image may be much taller than a viewport image; capturing just the pricing component can make review easier when the surrounding page is irrelevant.
For automated captures, account for page load time and any intentional delay needed for the target state. Save the URL, date, and relevant selections with each image. With ScreenshotNeo, clean captures are billed while bot checks, blank pages, timeouts, failed loads, and cache hits are not; inspect the response headers to see the verdict and billing status. Pricing is $0 for 1,000 shots per month on Free, then $5 for 3,000 on Starter, $15 for 15,000 on Growth, $39 for 60,000 on Pro, $99 for 250,000 on Scale, and $249 for 1,000,000 on Business. Yearly billing gives two months free, and every feature is available on every plan.
FAQ
Does a full-page screenshot include content below the fold?
Yes. In Firefox, select Save full page; the Developer Tools helper also supports --fullpage.
Where does Firefox save the screenshot?
It downloads the image to Firefox’s default download folder.
Can I capture only one pricing card?
Yes. Use the Developer Tools :screenshot --selector option with a CSS selector for the card or table.
Does the image prove what a competitor charged on a particular date?
It records what the page rendered at capture time. Keep the URL, date, and selected page state with it so the image has context.


