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
- ✓ No headless Chrome to install, run, or scale.
- ✓ A single HTTP request — works anywhere Laravel can make a fetch.
- ✓ Full-page capture, custom viewport, PNG or JPEG.
- ✓ Free tier with 100 requests per month to start.
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.