Screenshot a Page Behind a Login in Zapier
Some of the pages worth capturing only exist once you're signed in — an internal dashboard, a client's admin view, a members-only report. Pass a session cookie to Zapier's native Rendex Capture Screenshot action and it renders the page as the logged-in user, then hands back the image. No browser to script, no code. (Cookies and Custom Headers are a Rendex Basic+ feature.)
Last updated 2026-07-21
The Problem
A plain screenshot API only sees what a signed-out visitor sees, so pointing it at a dashboard or a paywalled report just captures the login screen. The usual fix is to script a real browser: launch headless Chrome, drive the login form, wait for the app to hydrate, then screenshot — a fragile pile of automation to build and babysit, and completely off-limits in a no-code Zapier stack. So authenticated pages tend to get captured by hand, one signed-in tab at a time.
The Solution
Rendex's Capture Screenshot action accepts a Cookies field — a JSON array of your session cookies — so it loads the page already authenticated and renders the real content, not the login wall. You grab the cookie once from your browser's dev tools (or a login step earlier in the Zap) and paste it in; add Custom Headers if the app needs an auth token or a tenant header. Everything else is a normal capture: pick the format, turn on Full Page, and the action returns the image for the next step to file or post. It's fully no-code. Note that Cookies and Custom Headers require a Rendex paid plan (Starter, Pro, or Enterprise) — separate from your Zapier plan; a free Rendex key returns a 403 upgrade error on those fields.
How the Workflow Runs
Trigger
Any Zapier trigger — a daily schedule, a new row, a form, or a webhook — kicks off the capture.
Rendex — Capture with Cookies
Paste a JSON array of session cookies (and any Custom Headers) into the native action. Rendex loads the page authenticated, so the real content renders instead of a login wall.
Deliver
The returned image goes to Slack, Google Drive, or an email step — the same as any other capture.
Input → Rendered Output

Rendered by Rendex
What You Need
- A Rendex API key on a paid plan (Starter, Pro, or Enterprise) — Cookies and Custom Headers are gated to paid plans; a free key returns a 403 on those fields.
- A Zapier account with the Rendex app connected (search "Rendex", add your key once).
- A valid session cookie for the target page (from your browser's dev tools, or captured by a login step earlier in the Zap), formatted as a JSON array.
- A delivery step: Slack, Google Drive, Dropbox, or an email action to receive the image.
What This Recipe Uses
Render as the logged-in user
Pass a JSON array of session cookies and Rendex loads the page authenticated — so a dashboard or paywalled report renders its real content instead of a sign-in form.
Custom Headers too
Apps that authenticate with a bearer token or need a tenant/workspace header? Add a Custom Headers JSON object alongside the cookies — Host, Connection, Content-Length, and Transfer-Encoding are the only ones you can't override.
Full-page, real-browser capture
Once authenticated it's a normal capture: turn on Full Page for the whole report, add a Delay or Wait-For-Selector for slow-hydrating SPAs, and pick PNG or PDF.
No headless browser to babysit
Rendex owns the browser, the login state you supply, and the render — you never launch Chrome, drive a login form, or keep a scraping box alive.
Build It
# Zapier — action config (no code). Cookies/Headers = Rendex Basic+.
Trigger: Schedule by Zapier — Every day 8am
Action: Rendex — Capture Screenshot
Source Type: URL
URL: https://app.example.com/dashboard
Output Format: PNG
Full Page: true
Cookies: [{"name":"session","value":"abc123","domain":"app.example.com"}]
Custom Headers: {"X-Tenant":"acme"} # optional
Next: Slack — Send file to #reporting
File = {{ Rendex: File }}# The action posts this. cookies is a JSON array; headers a JSON object.
# Both require a Rendex paid plan (Basic+) — a free key returns 403.
curl -X POST https://api.rendex.dev/v1/screenshot \
-H "Authorization: Bearer rdx_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://app.example.com/dashboard",
"format": "png",
"fullPage": true,
"cookies": [
{ "name": "session", "value": "abc123", "domain": "app.example.com" }
],
"headers": { "X-Tenant": "acme" },
"async": true
}'
# 403 PLAN_UPGRADE_REQUIRED on a free key means cookies/headers need Basic+.100 free API calls/month — no credit card required. Get your API key and start building.
Reach for this when the thing you need a picture of lives behind a sign-in: a SaaS dashboard you report on weekly, a client's account view you snapshot for records, a members-only page you audit for changes. The hard part everywhere else — driving a login in a headless browser — collapses into pasting a cookie value into one field, because Rendex applies your session and renders the authenticated page directly. Grab the cookie from your browser's dev tools (Application → Cookies) for a page you're logged into, or capture it from a login request earlier in the Zap; add Custom Headers when the app authenticates with a bearer token or needs a tenant/workspace header. From there it's an ordinary capture — Full Page for the whole report, a Delay or Wait-For-Selector if the app is a slow-hydrating SPA. Two honest caveats: cookies expire, so long-lived automations need a way to refresh them, and Cookies/Custom Headers are a Rendex Basic+ feature (a free key returns a 403 on those fields), separate from whatever Zapier plan you're on.