Best URL to Image APIs in 2026: Convert Any URL to a Screenshot
Compare the top URL-to-image APIs for converting web pages to PNG, JPEG, and WebP images. Features, pricing, and code examples for each service.
Last updated: 2026-03-25
Try ScreenshotAPI free
5 free credits. No credit card required.
URL-to-image APIs convert any web page into a screenshot image. You send a URL, receive a PNG, JPEG, or WebP. They are used for link previews, social cards, thumbnails, archiving, and visual testing. This guide compares the best URL-to-image APIs available in 2026.
Quick Comparison
| API | Starting Price | Formats | Full Page | Dark Mode | Wait Strategies | Free Tier |
|---|---|---|---|---|---|---|
| ScreenshotAPI | $20/500 credits | PNG, JPEG, WebP | Yes | Yes | networkidle, selector, delay | 5 credits |
| Urlbox | $19/month | PNG, JPEG, WebP, PDF | Yes | Yes | networkidle, selector | None |
| ScreenshotOne | $17/month | PNG, JPEG, WebP | Yes | Yes | networkidle, selector | 100/month |
| CaptureKit | $7/month | PNG, JPEG, WebP | Yes | Yes | selector | 100/month |
| URL2IMG | Custom | PNG, JPEG | Yes | No | Basic | None |
| screenurl | Free tier | PNG, JPEG | Yes | No | Auto network wait | 100/month |
| cloudlayer.io | $19/month | PNG, JPEG, WebP | Yes | No | Multiple | None |
1. ScreenshotAPI (Best Value)
ScreenshotAPI uses a credit-based model where credits never expire. Buy what you need, use it whenever.
API example:
javascriptconst params = new URLSearchParams({ url: 'https://example.com', width: '1440', height: '900', type: 'png', waitUntil: 'networkidle' }); const response = await fetch( `https://screenshotapi.to/api/v1/screenshot?${params}`, { headers: { 'x-api-key': 'sk_live_your_api_key' } } ); const imageBuffer = Buffer.from(await response.arrayBuffer());
Strengths: Simple REST API, credits never expire, all major output formats, full SPA support.
2. Urlbox (Most Mature)
Running since 2015, Urlbox has the most battle-tested rendering engine. It handles edge cases well, including emoji rendering, complex CSS, and cookie banner dismissal.
Strengths: Retina rendering, S3 integration, webhook callbacks, proxy support. Weaknesses: No free tier, subscription-only pricing.
3. ScreenshotOne (Developer-Friendly)
Interactive playground for testing before coding. Good documentation with examples in multiple languages.
Strengths: Playground, proxy in 18 countries, custom JS/CSS injection. Weaknesses: Monthly subscription model, unused screenshots expire.
4. CaptureKit (Budget Pick)
The most affordable paid option at $7/month with 14+ device presets.
Strengths: Lowest paid tier, device emulation, AI summaries. Weaknesses: Fewer advanced features, limited SDK support.
5. URL2IMG
Simple service focused on high-quality PNG and JPEG output.
Strengths: Pixel-perfect rendering, low pricing with price-match guarantee. Weaknesses: Limited format options, less feature-rich.
6. screenurl
Fast rendering (under 2 seconds) with a free tier of 100 screenshots per month.
Strengths: Good free tier, fast capture, simple API. Weaknesses: Limited customization options, fewer formats.
7. cloudlayer.io
Supports both GET and POST endpoints with synchronous and asynchronous processing.
Strengths: Async processing, S3 upload, custom viewport up to 4K. Weaknesses: No free tier, complex API for simple use cases.
Feature Deep Dive
Output Formats
| API | PNG | JPEG | WebP | |
|---|---|---|---|---|
| ScreenshotAPI | Yes | Yes | Yes | No |
| Urlbox | Yes | Yes | Yes | Yes |
| ScreenshotOne | Yes | Yes | Yes | No |
| CaptureKit | Yes | Yes | Yes | No |
Wait Strategies
The ability to wait for dynamic content is critical for modern websites:
| API | Network Idle | CSS Selector | Custom Delay | JavaScript Wait |
|---|---|---|---|---|
| ScreenshotAPI | Yes | Yes | Yes | No |
| Urlbox | Yes | Yes | Yes | Yes |
| ScreenshotOne | Yes | Yes | Yes | Yes (injection) |
| CaptureKit | No | Yes | Yes | No |
Authentication and Security
| API | API Key Header | Bearer Token | Signed URLs | IP Allowlist |
|---|---|---|---|---|
| ScreenshotAPI | Yes | No | No | No |
| Urlbox | Yes | No | Yes | No |
| ScreenshotOne | Query param | No | Yes | No |
| CaptureKit | Yes | No | No | No |
Performance
Typical response times for a standard page capture (1440x900, PNG):
| API | Average Response | Cold Start |
|---|---|---|
| ScreenshotAPI | 2-4s | 3-5s |
| Urlbox | 2-5s | 3-6s |
| ScreenshotOne | 2-5s | 3-6s |
| CaptureKit | 3-6s | 4-8s |
Verdict
ScreenshotAPI is the best overall choice for most developers. The credit-based model means you never pay for unused capacity, and it supports all the essential features: full-page capture, dark mode, SPA waiting, and multiple output formats.
For specific needs: Urlbox for enterprise, CaptureKit for the tightest budget, and ScreenshotOne for the best developer experience.
Next Steps
- Try ScreenshotAPI with 5 free credits
- Read the API documentation for all parameters
- See how to take screenshots with JavaScript or Python
- Compare ScreenshotAPI vs Urlbox in detail
Frequently asked questions
What is a URL to image API?
A URL-to-image API takes a web page URL as input and returns a rendered screenshot as a PNG, JPEG, or WebP image. It handles browser rendering, JavaScript execution, and content loading in the cloud.
How do URL to image APIs work?
They launch a headless Chrome browser in the cloud, navigate to the target URL, wait for the page to render, and capture a screenshot. The image is returned as a binary response or uploaded to cloud storage.
Which URL to image API is cheapest?
CaptureKit starts at $7/month. ScreenshotAPI's credit model ($20 for 500 credits that never expire) can be cheaper for variable workloads. Self-hosted Puppeteer is free but has infrastructure costs.
Can URL to image APIs handle JavaScript-heavy sites?
Yes. All APIs listed here use real Chrome browsers, so they execute JavaScript, load web fonts, render CSS Grid/Flexbox, and support SPAs. Use the waitUntil or waitForSelector parameters for dynamic content.
Related resources
Start capturing screenshots today
Create a free account and get 5 credits to try the API. No credit card required. Pay only for what you use.