Zapier, Make and n8n do not have a screenshot step. They do not need one. Every one of them has an HTTP step, and one HTTP call to RenderScreenshot returns a link to the screenshot. The link goes straight into a Google Sheets cell, an Airtable attachment field, a Slack message or an OpenAI vision step. You do not handle a binary file, and you do not run Puppeteer or Chrome.
This page shows the request, the setup in each platform, and the four workflows people build most.
The one request you need
All three platforms send the same GET request. Copy it into a terminal first to check that your key works:
curl "https://api.renderscreenshot.com/v1/screenshot?url=https://example.com&full_page=true&block_cookies=true&cache_available=true" \ -H "Authorization: Bearer rs_live_YOUR_KEY" \ -H "Accept: application/json"
The Accept: application/json header is the important part. It tells the API to return JSON with a link instead of the image bytes:
{ "id": "req_8f3a1c2e9b7d4e60", "status": "completed", "image": { "url": "https://cdn.renderscreenshot.com/...png", "width": 1280, "height": 5120, "format": "png" }, "cache": { "hit": false, "url": "https://cdn.renderscreenshot.com/...png", "expires_at": "2026-10-16T09:00:00Z" }, "usage": { "credits": 1, "remaining": 149 } }
Map image.url into your next step. The link needs no API key, so it is safe to post in Slack or email.
The settings people use most
| Query parameter | Example | What it does |
|---|---|---|
url |
https://example.com |
The page to capture. Include https://. |
full_page |
true |
Captures the whole scrolling page instead of one screen. |
block_cookies |
true |
Hides cookie and consent banners before the capture. |
block_ads |
true |
Hides ads. |
preset |
og_card |
A ready-made size, for example og_card (1200x630) or full_page. |
format |
jpeg |
png (default), jpeg, webp or pdf. JPEG files are smaller for Slack and email. |
delay |
2000 |
Waits this many milliseconds more before the capture, for slow pages. |
cache_available |
true |
Reuses an identical screenshot from the cache for 0 credits. Use it in every workflow that can replay. |
cache_ttl |
2592000 |
How long the link works, in seconds. 3600 (1 hour) to 2592000 (30 days). Default 86400 (24 hours). |
The GET endpoint reference lists every parameter.
Set it up in your platform
Zapier
- Add an action step. Choose Webhooks by Zapier, then GET.
- In URL, enter
https://api.renderscreenshot.com/v1/screenshot. - In Query String Params, add
urland map the website field from your trigger. Addblock_cookies=trueandcache_available=true. - In Headers, add
Authorization=Bearer rs_live_YOUR_KEYandAccept=application/json. - Test the step. Map Image Url into the next step.
Webhooks by Zapier is a premium app on Zapier. The Zapier guide has the full field mapping, a Code by Zapier version, and an error table.
Make
- Add the HTTP app and choose the Make a request module.
- Set URL to
https://api.renderscreenshot.com/v1/screenshotand Method toGET. - Under Headers, add
Authorization=Bearer rs_live_YOUR_KEYandAccept=application/json. - Under Query String, add
url(mapped from your sheet or trigger),block_cookies=trueandcache_available=true. - Turn on Parse response. Map
image.urlinto the next module.
If a later module needs the file itself, for example Google Drive Upload a File, add an HTTP Get a file module that downloads image.url first. The Make to Google Drive guide has a blueprint for this scenario.
n8n
- Add an HTTP Request node. Set Method to
GETand URL tohttps://api.renderscreenshot.com/v1/screenshot. - Set Authentication to Generic Credential Type, then Header Auth. Create a credential with the name
Authorizationand the valueBearer rs_live_YOUR_KEY. The key then stays out of exported workflow JSON. - Turn on Send Query Parameters and add
url(an expression such as{{ $json.website }}),block_cookies=trueandcache_available=true. - Turn on Send Headers and add
Accept=application/json. - Run the node. The next node reads the link as
{{ $json.image.url }}.
This uses only the built-in HTTP Request node, so it works on n8n Cloud. Community nodes, which need self-hosted n8n, are not required.
Four workflows to build
1. A screenshot for every URL in a Google Sheet
Trigger: a new or updated row in Google Sheets. Steps: the HTTP request above, then Update row with image.url in a "Screenshot" column. Add =IMAGE(B2) in another column to show a thumbnail in the sheet.
The link expires with the cache. If the sheet must keep the image for longer than 30 days, add a step that uploads the file to Google Drive and store the Drive link instead.
2. Website thumbnails in Airtable
Trigger: a new record with a website field. Steps: the HTTP request, then Update record with image.url in an attachment field. Airtable downloads the file and keeps its own copy, so the attachment does not expire when the cache does.
3. A daily screenshot archive
Trigger: a schedule (every day at 09:00). Steps: a list of URLs, one HTTP request for each, then upload each image to a dated Google Drive folder or post it to Slack. This gives you a visual record of competitor pricing pages, your own landing pages or ads, with the capture date in the folder name.
On the free plan, 150 screenshots a month is enough for a daily capture of a few pages.
4. Screenshot, then an AI audit
Trigger: a new lead with a website. Steps: the HTTP request with full_page=true, then an OpenAI or Anthropic step that reads the image from image.url, for example n8n's OpenAI Analyze Image operation. Ask for three concrete issues on the page. Then use the answer to write a personal first line for outreach, or save it as a website audit.
Send a link, not the file. A large full-page image passed through the workflow as binary data can use a lot of memory, and a link keeps the step small.
What it costs
| Event | RenderScreenshot credits |
|---|---|
| A new screenshot, any size or format | 1 |
| A failed screenshot (timeout, page error, bad URL) | 0 |
A replayed step with cache_available=true |
0 |
| Opening the image link | 0 |
| Reaching your monthly limit | Requests stop with insufficient_credits. There is no overage bill. |
Your automation platform also counts the HTTP step: one Zapier task, one Make operation, or part of one n8n execution. Plans start at 150 free screenshots a month with no credit card. See pricing for the paid plans.
When a screenshot looks wrong
- The step returns binary text. Add the
Accept: application/jsonheader. - A cookie banner covers the page. Add
block_cookies=true. For banners that need a click, see the cookie banner guide. - The page is half loaded. Add
delay=2000, or use the POST request withwait.untilset tonetworkidle. - The page needs a login. Send cookies or headers with the request. See network options.
- The site shows "Verify you are human". We do not solve CAPTCHAs or hide the browser. See bot protection for what works.
- Every run uses a credit for the same page. Add
cache_available=true.
Start building
- Create a free account and copy your
rs_live_key from the dashboard. - Run the curl command above to check the key.
- Add the HTTP step to your Zap, scenario or workflow, and map
image.urlinto the next step.
Building an AI agent instead of a workflow? See the screenshot API for AI agents.