Rendering API vs Screenshot API: What's the Difference?

The terms “screenshot API” and “rendering API” are used interchangeably in developer docs, but they describe different scope. A screenshot API captures a visual snapshot of a URL. A rendering API transforms web content into multiple output formats: images, PDFs, or raw image fragments. That difference matters when you are choosing a tool to build on.
TL;DR
Screenshot APIs do one thing: take a picture of a web page. A rendering API does that plus more: PDF export, HTML-to-image from raw markup, element selector capture, and async batch processing. If your use case touches anything beyond PNG capture from a URL, a rendering API is the right starting point.
At a Glance
| Capability | Screenshot API | Rendering API |
|---|---|---|
| Output formats | PNG, JPEG | PNG, JPEG, WebP, PDF |
| Input: raw HTML | No | Yes |
| Selector capture | Rarely | Yes (CSS selector) |
| Async batch processing | Some APIs | Yes (queue-backed) |
| Geo-targeted rendering | Rare | Yes (195 countries, Pro+) |
| AI agent / MCP support | REST only | REST + MCP server |
What a Screenshot API Does
A screenshot API takes a URL, loads it in a headless browser, and returns an image. The value is infrastructure offloading: running Chromium in production is memory-intensive and operationally expensive. An API handles that for you.
Most screenshot APIs were built between 2015 and 2020, when headless Chrome became widely available. The typical interface is a single endpoint that accepts a URL and returns a PNG or JPEG:
# Screenshot API: URL in, image out
curl -X POST https://api.rendex.dev/v1/screenshot \
-H "Authorization: Bearer rdx_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "format": "png"}' \
--output screenshot.png
# Get your API key at https://rendex.dev/loginThis works well for monitoring dashboards, link preview thumbnails, and content archiving. When that is all you need, a screenshot API is the right tool.
The limitation is scope. Screenshot APIs accept URLs, return images, and stop there. You cannot pass raw HTML. You cannot get a PDF. You cannot capture a specific page element without building your own selector logic on top.
What a Rendering API Does
A rendering API uses a headless browser as a general-purpose document renderer. Screenshots are one output. PDF generation, HTML-to-image conversion, and element selector capture are others. The input can be a URL or raw HTML passed directly in the request body.
The code below shows four distinct operations against the same API endpoint:
import { Rendex } from "@copperline/rendex"
// npm install @copperline/rendex
// Get your API key at https://rendex.dev/login
const rendex = new Rendex("rdx_your_key")
// 1. Screenshot from a URL — same as any screenshot API
const png = await rendex.screenshot({ url: "https://example.com" })
// 2. PDF from a URL — rendering API territory
const pdf = await rendex.screenshot({
url: "https://example.com/invoice",
format: "pdf",
pdfFormat: "A4",
pdfPrintBackground: true,
})
// 3. Image from raw HTML — no URL needed
const card = await rendex.screenshot({
html: `<div style="padding:40px;font-family:sans-serif">
<h1>Report Q1 2026</h1>
<p>Revenue: $142,000</p>
</div>`,
width: 800,
height: 300,
format: "png",
})
// 4. Capture a specific element by CSS selector
const chart = await rendex.screenshot({
url: "https://example.com/dashboard",
selector: "#revenue-chart",
format: "png",
})Each call uses the same API key, the same SDK method, and the same billing credits. The differences are in the parameters, not the infrastructure.
Three Concrete Differences
1. Raw HTML input
Screenshot APIs require a public URL. Your server generates HTML, deploys it somewhere, then calls the API. That adds a round-trip and requires a publicly accessible host.
Rendering APIs accept raw HTML directly in the request body. You build a template in your application code, pass it in, and get an image or PDF back. This is the standard approach for invoice generation, OG image creation, and report rendering where the HTML is dynamic and hosting a temporary URL is impractical.
Try this in the browser with the HTML-to-image tool: paste any HTML and get back a PNG or PDF without writing any code.
2. PDF output
PDFs have page boundaries, configurable margins, landscape orientation, and background printing options. Screenshots do not. If your use case ever touches documents (invoices, reports, receipts, compliance archives), you need a rendering API from day one. Retrofitting PDF support onto a screenshot-only integration typically requires rewriting the whole pipeline.
// Generate a printable invoice PDF from an HTML template
const invoice = await rendex.screenshot({
html: `<!DOCTYPE html>
<html>
<body style="font-family:sans-serif;padding:40px">
<h1>Invoice #2026-042</h1>
<p>Amount due: $1,200.00</p>
<p>Due date: 2026-05-01</p>
</body>
</html>`,
format: "pdf",
pdfFormat: "A4",
pdfMargin: { top: "20mm", bottom: "20mm", left: "20mm", right: "20mm" },
pdfPrintBackground: true,
})3. AI agent / MCP support
AI agent frameworks (Claude, Cursor, Continue) use the Model Context Protocol to call external tools. A pure screenshot API exposes REST endpoints only: an agent must make raw HTTP calls and parse responses itself.
A rendering API with an MCP server lets agents call rendering operations as native tools, with typed parameters and structured results. Rendex publishes a remote MCP server at mcp.rendex.dev and a local package at @copperline/rendex-mcp. Agents configured with either can capture screenshots, generate PDFs, and render HTML without any custom integration code.
See MCP Tools for Web Rendering: A Developer Guide for the exact configuration steps.
When to Use Each
| Scenario | Screenshot API | Rendering API |
|---|---|---|
| Capture a public URL as PNG | Yes | Yes |
| Generate PDFs from HTML templates | No | Yes |
| Render HTML string to image | No | Yes |
| Capture a specific page element | Rarely | Yes |
| Batch 100+ URLs asynchronously | Some APIs | Yes |
| AI agent via MCP | No | Yes |
Use a screenshot-only API if PNG capture from public URLs is genuinely all you need and you want the lowest possible per-call cost. Use a rendering API if you need PDF output, HTML input, selector capture, or MCP support now or in the foreseeable future.
For a comparison across specific providers, see Best Screenshot APIs 2026. For rendering APIs in AI agent pipelines, see Best Rendering APIs for AI Agents.
Rendex: One API for All Rendering Jobs
Rendex launched as a screenshot API and ships as a rendering platform. The same API key and the same SDK method handle screenshots, PDFs, HTML-to-image, selector capture, and geo-targeted rendering from 195 countries. One integration covers the full output surface, not just screenshots.
The free tier covers 100 calls per month. Get an API key to test it, or try the HTML-to-image tool to convert raw HTML to a PNG or PDF in your browser without writing any code.
Continue Reading
Apr 24, 2026
Best Screenshot API in 2026: An Honest Comparison
Jul 28, 2026
7 Ways to Generate OG Images (APIs, Libraries, Services)
Jun 2, 2026
Best HTML-to-PDF Tools in 2026 (APIs + Libraries)
Documentation
Api Reference
Free Tool
Html To Image Tool
Comparison
Best Screenshot Apis 2026
Comparison
Best Rendering Apis For Ai Agents 2026