# Rendex — Screenshot and Rendering API
> Rendex is a developer API for capturing website screenshots, converting URLs to PDFs, and rendering HTML or Markdown to images — with Mustache data templating to turn one reusable template plus a `data` object into many documents (invoices, reports, certificates). Built on Cloudflare Workers with a global edge network. Used by developers and AI agents.
- Site: https://rendex.dev
- API: https://api.rendex.dev
- MCP: https://mcp.rendex.dev
- Parent: Copperline Labs LLC (https://copperlinelabs.com)
## Getting started
- [Quickstart](https://rendex.dev/docs/quickstart): 60-second setup with any language
- [API reference](https://rendex.dev/docs/api-reference): Full endpoint documentation
- [Authentication](https://rendex.dev/docs/authentication): API key management
- [SDKs](https://rendex.dev/docs/sdks): Python (PyPI: rendex) and JavaScript (@copperline/rendex)
- [MCP server](https://rendex.dev/docs/mcp): For Claude Desktop, Cursor, and other AI agents
## Core features
- [API reference](https://rendex.dev/docs/api-reference): Full endpoint documentation — screenshots (PNG/JPEG/WebP), HTML to image, Markdown to image, URL to PDF (A4/Letter/landscape), batch capture (up to 500 URLs). Endpoints: POST /v1/screenshot, GET /v1/screenshot, POST /v1/screenshot/json, POST /v1/screenshot/batch, POST /v1/render/link, GET /v1/render, POST /v1/extract, GET /v1/jobs/:id, GET /v1/batches/:id
- [Capture options](https://rendex.dev/docs/api-reference): All optional and available on every plan including Free — `device` presets (desktop, iphone_15, iphone_se, pixel_8, ipad, ipad_pro), `hideSelectors` (hide elements before capture), `blockCookieBanners` (hide consent walls), `resizeWidth`/`resizeHeight` (downscale image output), `hosted` (return a signed CDN URL instead of bytes), `extract`/`extractFormat` (reader-mode content alongside the image)
- [Hosted render links](https://rendex.dev/docs/api-reference): POST /v1/render/link mints a signed, self-contained URL you paste into `` — renders once, caches in R2, serves cached on repeats (no per-crawl re-charge)
- [Content extraction](https://rendex.dev/docs/api-reference): POST /v1/extract turns a URL into clean reader-mode Markdown, JSON, or HTML from the fully-rendered page (handles SPAs); great for LLM ingestion, summarization, and RAG
- [Website monitoring — Rendex Watch](https://rendex.dev/watch): Monitor any URL for changes with a real-Chrome before/after visual diff + highlighted overlay, a secondary text diff, and HMAC-signed change webhooks (watch.changed/recovered/error) or email — one rdx_ key and one shared credit pool. Endpoints under /v1/watches (create, list, run-now, pause/resume, run history); docs at https://rendex.dev/docs/watch
- [Data templating](https://rendex.dev/docs/api-reference): Pass a `data` object alongside HTML or Markdown and Rendex renders it as a logic-less Mustache template — one reusable template plus a `data` object becomes many documents (invoices, reports, certificates)
- [Rate limits](https://rendex.dev/docs/rate-limits): Per-plan quotas and burst behavior
- [Webhooks](https://rendex.dev/docs/webhooks): Async delivery for long-running captures
- [Custom storage](https://rendex.dev/docs/custom-storage): Bring your own S3 bucket
- [Errors](https://rendex.dev/docs/errors): Error codes and retry semantics
## Free tools
- [Free HTML to Image Converter](https://rendex.dev/tools/html-to-image): Paste HTML and render it as a PNG, JPEG, or WebP image — no sign-up required.
- [Free Markdown to Image Converter](https://rendex.dev/tools/markdown-to-image): Render Markdown as a styled PNG or PDF — GitHub-flavored typography baked in, no CSS or sign-up required.
- [Free URL to PDF Converter](https://rendex.dev/tools/url-to-pdf): Convert any webpage to a PDF document — no sign-up required.
- [Free URL to Markdown Converter](https://rendex.dev/tools/url-to-markdown): Turn any web page into clean Markdown for LLMs, RAG, and docs — no sign-up required.
- [Free Invoice Generator](https://rendex.dev/tools/invoice-generator): Fill in a form and download a clean, print-ready PDF invoice — no sign-up required.
- [Free Template & Data Renderer](https://rendex.dev/tools/template-renderer): Fill a Markdown or HTML template with a JSON data object and render the result to PNG or PDF — Mustache placeholders, loops, and nesting. Make invoices, certificates, and reports.
- [Free OG Image Generator](https://rendex.dev/tools/og-image-generator): Generate a 1200×630 social-share card from a template — pick a style, add your text, download the PNG.
- [Free Website Screenshot Tool](https://rendex.dev/tools/screenshot): Capture any webpage as a PNG, JPEG, or WebP image — no sign-up required.
- [Open Graph Image Preview Tool](https://rendex.dev/tools/og-preview): Check how your page looks when shared on Twitter, Facebook, and LinkedIn.
- [Preview a Website Watch](https://rendex.dev/tools/preview-website-watch): Check what Rendex would capture when monitoring a page — and whether the page is reachable — before you set up a watch.
## Integrations
- [Rendex for n8n](https://rendex.dev/integrations/n8n): Per-platform landing — what you can build with the n8n community node (setup: /docs/n8n)
- [Rendex for Make](https://rendex.dev/integrations/make): Per-platform landing — render from Make's HTTP module (setup: /docs/make)
- [Rendex for Power Automate](https://rendex.dev/integrations/power-automate): Per-platform landing — render from Power Automate's HTTP action (setup: /docs/power-automate)
- [Rendex for Zapier](https://rendex.dev/integrations/zapier): Per-platform landing — native Zapier rendering action (setup: /docs/zapier)
- [All integrations](https://rendex.dev/integrations): n8n, Make, Power Automate, Zapier, MCP, SDKs, and REST API
## Workflow recipes
> End-to-end, copy-this-template workflows pairing Rendex with a named app + automation platform. Each has a real config, multi-language code, and a dogfooded before/after render.
- [Render HTML to a PNG in Make — the Correct Setup](https://rendex.dev/recipes/render-html-to-png-make): A pre-wired Make HTTP module that renders HTML to a PNG with Rendex on the first try. Copy the exact request body so you never hit the 400 'send exactly one of url, html, or markdown' error.
- [Auto-Generate Invoice PDFs from Stripe in n8n](https://rendex.dev/recipes/auto-generate-invoices-stripe-n8n): Render a branded PDF invoice the moment Stripe reports a payment, using one n8n workflow and Rendex — then email it or store a hosted link. No PDF library, no headless browser to host.
- [Auto-Generate OG Images from Airtable Rows](https://rendex.dev/recipes/render-og-images-from-airtable): Turn every Airtable row into a branded Open Graph image. A Make HTTP module or Zapier action calls Rendex's hosted render link, then writes the og: URL straight back to the row.
- [Batch Screenshot a List of URLs with Webhook Delivery](https://rendex.dev/recipes/batch-screenshot-urls-webhook): Submit a whole list of URLs to Rendex in one batch request and receive each screenshot through an HMAC-signed webhook as it finishes — driven on a schedule from n8n.
- [Render an HTML Financial Report or Invoice to PNG in Python](https://rendex.dev/recipes/html-financial-report-to-png-python): Turn an HTML financial report, invoice, certificate, or data table into a crisp PNG from a server-side Python script — one render_html() call, no headless Chrome to host. Embed the image in a generated PDF or report deliverable.
- [Email an HTML Report as a PNG Attachment in n8n](https://rendex.dev/recipes/html-report-to-png-email-attachment-n8n): Render an HTML report or KPI summary to a PNG with Rendex on a schedule, then email it as an attachment to your team — one n8n workflow, no headless browser to host. Works the same in Make.
- [Slack Alerts When a Web Page Changes](https://rendex.dev/recipes/website-change-alerts-slack-n8n): Point Rendex Watch at any URL and route its signed watch.changed webhook into n8n — verify the signature, then post the before/after/overlay diff to Slack. Real-Chrome visual diffing, no cron or storage to run yourself.
- [Let an AI Agent Render a Branded PDF from Markdown](https://rendex.dev/recipes/agent-render-branded-artifact-mcp): Give Claude, Cursor, or any MCP client the Rendex render_artifact tool and it turns the Markdown or HTML it just wrote into a branded PDF + PNG with a hosted share link — one tool call, no file plumbing, no headless browser.
- [Extract a URL to Clean Markdown for RAG in Pipedream](https://rendex.dev/recipes/extract-url-to-markdown-rag-pipedream): Turn any web page into clean, reader-mode Markdown with one Rendex call inside a Pipedream workflow, then pipe it straight into an embedding or LLM step — no HTML parsing, no boilerplate stripping, no headless browser.
- [Generate a Branded PDF from a Form Submission in Zapier](https://rendex.dev/recipes/generate-pdf-on-form-submit-zapier): Turn a Typeform or Google Forms submission into a branded PDF — a receipt, certificate, or confirmation — with Zapier's native Rendex Generate PDF action, then email it back. No code, no PDF library, no headless browser.
- [Screenshot Every New Google Sheets URL to Drive](https://rendex.dev/recipes/screenshot-google-sheets-url-to-drive-zapier): Add a URL to a Google Sheet (or Airtable) and Zapier captures a full-page screenshot with the native Rendex action, then files it in Google Drive — no code, no headless browser, on the free tier.
- [Archive a Daily Full-Page Screenshot to Drive](https://rendex.dev/recipes/scheduled-screenshot-archive-drive-zapier): Schedule a daily or weekly full-page screenshot of any page and file it in Google Drive or Dropbox with a dated name — a visual history built automatically with Zapier's native Rendex action. No code, free tier.
- [Screenshot a Page Behind a Login in Zapier](https://rendex.dev/recipes/screenshot-behind-login-zapier): Capture an authenticated page — a dashboard, admin view, or member-only report — with Zapier's native Rendex action by passing a session cookie. No browser to script, no code. Cookies are a Rendex Basic+ feature.
- [Slack Alerts When a Website Changes — the No-Code Way](https://rendex.dev/recipes/website-change-slack-alert-zapier): Monitor any page with Rendex Watch and let Zapier's native Website Changed trigger post the change to Slack — a plain-English summary of what changed plus a cropped image of the exact spot. No cron, no webhook, no code.
- [Turn a Website Change Into a Ticket, Automatically](https://rendex.dev/recipes/website-change-to-jira-ticket-zapier): When Rendex Watch detects a change on a page, let Zapier's native Website Changed trigger open a Jira, Trello, or Asana ticket automatically — titled with what changed and carrying a cropped image of the exact spot. A change that needs action belongs on a board, not just a channel.
- [Email a Branded PDF Report on a Schedule](https://rendex.dev/recipes/branded-report-pdf-email-zapier): Turn Markdown into a polished, branded PDF — your logo, colors, and layout — with Zapier's native Rendex Create Branded Artifact action, then email it out on a schedule. No design tool, no code, on the free tier.
- [Extract Clean Web Page Text to Google Sheets](https://rendex.dev/recipes/extract-web-page-text-to-sheet-zapier): When a new URL appears in an RSS feed or a sheet, pull the clean article text — title, byline, and body — with Zapier's native Rendex Extract Text action, then log it to Google Sheets or feed it to an AI step. No scraping, no code, free tier.
- [Batch Screenshot a List of URLs From a Google Sheet](https://rendex.dev/recipes/batch-screenshots-from-google-sheet-zapier): Feed a column of URLs from a Google Sheet to Zapier's native Rendex Submit Batch action and get every screenshot back in parallel — then poll with Get Batch Status and store the results. No loop to build, no code.
- [Keep a Timestamped Log of Every Website Change](https://rendex.dev/recipes/website-change-log-to-sheet-zapier): Turn Rendex Watch into a permanent change log. When a monitored page changes, Zapier's native Website Changed trigger appends a timestamped row to a Google Sheet — what changed, the diff score, and links to the before, after, and cropped images. A searchable history you can sort, filter, and prove from.
- [Open a Ticket When a Web Page Changes (Rendex Watch + Make)](https://rendex.dev/recipes/website-change-to-ticket-make): Monitor any page with Rendex Watch and open a Trello, Jira, or Asana ticket in Make the moment it changes — a real-Chrome before/after visual diff drives the alert, so you file work on real changes, not on noise.
- [Turn Markdown into a Branded PDF in Activepieces](https://rendex.dev/recipes/markdown-to-pdf-activepieces): Render a Markdown document — a doc, changelog, or approved article — to a branded PDF inside an Activepieces flow with the native Render to Image piece. No CSS, no headless browser, and the same step is callable by your AI agents.
- [Save a Scheduled Report PDF to SharePoint in Power Automate](https://rendex.dev/recipes/scheduled-report-pdf-to-sharepoint-power-automate): Render an HTML report to a PDF on a schedule and file it in SharePoint or OneDrive with Power Automate's built-in HTTP action — no custom connector. The /v1/screenshot/json + base64ToBinary path Power Automate needs, done right.
- [Turn a Markdown Report into a Branded PDF in n8n](https://rendex.dev/recipes/report-to-branded-pdf-n8n): Render any Markdown report, digest, or summary into a branded PDF, PNG, and hosted share page with one n8n node using Rendex Artifact — no design tool, no PDF library.
- [Archive a Daily Screenshot to Google Drive in n8n](https://rendex.dev/recipes/scheduled-screenshot-drive-n8n): Capture a full-page screenshot of any URL on a schedule and upload it to Google Drive with a timestamped filename — a hands-off visual record for compliance, marketing, or competitor tracking.
- [Auto-Generate Social OG Images per Blog Post in n8n](https://rendex.dev/recipes/og-images-per-post-n8n): Mint a branded, hosted og:image URL for every blog post with one n8n workflow and Rendex Render Link — inject the title and author, get a signed image URL to drop straight into your og:image tag. No upload step.
- [Extract Clean Content from a URL and Summarize It with AI in n8n](https://rendex.dev/recipes/extract-url-to-markdown-ai-n8n): Pull clean, reader-mode Markdown from any page with Rendex Extract — handling paywalls, JS apps, and cookie walls — then feed it to an LLM for a summary or straight into a RAG pipeline. One n8n workflow.
- [Screenshot a URL from a Chat Message with AI in n8n](https://rendex.dev/recipes/ai-agent-screenshot-tool-n8n): Let a user ask in plain English and have AI pull the URL out of the message, then screenshot it with Rendex — a fully-wired n8n workflow that runs the moment you add credentials.
- [Compare a Page Rendered from Different Countries in n8n](https://rendex.dev/recipes/geo-screenshot-compare-n8n): Capture the same URL from multiple countries in parallel with Rendex geo screenshots, then merge the results to verify localized pricing, geo-gated content, and regional CDNs — one n8n workflow.
- [Screenshot a Page Behind a Login in n8n](https://rendex.dev/recipes/screenshot-behind-login-n8n): Capture an authenticated page — an internal dashboard, a gated report, a members-only view — by passing your session cookies to Rendex, so it renders the page as the logged-in you. One n8n workflow.
- [Render a List to Images and Send One Email With Every Attachment](https://rendex.dev/recipes/batch-render-list-to-combined-email-make): Fan a list of records out with a Make Iterator, render each one to a PNG with Rendex, then recombine them with an Array Aggregator so a single email goes out with every image attached — the aggregate-back pattern Zapier can't do.
- [Cache Render Links in a Make Data Store — Render Each Item Once](https://rendex.dev/recipes/cache-render-links-datastore-make): Store Rendex render-link URLs in a Make Data store keyed by content, so a Router renders a new item only on a cache miss and reuses the hosted URL on every hit — dedupe that cuts credits and latency, using Make's built-in database.
- [Render Once, Deliver Everywhere With a Make Router](https://rendex.dev/recipes/fan-render-to-destinations-router-make): Render an image or PDF once with Rendex, then a Make Router fans it out in parallel — upload to Drive, post to Slack, and write to Airtable from a single render, each branch with its own filter. One render, many destinations.
- [Self-Healing Renders in Make — Retry, Then Fall Back](https://rendex.dev/recipes/self-healing-render-error-handler-make): Wrap the Rendex HTTP module in a Make error handler so a transient failure retries with a Break directive and a permanent one falls back to a placeholder — the render step heals itself instead of dead-lettering the whole scenario.
- [Give Your AI Agent a Live Screenshot Tool](https://rendex.dev/recipes/agent-screenshot-tool-mcp): Add the Rendex MCP server to Claude, Cursor, or Windsurf and the agent gains a rendex_screenshot tool — it can capture any URL, raw HTML, or Markdown as an image mid-task and see the result inline, no headless browser to run.
- [Let an AI Agent Read Any Web Page as Clean Markdown](https://rendex.dev/recipes/agent-read-web-page-markdown-mcp): Give Claude, Cursor, or any MCP client the rendex_extract tool and it reads any URL as clean reader-mode Markdown — nav, ads, and boilerplate stripped, JavaScript-rendered content included — ready to summarize or drop into a RAG pipeline.
- [Have an AI Agent Watch a Page for Changes](https://rendex.dev/recipes/agent-watch-page-changes-mcp): Give Claude, Cursor, or any MCP client the Rendex Watch tools and it can set up, test, run, and manage website-change monitors in conversation — validate a scope, create a watch, force a check, and read what changed, all without leaving the chat.
- [Generate a Hosted Share Image from an AI Agent](https://rendex.dev/recipes/agent-hosted-og-image-mcp): Give Claude, Cursor, or any MCP client the rendex_render_link tool and it mints a signed, edge-cached image URL from a URL, HTML, or Markdown — drop it straight into an og:image tag or an
src instead of handling raw image bytes.
## Use cases
- [Render HTML Charts, Tables & Reports to PNG from Your Backend](https://rendex.dev/use-cases/server-side-report-rendering): Generate report deliverables server-side: send your HTML chart or financial table, get back a crisp 2× PNG, and drop it straight into the PDF or report your app already produces. One HTTP call from any language — no Chromium to install, no browser fleet to keep alive.
- [Render Any Chart to a PNG From Your Backend](https://rendex.dev/use-cases/chart-to-image): Send the HTML that draws your chart — Chart.js, ECharts, Highcharts, ApexCharts, or D3 — and get back a crisp 2× PNG to drop into a PDF report, an email, or a Slack alert. One POST from any language, no