Skip to content

Authenticated capture

Capture dashboards and pages behind a login

Send the headers, token or cookies the page expects and capture it exactly as a signed-in person sees it. Wait for the chart to render, hide what should not be shared, and get the image back in one request.

Create a free accountRead the API docs

  • Headers, cookies and tokens
  • Wait for a selector
  • Hide any element
  • One credit per capture
POST /renderwolf/v1/screenshot
Authorization: Bearer rw_live_...

{
  "url": "https://app.example.com/reports",
  "headers": {
    "Authorization": "Bearer eyJhbGci..."
  },
  "cookies": [
    { "name": "session", "value": "..." }
  ],
  "wait_for_selector": "#revenue-chart",
  "hide_selectors": ["#support-widget"],
  "full_page": true
}

One request

The page you actually need is behind a session

Public pages are the easy half. The screenshots that matter are usually the dashboard, the admin view or the report, and those need a session, a token and a wait for the chart to finish drawing. That is where teams end up writing a Puppeteer script and then maintaining a browser, a login flow and a credential rotation.

Renderwolf takes the headers, cookies and token as request parameters, waits for the selector you name, and hides the elements you would rather not share. You keep the credential handling in your own code, where it belongs, and send the narrowest token that will load the page.

POST /renderwolf/v1/pdf
Authorization: Bearer rw_live_...

{
  "url": "https://app.example.com/invoice/1042",
  "headers": { "Authorization": "Bearer eyJhbGci..." },
  "paper_format": "a4",
  "print_background": true
}

Capabilities

Everything a session-protected page needs

The authentication, waiting and hiding that turn a login-protected view into a reliable image.

Headers, cookies and tokens

An Authorization header, arbitrary custom headers, cookies and a custom user agent, so the browser loads the page the way your session does.

Wait for what matters

Hold for a selector that only exists once the view has rendered, rather than guessing with a delay or trusting network idle on a chatty dashboard.

Remove what should not be shared

Hide any selector before capture, with ad blocking and cookie-banner hiding on top, so a shared screenshot leaves out the support widget and the personal name.

Any viewport or device

Capture the desktop layout, a tablet or a phone, at an exact viewport with a device scale factor up to 3 for a retina image.

Whole page or one panel

Full page, viewport, a single element by selector or an exact clip rectangle, so a dashboard can yield one chart rather than the entire screen.

No browser worker

One HTTPS request against warm Chromium in the UK, instead of a Puppeteer script and a session you have to keep alive and rotate.

Use cases

Where the useful screenshot needs a login

Anywhere the interesting page is one your customers or your team have to sign in to see.

Dashboard digests

Capture the authenticated view on a schedule and send it into an email or a channel where people already are.

Customer-facing reports

Render a customer their own view of a dashboard without giving them a seat in the product.

Support and incident records

Attach the state of an authenticated page to a ticket, with the personal details hidden by selector.

Staging and preview checks

Capture a protected environment from CI using the header it expects, then attach the image to the pull request.

Internal tool archives

Keep a record of what an admin view showed on a date, at a viewport you chose.

Onboarding and documentation

Regenerate product screenshots from a seeded account whenever the interface changes.

Capturing public pages as well?

Authentication is a set of parameters on the same endpoint. The screenshot API page covers the rest of it: formats, viewports, element and region capture, and full-page output.

The screenshot APIFull page screenshots

Pricing

One credit per capture, two per PDF

Authentication does not change the price. Start with 250 free credits each month and no card required, with paid plans from £9 per month for 5,000 credits. Cache hits cost nothing, failed work is refunded, and reaching a cap pauses rendering rather than billing overage.

See Renderwolf pricingCompare with other providers

Questions

Before you integrate

The details that decide whether this fits, without reading the whole reference first.

How do I authenticate the capture?

Send whatever the page expects: an Authorization header, custom headers, cookies, or a specific user agent. The browser loads the page with them, so a session-protected dashboard renders the way it does for a logged-in person.

My dashboard renders charts after load. How do I capture those?

Wait for a selector that only exists once the chart is drawn. That is more reliable than waiting for the network, because a dashboard often settles its requests before it finishes painting.

Can I capture a page on a private network or localhost?

No. Render targets are guarded against private, loopback and link-local addresses, so the page needs to be reachable on the public internet. A staging environment behind basic auth or a header works; one behind a VPN does not.

Are my credentials stored?

Headers and cookies are used to make the request and are not part of the cache key you can read back. Treat them as you would any secret in an API call: send the narrowest token that will load the page.

Can I hide parts of the page before capturing?

Yes. Pass a list of selectors to hide, and turn on ad blocking and cookie-banner hiding. Useful for removing a support widget, a personal name or a notification badge from a shared screenshot.

What if the page is slow?

Set a timeout per request, add a fixed delay of up to ten seconds, or wait for a specific selector. Failed work is refunded, so a render that never settles is not billed.

Does this work for PDFs too?

Yes. The same headers, Authorization header and cookies apply to a PDF request, so an authenticated statement prints exactly as it captures.

Capture your first authenticated page

Create an account, take a key and send the header your application already uses.

250 free credits each month, with no card required, hard usage caps and refunds on failed work.