Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Screenshot.rocks is for styling screenshots you already have; its homepage does not document capturing website URLs in bulk or integrating with Google Sheets. To automate captures, put URLs in a sheet, use Google Apps Script to send each URL to a screenshot-rendering service, then write the result back. You can use Screenshot.rocks afterward to turn selected captures into mockups.

What Screenshot.rocks does—and what it does not document

Screenshot.rocks describes an online editor for placing an existing screenshot in a browser window or iPhone mockup, choosing a background, adding markup, and exporting. Its homepage says images are processed in the browser and are not stored on Screenshot.rocks servers: Screenshot.rocks. That statement concerns its mockup editor; it does not describe an external screenshot service, Google Sheets, or files you store elsewhere.

The homepage does not document a bulk URL capture or Google Sheets integration. That is not proof that no unlisted feature exists, but there is no documented basis for treating Screenshot.rocks as the renderer in the workflow below.

How bulk website capture from Sheets works

Google Sheets stores the input URLs and results. A bound Apps Script reads each row and calls a screenshot provider using UrlFetchApp; the provider—not Sheets—loads and renders each website. The script can then record a returned image URL or a status in the corresponding row. Google documents UrlFetchApp for making HTTP requests from Apps Script: UrlFetchApp.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Epson Workforce ES-50 Compact & Lightweight Mobile Document Scanner
  • PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
  • QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
  • VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
  • INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
  • EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0

Sheets’ IMAGE function displays an image from an image URL; it does not visit a webpage and capture it. The screenshot must be generated first. See Google’s IMAGE function documentation.

Prepare the spreadsheet and provider

  1. Create columns. Use a header row such as URL, Image URL, Status, and optionally Captured at. Put one complete website URL per row beneath the URL header.
  2. Choose a renderer. Check its current documentation for endpoint, authentication, accepted parameters, whether it returns image bytes or a hosted URL, full-page support, quotas, rate limits, retention, and pricing. Provider APIs are not interchangeable; do not assume a sample for one service works with another.
  3. Protect credentials. Store the API key in Apps Script project properties or an appropriate secret store—not in a sheet cell, formula, or code shared with users. Limit access to the script and spreadsheet to people who should be able to use the credential and see the captures.
  4. Decide how results should be stored. A provider may return image bytes, a URL, or an asynchronous job identifier. If you need an image in a cell, use a directly accessible image URL with =IMAGE(B2) when the URL is in B2. A URL that requires authorization or expires may not work later in a cell.

Apps Script example: capture rows with a provider-specific request

There is no universal screenshot API request schema, so the following is a runnable Apps Script structure, not a plug-in provider integration. Replace the endpoint, authentication, request parameters, and response parsing with the selected provider’s documented values. This version expects the provider to return a JSON object containing an image URL in image_url; adapt that line if its response differs.

Rank #2
Sale
Brother DS-640 Compact Mobile Document Scanner, (Model: DS640)
  • FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
  • ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
  • READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
  • WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
  • OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
  1. In the spreadsheet, select Extensions → Apps Script.
  2. In Apps Script, open Project Settings and add a script property named SCREENSHOT_API_KEY with your provider’s key.
  3. Paste the code below and replace PROVIDER_ENDPOINT, Authorization details, and the JSON response field to match that provider.
  4. Save, select captureUrls in the function selector, then click Run. On first run, review and grant the requested spreadsheet and external-request permissions.
const PROVIDER_ENDPOINT = 'https://provider.example/v1/screenshot';

