ScreenshotNeo

BlogHow-to

How to Capture Indian Ecommerce Product Pages with a Screenshot API

Capture product pages with a screenshot API by choosing a viewport, wait condition, and capture area. Validate each result; access can vary by site.

By the ScreenshotNeo team4 October 20269 min read

To capture an Indian ecommerce product page with a screenshot API, send the page URL to a browser-rendering endpoint, choose a viewport that matches your intended view, select viewport or full-page output, and wait for the product content to appear. Then inspect the returned image on the target site. Do not assume a generic screenshot API supports or can access a particular marketplace: the available provider documentation does not establish successful capture of Amazon India, Flipkart, or any other named Indian ecommerce site.

Modern pages may fill in product details with JavaScript, so the initial document load may not mean the page is ready. For example, Cloudflare documents that its screenshot endpoint processes HTML and JavaScript before capture, and also says Browser Run requests are identified as bots. Those facts describe that service; they do not establish how a particular marketplace will respond. Cloudflare screenshot endpoint documentation

Choose a capture method and validate access

Use a URL-based screenshot API that returns image bytes or a downloadable image. Before relying on it, check the provider’s current reference for authentication, accepted parameters, output formats, capture limits, wait options, timeouts, and error responses. The documented controls differ across services, and no provider comparison or benchmark here establishes one as the best for a specific Indian marketplace.

ScreenshotNeo is a website screenshot API and MCP server for developers. Its single GET endpoint returns PNG, JPEG, WebP, or PDF captures, with options such as full-page capture, viewport sizing, selector waits, and element capture. See the ScreenshotNeo API documentation for current parameter details.

Before automating a page, check the target site’s current access rules and make sure your use is permitted. A public product URL does not guarantee an automated request will receive the same page a visitor sees. This guide does not claim compatibility with any named marketplace or a way to bypass its controls.

Build a reliable capture workflow

  1. Pick a product URL. Start with a public page you are allowed to capture. Keep the requested URL and capture time with the result if you use screenshots for monitoring or audit records.
  2. Set the viewport deliberately. Choose dimensions for the output you need. Product layouts can differ at mobile and desktop widths; the sources document viewport and device controls but do not establish ideal dimensions for Indian marketplace pages. Capture both sizes if both views matter.
  3. Choose the capture area. Use viewport capture for the visible screen, full-page capture when you need the whole page, or a CSS selector crop when you only need a specific element and the API supports it. Full-page height limits and behavior vary by provider.
  4. Wait for the content you need. Prefer a documented selector wait for a known product detail or image. A delay can help when content appears asynchronously but is less precise. Network idle can be useful when supported, but it is not a universal sign that every widget or product detail has finished loading.
  5. Choose an output format. PNG is useful when you want lossless visual evidence. JPEG or WebP may reduce file size when supported and when compression is acceptable. Providers offer different formats.
  6. Inspect the image. Check for a consent screen, login page, bot challenge, missing product image, incomplete price or variant details, and a cut-off page. Retry only with settings and access that are permitted by the service and target site.
  7. Record the capture context. For repeatable monitoring, store the URL, time, viewport, capture mode, response status, and any relevant wait setting alongside the image.

Viewport, full-page, and element capture

Mode Use it when Check
Viewport You need the initial visible product presentation or a consistent screen-sized comparison. Important details may be below the fold or hidden until scrolling.
Full page You need a long description, specifications, reviews, or other below-the-fold sections in one capture. Maximum page height, lazy-loaded images, sticky elements, and full-page behavior are provider-specific.
Element crop You need a particular product panel or image, and the API supports a CSS selector. The selector must exist when capture runs; layout changes can make selectors brittle.

Full-page capture can require the browser to scroll or otherwise trigger lazy-loaded content. A capture may therefore omit images or sections that were never loaded. Inspect the output rather than assuming that selecting full-page guarantees every asset appears.

Wait for product content

Use the strongest documented readiness signal that fits the page:

  • Selector wait: wait for a stable element that indicates the content you need is present, such as a product title container. This ties capture to a page condition, but a changed layout or selector can cause a timeout.
  • Delay: wait a measured number of milliseconds after navigation. This is easy to apply but may waste time on fast pages and still be too short on slow ones.
  • Load condition: use a provider’s documented navigation or network condition. Do not treat network idle as a guarantee that every asynchronously updated component is complete.

Screenshot API documents URL capture, wait-until choices, selector waits, delay, full-page capture, and PNG/JPEG/WebP output in its REST API reference. Capture.page documents viewport sizing, selector waits, delay, full-page capture, cookie-banner handling, and output format in its screenshot options. These are provider-documented capabilities, not evidence of access to a particular marketplace.

