Screenshot API for Laravel

Capturing website screenshots from Laravel usually means running and scaling a headless browser yourself. With Snapraven you skip all of that — use Laravel’s HTTP client to fetch a screenshot in one line.

What you can build with Laravel

Build client website-report thumbnails, link previews in Blade views, or scheduled archives of pages your app monitors — and store each result straight to an S3 disk with Laravel’s filesystem.

Example in Laravel

$png = Http::withHeaders(['x-api-key' => config('services.snapraven.key')])
    ->get('https://api.snapraven.app/v1/screenshot', ['url' => $target])
    ->body();

That's the entire integration. Snapraven renders the page in a real Chromium browser and returns a PNG or JPEG. Add fullPage=true for the full scrollable page, or width/height for custom viewports.

💡 Tip for Laravel

Keep the key in `config/services.php` backed by `.env`, and push captures to a queued job (Horizon) when you process many URLs so the HTTP calls never block a web request.

Why developers use Snapraven with Laravel

Laravel screenshot API — FAQ

Where should the key live?

In `config/services.php` read from `.env` — never hard-coded. Reference it with `config('services.snapraven.key')`.

How do I capture many URLs?

Dispatch a queued job per URL, or POST your list to the bulk endpoint and store the returned ZIP via `Storage::put`.

Other guides

Not a developer? Capture screenshots with no code in the dashboard — paste URLs and download a ZIP.

Add screenshots to your Laravel app today

Get your free API key