function captureUrls() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();
  if (lastRow < 2) return;

  // Columns: A = URL, B = image URL, C = status, D = captured at
  const rows = sheet.getRange(2, 1, lastRow - 1, 4).getValues();
  const apiKey = PropertiesService.getScriptProperties()
    .getProperty('SCREENSHOT_API_KEY');
  if (!apiKey) throw new Error('Set SCREENSHOT_API_KEY in Script Properties.');

  rows.forEach((row, index) => {
    const url = String(row[0] || '').trim();
    const existingImage = row[1];
    const sheetRow = index + 2;
    if (!url || existingImage) return; // Skip blank and completed rows.

    if (!/^https?:///i.test(url)) {
      sheet.getRange(sheetRow, 3).setValue('Error: URL must start with http:// or https://');
      return;
    }

    try {
      const response = UrlFetchApp.fetch(PROVIDER_ENDPOINT, {
        method: 'post', // Change to the provider's documented method.
        contentType: 'application/json',
        headers: { Authorization: 'Bearer ' + apiKey },
        payload: JSON.stringify({ url: url, format: 'png' }),
        muteHttpExceptions: true
      });
      const code = response.getResponseCode();
      const body = response.getContentText();
      if (code < 200 || code >= 300) {
        sheet.getRange(sheetRow, 3).setValue('HTTP ' + code + ': ' + body.slice(0, 300));
        return;
      }

      const result = JSON.parse(body);
      if (!result.image_url) throw new Error('Response has no image_url field.');
      sheet.getRange(sheetRow, 2).setValue(result.image_url);
      sheet.getRange(sheetRow, 3).setValue('Done');
      sheet.getRange(sheetRow, 4).setValue(new Date());
    } catch (err) {
      sheet.getRange(sheetRow, 3).setValue('Error: ' + err.message);
    }
  });
}

The example skips rows that already have an image URL. To refresh captures, intentionally clear column B for the rows to recapture, or change the skip condition. If the service responds with image bytes rather than a hosted URL, this JSON parsing and URL-writing approach is not suitable as-is: follow its documentation for storing the image (for example, in Drive) and write the resulting accessible link.

Show a saved image in a cell

If column B contains a directly accessible image URL, enter =IMAGE(B2) in another column and fill down. This embeds a display of the image; it does not change the image’s access controls or make an authenticated or expired URL usable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Canon imageFORMULA R10 - Portable Document Scanner, USB Powered, Duplex Scanning, Document Feeder, Easy Setup, Convenient, Perfect for Mobile Users, White
  • STAY ORGANIZED – Easily convert your paper documents into digital formats like searchable PDF files, JPEGs, and more.Power Consumption : 2.5W or less (Energy Saving Mode: 0.7W). Suggested Daily Volume : 500 scans..Does it contain liquid: no
  • CONVENIENT AND PORTABLE –lightweight and small in size, you can take the scanner anywhere from home offices, classrooms, remote offices, and anywhere in between
  • HANDLES VARIOUS MEDIA TYPES – Digitize receipts, business cards, plastic or embossed cards, reports, legal documents, and more
  • FAST AND EFFICIENT – No technical hurdles or complicated setups here; easily scan both sides of a document at the same time, in color or black-and-white, at up to 12 pages-per-minute, and with a 20 sheet automatic feeder
  • BROAD COMPATIBILITY – Works with both Windows and Mac devices, be it laptop or computer

Run on demand or on a schedule

For manual runs, use the Apps Script editor’s Run button. For recurring work, Apps Script supports installable triggers, including time-driven triggers; configure one for the capture function only after deciding whether each run should skip completed rows or refresh them. See Google’s installable triggers guide. A scheduled script can run when nobody has the sheet open, so make its error and overwrite behavior explicit.

Handle larger URL lists safely

Do not assume a single execution can capture an unlimited list. Each URL requires a provider request, and execution limits, provider rate limits, or transient failures can interrupt a long run. Process a bounded number of rows per execution, record progress in the sheet, and resume from the next pending row. Use retries only for transient failures and avoid retry loops that can multiply requests or costs.

Rank #4
IRIScan Express 4 Black Compact Portable USB Simplex Document Scanner, 8 PPM for Contracts, Invoices and Business Cards, Compatible with Windows, Readiris PDF Included
  • IRIScan Express, portable scanner : scans color and black and white documents a blazing speed up to 8ppm simplex. Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
  • IRIScan Express mobile scanner is powered via an included micro USB 2. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan. USB cable provided. AC Adapter not provided and not needed.
  • IRIScan flatbed scanner uses a simplex scanning mode allows for quick and straightforward scanning of single-sided documents. IRIScan with its full portable features is the ideal document scanners for computers.
  • IRIScan document scanner : Versatile scanning capabilities, including scanning to Word, PDF, and Excel formats with companion software provided Readiris OCR
  • Receipt scanner and card scanner with Additional features include scanning business cards directly to Outlook, photo scanning, and receipt scanning for efficient document management

