Skip to main content

Get your first screenshot

Capture your first screenshot and explore advanced features. You’ll go from zero to production-ready integration in under 5 minutes.
1

Create your account

Sign up for a free account at screenshothis.com to get 100 free screenshots per month.
You’ll be redirected to your dashboard immediately after registration
2

Generate your API key

Navigate to API Keys in your dashboard and create your first API key.
Your API keys use domain whitelisting for security—you can safely commit them to version control. Configure allowed domains in your dashboard to control where your key works.
3

Make your first request

Test your API key with a simple screenshot request using any method below.

Your first screenshot

The quickest way to test the API:
Your screenshot saves as screenshot.jpeg in the current directory

Customize your screenshots

Control format, size, and behavior with these parameters:

Mobile device simulation

See how your website appears on mobile devices:

API parameters

Customize your screenshots with these parameters:

Required parameters

string
required
Your API key from the dashboard. Uses domain whitelisting for security—safe to commit to version control.
string
required
The website URL to screenshot. Must be a valid URL including protocol (http:// or https://).

Viewport and device settings

integer
default:"1920"
Viewport width in pixels. Range: 100-3840.
integer
default:"1080"
Viewport height in pixels. Range: 100-2160.
boolean
default:"false"
Simulate mobile device viewport and user agent.
boolean
default:"false"
Set device orientation to landscape when using mobile simulation.
boolean
default:"false"
Enable touch input simulation for the device.
number
default:"1"
Device pixel ratio for high-DPI displays. Common values: 1, 1.5, 2, 3.

Image output settings

string
default:"jpeg"
Image format. Options: jpeg, png, webp.
integer
default:"80"
Image quality for JPEG and WebP formats. Range: 20-100.
string
CSS selector to screenshot a specific element instead of the full page.

Content filtering

boolean
default:"false"
Block advertisements and tracking scripts for cleaner screenshots.
Automatically dismiss cookie consent banners and privacy notices.
boolean
default:"false"
Block all trackers and third-party scripts.

Accessibility and preferences

string
default:"light"
Set color scheme preference. Options: light, dark.
string
default:"no-preference"
Set motion preference for animations. Options: no-preference, reduce.

Caching settings

boolean
default:"false"
Enable caching for this screenshot to improve performance on repeated requests.
integer
default:"3600"
Cache time-to-live in seconds when caching is enabled. Range: 3600-31622400 (1 hour to 1 year).
string
Custom cache key for grouping related screenshots. Use with is_cached=true.

Content filtering (NEW)

string
Block specific URL patterns during page load. One pattern per line, supports wildcards.
array
Block specific resource types from loading. Available types: document, stylesheet, image, media, font, script, texttrack, xhr, fetch, prefetch, eventsource, websocket, manifest, signedexchange, ping, cspviolationreport, preflight, other.

Advanced browser settings

string
Custom HTTP headers in Name: Value format, one per line. Maximum size: 8KB.
string
Custom cookies using Set-Cookie syntax, one per line. Maximum size: 4KB.
boolean
default:"false"
Bypass Content Security Policy restrictions. Use only when necessary for specific sites.
Security and size limits:
  • Headers: Maximum 8KB total size
  • Cookies: Maximum 4KB total size
  • URL length: Maximum 2048 characters
  • Request timeout: 30 seconds maximum

Response formats

Image response (default)

You receive the screenshot image directly as binary data:
Content-Type: image/jpeg, image/png, or image/webp based on your format parameter.

Error responses

When requests fail, you receive a JSON error response:
Common HTTP status codes:
  • 400 - Bad request (invalid parameters)
  • 403 - Forbidden (invalid API key or quota exceeded)
  • 429 - Too many requests (rate limit exceeded)
  • 500 - Internal server error

Test the API interactively

API Playground

Test the API with different URLs and parameters to see results instantly.

Try different parameters without writing code

Sample URLs for testing

Try these URLs to see different screenshot results:
  • Modern website: https://screenshothis.com
  • Code repository: https://github.com/screenshothis/screenshothis
  • Documentation: https://docs.screenshothis.com
  • News site: https://news.ycombinator.com

Real-world examples

Generate dynamic og:image tags for better social media sharing:
Perfect for Twitter, LinkedIn, and Facebook sharing cards
Create thumbnails for link previews, portfolios, or dashboards:
Use WebP format for smaller file sizes in web applications
Capture screenshots for automated testing pipelines:
Ideal for CI/CD pipelines and automated quality assurance
The most efficient approach - construct the URL directly:
React component example:
Much more efficient! The browser fetches the image directly - no intermediate processing needed

Next steps

API Reference

Explore all available parameters, response formats, and error handling

JavaScript SDK

Use our official TypeScript SDK with full type safety and error handling

Self-hosting

Run Screenshothis on your own infrastructure for complete control

OpenAPI Spec

Generate client libraries for any programming language