Back to Screenshot.fyi in Google Sheets
SheetXAI logo
Screenshot.fyi logo
Screenshot.fyi · Google Sheets Guide

Bulk Capture Screenshots From a URL List in a Google Sheet

2026-05-14
5 min read

The Scenario

It's Wednesday afternoon and you are forty minutes into what you thought would be a thirty-minute task.

You are a UX researcher at a SaaS company. Your team is building a competitive analysis deck — thirty competitor landing pages, column A in a Google Sheet, neatly assembled. The ask is simple: capture a full-page screenshot of each one and get the image URLs into column B so the design team can embed them in the deck.

You opened Screenshot.fyi. You captured the first URL. You copied the link. You pasted it into B2. You went back to Screenshot.fyi. You are now on URL four.

The bad version:

  • Paste URL into Screenshot.fyi, wait for the capture to finish, copy the image link, switch to the sheet, click B-something, paste. Repeat twenty-six more times.
  • Lose track of which row you're on after URL twelve because you had to answer a Slack message, come back, and now you're not sure if you pasted the last link into B14 or B15.
  • Spend fifteen minutes at the end cross-referencing each link against each URL to find the two rows you got out of sync.

You have a draft deadline in two hours and the deck template isn't even open yet.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It can read every URL in your sheet, call Screenshot.fyi once per row, and write each returned image link directly into the adjacent column — in one go, without you touching the Screenshot.fyi UI.

Open the SheetXAI sidebar and paste this prompt:

Take a full-page screenshot of each URL in column A using Screenshot.fyi and write the returned image URL into column B

What You Get

  • Column B fills with Screenshot.fyi image URLs, one per row, aligned to the source URL in column A.
  • Rows where column A is empty are skipped automatically.
  • If a capture fails for a specific URL, SheetXAI surfaces the error in the corresponding cell rather than silently skipping — so you know exactly which one to recheck.
  • No tab-switching. No row-tracking. The sheet is the audit.

What If the Data Is Not Quite Ready

The URLs have trailing slashes, mixed protocols, or inconsistent formatting

Clean the URLs in column A — normalize to https://, strip trailing slashes, and lowercase the domain — then take a full-page screenshot of each cleaned URL using Screenshot.fyi and write the image URL into column B

Some rows already have a screenshot URL in column B and should not be recaptured

For each row in column A where column B is empty, use Screenshot.fyi to capture a full-page screenshot and write the image URL into column B — skip rows where column B already has a value

Screenshots are needed only for competitors in the "Enterprise" tier, flagged in column C

Take a full-page screenshot via Screenshot.fyi for each URL in column A where column C says "Enterprise", and write the returned image URL into column B

Full cleanup-and-capture pipeline in one shot

Normalize the URLs in column A (https://, no trailing slash), screenshot each unique domain using Screenshot.fyi, write the image URL into column B, and flag any duplicate URLs in column D with "DUPLICATE"

The pattern is to fold the cleanup into the same prompt as the capture — one ask, one pass through the data.

Try It

Get the 7-day free trial of SheetXAI and open the Google Sheet where you're running your next UX or competitive audit. Drop your URL list into column A and ask SheetXAI to screenshot and log them — then check out the client site monthly report spoke or the hub overview for more ways to use the integration.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more