Website screenshots for your application.
Send a URL, get back a clean image. Previews, reports and archives without running your own headless browsers.
Free while we launch. Sign in with Google or GitHub.
Try it on your website
Paste a public URL. The demo captures a desktop viewport and does not save the image.
- Enter a website URL
- Capture the website
- Download your image

Capture the view your product needs.
Every option is a field in the request body. No browser flags, no infrastructure.
- 30 real device viewports
- Exact sizes for MacBooks, iMac, iPhones, iPads, Android phones and common desktop resolutions, with touch emulation on phones and tablets.
- PNG, JPEG or WebP
- Pick the format that fits: lossless PNG for UI, JPEG or WebP for smaller files.
- Full-page capture
- Capture everything below the fold in one image, with guardrails against runaway pages.
- Clean by default
- Consent dialogs are dismissed and common ad and tracking requests are blocked before the shot is taken.
- Realistic device frames
- Wrap a capture in the matching MacBook, iMac, iPhone, iPad or Android phone, with notches, buttons and metal finishes drawn in.
- Private for seven days
- Every image is stored privately for your account and removed after seven days. Fetch it again by ID.
One page, every screen size.
The same URL at the desktop and mobile presets. These two images are saved examples, not live captures.

Desktop · 1440 × 1000


From URL to image in three steps.
Step 1
Sign in and create a key
Use Google or GitHub, then create an API key in the dashboard. Keys are shown once and can be revoked at any time.
Step 2
Send a URL
POST the URL and any options to /v1/screenshots with your key in the Authorization header.
Step 3
Get an image back
The response is the image itself. The X-Screenshot-Id header lets you fetch it again for seven days.
A URL in. An image out.
The example uses this site’s address. Set SCREENSHOT_API_KEY to a key from the dashboard.
curl --fail-with-body "https://your-domain.com/v1/screenshots" \-H "Authorization: Bearer $SCREENSHOT_API_KEY" \-H "Content-Type: application/json" \-d '{"url":"https://example.com","device":"desktop","format":"png"}' \-o screenshot.png
Request options.
All fields except url are optional.
Public http or https URL, up to 2,048 characters. Credentials in the URL and private or local hosts are rejected.
- Values
string- Default
required
Viewport and frame preset, for example macbook-pro-14, iphone-17-pro or ipad-air-11. See the device list in the docs.
- Values
device id- Default
desktop
Image format of the response.
- Values
png | jpeg | webp- Default
png
Capture the whole scrollable page. Very large pages are rejected.
- Values
boolean- Default
false
Best-effort removal of cookie banners and common ad requests before capture.
- Values
boolean- Default
true
Draw the capture inside the matching device: MacBook, iMac, iPhone, iPad and more.
- Values
boolean- Default
false
What people build with it.
Link and site previews
Show a thumbnail of the page behind a URL in your product.
Reports and audits
Attach evidence of how a page looked to a PDF, ticket or email.
Visual archives
Keep dated copies of landing pages, pricing and competitors.
Docs and changelogs
Generate framed product shots straight from the live site.
Questions, answered.
Yes. Screenshot API is free while we launch, and no payment details are collected. If that changes, it will be announced before it affects you.
With Google or GitHub. There are no passwords to manage. After signing in you can create API keys from the dashboard.
Every capture is private to your account and expires seven days after it is created. You can download it from the dashboard or the API until then.
Cleanup is on by default. It dismisses common consent dialogs and blocks well-known ad and analytics requests. It is best effort, so some sites keep their banners; turn it off if it changes content you care about.
Any public http or https page. Private, local and internal addresses are blocked. Some sites block automated browsers and will return an error.
PNG, JPEG and WebP at the exact viewport of 30 devices, from MacBooks and iPhones to Full HD monitors and Android phones, optionally full page and optionally inside a realistic device frame. Images over 10 MB are rejected.
There are no account-level quotas right now, but captures are real browser sessions and the platform can slow or refuse requests under heavy load. Retry with backoff on 503 and 504 responses.
Yes. The demo on the home page captures a public URL at desktop size. It does not store anything.
Start capturing in a minute.
Free while we launch. Create an account and your first API key.