Google Sheets has an IMAGE() formula that takes a URL and shows the picture
in the cell. It needs a URL that returns an image directly, which is exactly
what /take does.
=IMAGE("https://api.screenshotline.com/take?url=" & ENCODEURL(A2) & "&viewport_width=1280&viewport_height=800&cache=true&cache_ttl=604800&signature=" & B2)
Column A holds URLs, column B holds the signature for that row, and the thumbnails appear.
Sign the URLs, do not paste a key
A spreadsheet gets shared, exported and copied. A key pasted into a formula goes everywhere the sheet goes.
Generate a signed URL per row instead, with a script or on your own machine:
node tools/sign.js "https://example.com" viewport_width=1280 viewport_height=800
The signature covers every parameter, so a shared sheet exposes a URL that renders one page at one size and nothing else.
Cache aggressively
A sheet re-renders its images often, and the same row asks for the same page
repeatedly. A long cache_ttl means most of those are cache hits, which are
never billed.
Where this is genuinely useful
Competitive research where a human scans fifty homepages, link audits where you want to see what each destination looks like, content inventories, and any review process where a list of URLs is easier to judge with pictures attached.
Limits
IMAGE() fetches from Google's servers rather than your browser, so the URL
must be publicly reachable and the render must be reasonably fast. Pages
behind a login will not work unless you pass credentials in the request, which
is not something to put in a shared sheet.
The same approach works in Airtable, Notion and anywhere else that renders an image from a URL.