Screenshot API for Developers

Capture any web page programmatically. Social cards, documentation, visual testing, PDF reports, and automation — one API call.

Try it now — enter any URL

Preset:

Generated Screenshot (1200×630)

Preview will appear here

Preview on Twitter

yourapp.com

Page Title Goes Here

Description of the page content...

Preview as:

Trusted by developers at

Vercel Supabase Railway Resend Cal.com Dub.co

How it works

1

Add the meta tag

Drop one line into your HTML <head>. That's it.

<meta property="og:image" content="https://api..." />
2

We render on demand

First request: we screenshot your page. Then it's cached on our CDN.

~200ms
3

Links look great

Twitter, LinkedIn, Slack show rich previews automatically.

yourapp.com

Page Title

One line of code. Seriously.

html
<!-- Add to your page's <head> -->

<meta property="og:image"
      content="https://api.renderscreenshot.com/v1/screenshot
               ?url=https://yourapp.com/post/123
               &preset=og_card
               &api_key=rs_live_xxxxx" />

Or use our SDKs:

npm install @renderscreenshot/sdk gem install renderscreenshot pip install renderscreenshot

Built for your use case

Social Cards

Dynamic og:image for Twitter, LinkedIn, Slack.

Documentation

Automated UI screenshots. Always up to date.

Visual Testing

Catch UI regressions in your CI/CD pipeline.

PDF Reports

Generate PDFs from any web page or dashboard.

Link Previews

Rich previews for Slack, Discord, iMessage.

Automation

Integrate into CI/CD, cron jobs, webhooks.

Why RenderScreenshot

Fast

Screenshots in under 2 seconds. Globally cached on our CDN.

Secure

Signed URLs with expiration. Keys never exposed in public HTML.

Cached

Automatic CDN caching. Pay once, serve millions of requests.

Presets

og_card, twitter_card, full_page in one parameter.

Clean Output

Block ads, popups, cookie banners automatically.

Full Control

Custom viewport, wait conditions, element selectors.

Simple, transparent pricing

Start free. Scale as you grow. No surprises.

Free

$0 one-time
  • 50 credits one-time
  • Unlimited test mode
  • All presets included
  • CDN delivery
Get Started
POPULAR

Starter

$19 /month
  • 2,500 screenshots/month
  • 60 requests/minute
  • 5 concurrent requests
  • No watermark
Get Started

Pro

$79 /month
  • 25,000 screenshots/month
  • 300 requests/minute
  • 20 concurrent requests
  • Batch API + Webhooks
  • Priority support
Get Started

Need more? Contact us for Enterprise plans with custom limits.

All plans include:

Test mode (free, unlimited) CDN delivery Signed URLs All presets Block ads/popups

Frequently asked questions

Each unique URL + options combination is cached. The first request renders the screenshot; subsequent requests serve from CDN. You only pay for renders, not cache hits. Default TTL is 24 hours.

Yes! Use signed URLs with expiration. Your secret key generates the signature server-side, so it's never exposed. The signed URL can safely be used in public HTML. We also provide an X-Cache-URL header with each response — a direct CDN link that requires no authentication.

You can pass cookies or HTTP Basic/Bearer auth credentials in your API request. We'll use them when loading your page. This is useful for authenticated dashboards, admin panels, or staging environments.

Use the capture.selector parameter with a CSS selector. For example, "capture": {"selector": "#main-content"} will screenshot only that element.

Yes! Use "browser": {"dark_mode": true} to force dark color scheme. We'll set prefers-color-scheme: dark in the browser.

Ready to make your links look great?

Get your free API key and start in minutes.

No credit card required · 50 free credits