Example: request a capture with ScreenshotNeo

The following examples use ScreenshotNeo’s documented endpoint. Replace the sample URL with a product page you are permitted to capture. The examples save the response body as an image; check the response status and headers in production so that an error response is not mistaken for an image. See the API documentation for options such as viewport dimensions, full-page output, format, and waits.

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()
with open("shot.webp", "wb") as f:
    f.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}`);
const bytes = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));

These sample calls use the target URL from the supplied API examples. Use your chosen product URL when you run them. Protect your API key: keep it in an environment variable or secret store in applications rather than committing it to source control or exposing it in browser-side code.

Or skip the browser setup

ScreenshotNeo takes a URL in one GET request and returns an image or PDF. Cookie banners, popups, and chat widgets are removed before the shot; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers report the page verdict and billing status. An MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. These features do not guarantee access to any particular marketplace.

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

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

Relevant options and edge cases

  • Consent and overlays: a consent banner, newsletter popup, or chat widget may obscure the product. Some services document controls for these elements; do not assume that a control will handle every site-specific overlay. ScreenshotNeo accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be disabled.
  • Viewport and device: select explicit width and height or a documented device preset. Device emulation can change page layout; verify the resulting screenshot visually.
  • Dynamic content: wait for the particular content needed. A price or variant might appear after page scripts run or after an interaction, and a screenshot captures only the state reached by the configured flow.
  • Full-page limits: check documented maximum height and behavior. Very long pages can be truncated or take longer to render.
  • Cookies and authentication: use custom cookies or headers only when you are authorized to access the page. Do not put credentials in logs or publicly shared URLs.
  • Bot responses: services may identify automated requests as bots. Cloudflare explicitly says Browser Run requests are identified as bots. Capture.page describes vendor options including stealth and bot-detection-bypass modes, and says its bypass mode is slower; that vendor description is not a guarantee of successful or permitted access to a marketplace.

Troubleshooting

Symptom Likely cause What to check
The output shows a bot challenge or access-denied page. The target site or an intermediary is restricting automated traffic. Confirm the URL works in a normal browser and check applicable site rules. Do not assume a provider option will work on that site.
The image is blank or shows an error page. Navigation failed, content did not render, or the target returned a different page. Check HTTP status and response headers, URL encoding, and provider error details; try a supported wait condition if content is dynamic.
Product images or details are missing. Lazy loading, JavaScript timing, or an incomplete page state. Wait for a relevant selector or use a measured delay; inspect whether full-page capture triggers lazy content.
The request times out. The page or resources load slowly, the wait condition never occurs, or the configured timeout is too short. Check the selector and wait settings, use a reasonable timeout, and retry within the provider’s documented limits.
The page is cut off. Viewport capture was used, or full-page capture reached a service limit. Choose full-page mode, check provider height limits, or capture a specific section.
The product panel is missing in an element capture. The selector changed, is not unique, or was not present before capture. Inspect the current page structure and choose a stable selector; configure a selector wait if supported.
The image file contains unreadable data or an API error. An error response may have been saved with an image extension. Check HTTP status and content type before saving; use the provider’s error response details to correct the request.

Performance, reliability, and cost

Rendering a page with scripts and images takes longer than fetching a static image, and full-page capture can require more work than a viewport screenshot. Use the smallest capture area and output size that satisfy your need, and wait for a meaningful page condition instead of adding a long fixed delay to every request. For recurring captures, track failures and inspect representative results; a successful HTTP response alone does not prove the intended product content is visible.

Provider documentation reviewed for this guide does not establish comparative speed, reliability, India-specific capture regions, or successful results on named Indian ecommerce sites. Confirm current pricing, limits, and permitted use with the provider and target site before building a recurring workflow. ScreenshotNeo’s supplied pricing is 1,000 free shots per month with no card; Starter is $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 on every plan.

Frequently asked questions

Can a screenshot API capture Amazon India or Flipkart?

This guide’s research does not establish that any provider reliably captures either site. Test the exact page and viewport within the site’s current access rules before depending on the result.

Should I use a screenshot API to extract prices?

A screenshot is a visual record, not structured product data. This workflow is for capturing how a page appears; it does not promise accurate price extraction.

Do I need a separate capture for mobile and desktop?

If you need to document both layouts, capture each with an intentional viewport and inspect both outputs. One viewport does not establish what another layout looks like.

Does full-page capture guarantee every product image is included?

No. Lazy-loaded content may not appear unless it is triggered and rendered before capture, and providers can impose full-page limits.