FAQ · Authentication & security

Can I capture authenticated or internal pages with a Screenshot API?

It depends on where the page lives. For publicly reachable authenticated pages, yes — pass session cookies, HTTP Basic auth headers, or a signed URL with your request. For pages behind a VPN or firewall, you need to self-host the Screenshot API inside your own network.

Scenario 1: Public page with login required

If the page is publicly reachable over the internet but requires authentication, you have three options:

Option A — Pass session cookies

GET https://api.snapshotflow.com/screenshot
  ?url=https://app.myservice.com/dashboard
  &cookies=session_id=abc123; auth_token=xyz

Option B — HTTP Basic authentication

GET https://api.snapshotflow.com/screenshot
  ?url=https://staging.myservice.com/report
  &http_auth_user=admin&http_auth_pass=secret

Option C — Signed or time-limited URL

Generate a short-lived signed URL to the protected resource from your backend, then pass it as the url parameter. The API fetches it while valid; no credentials travel through the API parameters.

Scenario 2: Page behind a VPN or firewall (internal network)

A managed Screenshot API renders from the vendor's network and cannot reach 192.168.x.x addresses, private Kubernetes services, or anything behind a VPN — even with credentials.

The solution is to self-host the Screenshot API inside your own infrastructure:

docker run -p 3000:3000 \
  -e API_KEY=your-key \
  snapshotflow/api:latest

Once running inside your VPC or on-premises network, it can reach any internal host including staging environments, admin dashboards, Grafana, and CI preview deployments.

Security best practices

  • Never send production admin credentials to a managed API; use scoped read-only tokens
  • Prefer signed short-lived URLs over long-lived session cookies when the vendor stores request logs
  • For GDPR or SOC 2 compliance requirements, the self-hosted option keeps all data inside your infrastructure
  • Rotate credentials after every CI run; use environment variables, never hardcode them

Self-host or use the managed API

SnapshotFlow supports cookies, HTTP Basic auth, and signed URLs on the managed plan. The Docker image brings full parity to your private network.

← Back to all FAQ