Capture Any Website with One API Call

Convert any URL to PNG, JPEG, WebP, or PDF. Real Chromium rendering, full-page capture, custom viewports up to 4K. 100 screenshots/month free, forever — no credit card.

Try it live
API Key Get a free key
Enter your API key and a URL to capture a live screenshot
0
Free Screenshots / Month
No card
Required to Start
0
Max Viewport (3840×2160)
PNG · JPEG · PDF
Output Formats

How It Works

Get started in minutes with just three simple steps

1

Get Your API Key

Sign up for free in seconds. No credit card required. Start with 100 screenshots per month.

2

Make an API Call

Send a GET request with your target URL. Customize format, viewport, and rendering options.

3

Get Your Screenshot

Receive your pixel-perfect screenshot instantly. PNG, JPEG, WebP, or PDF, ready to use.

Built for Speed and Simplicity

Everything you need to capture, convert, and automate website screenshots

Lightning Fast

Screenshots delivered in under 500ms. Powered by optimized Chromium instances for maximum throughput.

Multiple Formats

Export as PNG, JPEG, WebP, or PDF. Control quality, compression, and output settings per request.

Full Page Capture

Capture the entire scrollable page from top to bottom, not just the visible viewport.

Custom Viewports

Set any width and height from mobile (320px) to 4K (3840px). Perfect for responsive testing.

Dark Mode Support

Emulate prefers-color-scheme: dark for websites that support it. Capture dark-themed screenshots.

Custom CSS Injection

Inject custom CSS before capture. Hide cookie banners, change styles, or brand screenshots.

PDF Generation

Generate print-ready A4 PDFs from any URL. Background graphics, headers, and footers included.

Usage Dashboard

Track your API calls, monitor usage, and manage your quota with the built-in usage endpoint.

Built for Every Use Case

From social media to compliance, aiSnapApi powers screenshot workflows at scale

Social Media OG Images

Auto-generate Open Graph preview images for blog posts, landing pages, and dynamic content.

Automated Visual Testing

Capture screenshots in CI/CD pipelines for visual regression testing across browsers and viewports.

Web Archiving & Compliance

Archive web pages as PDFs for regulatory compliance, legal evidence, or historical records.

Design Inspiration Collection

Build screenshot libraries of design inspiration, competitor pages, and UI pattern collections.

Live API Playground

Experiment with the API in real-time. Tweak parameters and see instant results.

Configuration

Result

Configure your options and click Capture to see the result here

Use with AI agents (MCP)

Drop aiSnapApi into Claude, Cursor, Windsurf, or any MCP-compatible agent and let it capture screenshots on demand. One stateless HTTP endpoint — no extra install.

Full MCP setup guide →

Simple, Transparent Pricing

Start free, scale as you grow. No hidden fees, no surprises.
Cancel or change your plan anytime from your Customer Portal — no questions asked.

Free

$0/mo
100 screenshots/month
$0.00 per screenshot
  • All formats (PNG, JPEG, WebP, PDF)
  • Custom viewports
  • Full page capture
  • Community support
Get Started Free

Pro

$29/mo
25,000 screenshots/month
$0.0012 per screenshot
  • Everything in Starter
  • Faster response times
  • Webhook notifications
  • Email support

Scale

$79/mo
100,000 screenshots/month
$0.0008 per screenshot
  • Everything in Pro
  • Dedicated support
  • Custom integrations
  • Volume discounts
Contact Us for Enterprise

API Documentation

Everything you need to integrate aiSnapApi into your application

GET /v1/screenshot

Capture a screenshot of any URL. Returns the image binary (or PDF) directly.

ParameterTypeDefaultDescription
urlrequiredstring-URL to capture (http/https)
formatstringpngpng, jpeg, webp, or pdf
widthinteger1280Viewport width (1-3840)
heightinteger720Viewport height (1-2160)
full_pagebooleanfalseCapture full scrollable page
delayinteger0Wait before capture (0-10000ms)
dark_modebooleanfalseEmulate dark color scheme
cssstring-Custom CSS to inject before capture
qualityinteger80Image quality 1-100 (jpeg and webp)
curl "https://api.aisnapapi.com/v1/screenshot?url=https://example.com&format=png" \ -H "Authorization: Bearer YOUR_API_KEY" \ -o screenshot.png
const response = await fetch( 'https://api.aisnapapi.com/v1/screenshot?url=https://example.com', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } } ); const blob = await response.blob(); // Use the blob as an image src or save it
import requests response = requests.get( 'https://api.aisnapapi.com/v1/screenshot', params={'url': 'https://example.com'}, headers={'Authorization': 'Bearer YOUR_API_KEY'} ) with open('screenshot.png', 'wb') as f: f.write(response.content)

GET /v1/usage

Get usage statistics for your API key. Returns current period usage and limits.

curl "https://api.aisnapapi.com/v1/usage" \ -H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch('https://api.aisnapapi.com/v1/usage', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }); const usage = await response.json(); console.log(usage);
import requests response = requests.get( 'https://api.aisnapapi.com/v1/usage', headers={'Authorization': 'Bearer YOUR_API_KEY'} ) print(response.json())

Frequently Asked Questions

Honest answers from a small, indie team — no marketing fluff.

Is there really a free tier?

Yes. 100 screenshots every month, forever. No credit card required to sign up. All output formats (PNG, JPEG, WebP, PDF), full-page capture, custom viewports, and dark mode are included on the free plan.

Does it work with single-page apps (React, Vue, Next.js)?

Yes. Pages render in a real headless Chromium browser, so client-side JavaScript executes before the screenshot is captured. If your page has late-loading content, pass a delay parameter (0–10,000 ms) to wait before capture.

Can I generate PDFs from URLs?

Yes. Add format=pdf to /v1/screenshot. PDFs are A4 with background graphics included. Great for invoices, reports, web archiving, and compliance snapshots.

What languages can I use it with?

Any language that can make an HTTP GET request — Node.js, Python, PHP, Ruby, Go, Rust, .NET, Java, Elixir, Bash. The docs above include copy-pasteable samples for cURL, JavaScript, and Python.

How do you bill? Can I cancel anytime?

Paid plans use PayPal subscriptions. You can cancel or downgrade any time from the Customer Portal — no email, no retention pop-ups, no questions asked. When your subscription ends you drop back to the free tier (100/month) automatically.

Are there rate limits I should know about?

We don't apply per-second rate limits on top of your plan. There's a generous per-minute fairness cap (so one customer can't monopolize the worker pool), and a monthly quota that matches your plan. If you need higher concurrency or sustained burst, reach out and we'll work something out.

Do you store the screenshots?

No. Screenshots are streamed back in the API response and never written to disk. We log request metadata — timestamp, the URL you requested, response time, status code, byte size — for quota counting and debugging. We do not log or store the image itself.

Is there an SLA?

Not yet. We're a small indie team running on dedicated hardware with health checks and graceful restarts, and we publish a live /health endpoint for transparency. We won't make uptime claims we can't back up. If you need a contractual SLA, contact us about the Scale plan.

Why should I trust an indie API for production?

Honest answer: for mission-critical, high-volume production traffic, consider a larger vendor. But if you want a simple, transparent, fairly-priced screenshot API run by people who answer their own support email — we're a great fit. Our stack is no secret: Playwright + headless Chromium + Node, running on dedicated hardware behind Cloudflare.

Get Your Free API Key

100 screenshots/month. No credit card required. Start building in seconds.