Batching writes to the spreadsheet can reduce spreadsheet round trips, but it does not batch the screenshot rendering itself. Google’s Sheets API batching guidance applies to spreadsheet API requests: Batch requests. A screenshot provider may separately offer a batch endpoint or asynchronous jobs; confirm its documented behavior before designing around either.

Privacy, reliability, and cost decisions

  • Image access: Treat captures as potentially sensitive. A Drive file made accessible to anyone with the link can be displayed conveniently, but link access can expose the captured page. Do not loosen sharing just to make IMAGE work.
  • URL lifetime: A provider-hosted image may expire, require authentication, or have retention limits. Confirm these before relying on links for an archive or scheduled reporting.
  • Failures: Record per-row status so one bad URL does not obscure the rest of a batch. Distinguish invalid input, provider HTTP errors, malformed responses, and missing image links.
  • Cost and quota: Check the current provider plan, request limits, and retry policy. A script that recaptures every row on every schedule can use far more requests than one that processes only new or explicitly refreshed rows.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting

  • Authorization prompt or permission error: Run the function manually in Apps Script and grant the requested access. If it still fails, check that the script is bound to the intended spreadsheet and that the executing account can edit it.
  • HTTP 401 or 403: Check the API key, authentication header format, account permissions, and whether the provider expects a different credential mechanism. Do not move the key into the sheet to debug it.
  • HTTP 400: The URL, HTTP method, parameter names, or payload may not match the provider’s API. Compare the request with its current documentation; the example’s endpoint and schema are deliberately placeholders.
  • HTTP 429 or intermittent server errors: The provider may be rate limiting or temporarily unavailable. Reduce batch size, respect any documented retry guidance, and retry failed rows later rather than rerunning every completed row.
  • Blank or broken image in Sheets: Confirm the result is a direct image URL accessible to the viewer and has not expired. IMAGE cannot render a webpage URL or retrieve an image that requires credentials the formula cannot provide.
  • Rows remain pending: Check that URLs are in column A, that row 1 is the header, and that column B is empty for rows meant to run. The sample intentionally skips rows with an existing image URL.
  • Script stops partway through: Use smaller bounded batches and checkpoint each completed row. Resume from pending rows; avoid clearing successful results unless you want a new capture.

Or skip the browser setup

ScreenshotNeo offers a screenshot API and MCP server for developers. Its API can return a screenshot or PDF from a GET request; use the example below for a single capture, then adapt your script to the API if you want to iterate through sheet rows. One call can be made with cURL, Python, or Node.js:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
  • Scanner type: Document
  • Connectivity technology: USB
  • With Auto Scan Mode, the scanner automatically detects what you're scanning
  • Digitize documents and images
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for authentication and request options. Its consent-banner, popup, and chat-widget cleanup runs before capture; bot checks, blank pages, and failed loads are not billed. Its 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 ScreenshotNeo free to get 1,000 screenshots a month with no card.

Frequently Asked Questions

Can Google Sheets capture a website with IMAGE alone?

No. IMAGE displays an image URL; a renderer must capture the website first.

Can I use Screenshot.rocks as the bulk capture API?

Its homepage documents screenshot mockup editing, not a bulk URL capture or Google Sheets integration.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

SaleBestseller No. 3
Canon imageFORMULA R10 - Portable Document Scanner, USB Powered, Duplex Scanning, Document Feeder, Easy Setup, Convenient, Perfect for Mobile Users, White
Canon imageFORMULA R10 - Portable Document Scanner, USB Powered, Duplex Scanning, Document Feeder, Easy Setup, Convenient, Perfect for Mobile Users, White
BROAD COMPATIBILITY – Works with both Windows and Mac devices, be it laptop or computer; This product is not intended for scanning photographs on photo paper / photographic media
$153.00
Bestseller No. 4
IRIScan Express 4 Black Compact Portable USB Simplex Document Scanner, 8 PPM for Contracts, Invoices and Business Cards, Compatible with Windows, Readiris PDF Included
IRIScan Express 4 Black Compact Portable USB Simplex Document Scanner, 8 PPM for Contracts, Invoices and Business Cards, Compatible with Windows, Readiris PDF Included
Find our Software here : irislink.com/start; IRIScan Express is only compatible Windows platform and not macintosh
$129.00
Bestseller No. 5
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Scanner type: Document; Connectivity technology: USB; With Auto Scan Mode, the scanner automatically detects what you're scanning
$75.00

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.