n8n-nodes-rendex
v1.7.0
Published
n8n community node for Rendex — capture screenshots, generate PDFs, render HTML/Markdown, extract clean content, and monitor pages for changes (Rendex Watch) via Rendex's rendering API
Maintainers
Readme
n8n-nodes-rendex
n8n community node for Rendex — capture screenshots, generate PDFs, render HTML and Markdown to images, and extract clean content from URLs via the Rendex rendering API.
This is a community node for n8n, the fair-code workflow automation platform. It lets your workflows talk to api.rendex.dev to render web pages, raw HTML, and Markdown into high-quality PNG, JPEG, WebP, or PDF output.
Features
- Capture screenshots of live URLs, raw HTML, or Markdown (up to 5 MB of HTML/Markdown)
- Extract content — turn any URL into clean reader-mode Markdown, JSON, or HTML for LLM and RAG pipelines (Document → Extract)
- Data templating — fill
{{placeholders}}in an HTML or Markdown template from a JSON object (Mustache) to generate invoices, reports, and certificates from one template - Generate PDFs with configurable page size, margins, landscape, and scale
- Device presets — render at iPhone, iPad, or Pixel viewports (sets viewport, scale, and user agent in one option)
- Output resize — downscale captures to thumbnails, aspect ratio preserved
- Clean capture — hide cookie/consent banners and arbitrary CSS selectors before capture
- Async mode — submit a capture and receive an HMAC-signed webhook when it's done
- Batch mode — submit up to 500 URLs in a single request (plan-dependent)
- Geo-targeted captures — render pages as seen from a specific country, city, or state (Pro/Enterprise)
- Element capture — screenshot a specific CSS selector instead of the full page
- Watch a page for changes (Rendex Watch) — monitor a URL on a schedule with real-Chrome visual diff, text diff, or both; create/list/update/run watches and trigger a workflow when a page changes (polling Rendex Watch Trigger node)
- Ad blocking, resource blocking, CSS/JS injection, cookie injection, custom headers, dark mode emulation, full-page auto-scroll
Rendex is built on Cloudflare Workers with Browser Rendering and backs a live production API. See rendex.dev/docs for full API documentation.
Installation
n8n Cloud & self-hosted
- Open your n8n instance → Settings → Community Nodes
- Click Install and paste:
n8n-nodes-rendex - Accept the community-node warning and click Install
- Once installed, add a Rendex node to any workflow
Manual (npm)
npm install n8n-nodes-rendexAuthentication
- Sign in to rendex.dev/dashboard (free plan available)
- Go to API Keys and click Create Key
- Copy the key — it starts with
rdx_ - In n8n, create a new Rendex API credential and paste the key into the API Key field
Rendex keys are bearer tokens sent as Authorization: Bearer rdx_.... The node handles the header automatically.
Operations
Screenshot
| Operation | What it does |
|---|---|
| Capture | Sync request that returns an image or PDF. Output is written to the node's binary property (default data) plus a JSON metadata object. |
| Capture Async | Submits a job and returns immediately with a jobId. Optional webhookUrl is called with an HMAC-signed payload when the capture completes. |
Document
| Operation | What it does | |---|---| | Extract | Fetches a URL, runs reader-mode extraction in the fully rendered page (handles JS/SPA pages), and returns clean Markdown, JSON, or HTML — title, byline, excerpt, site name, and content. Ideal for feeding pages to LLM/RAG nodes. |
Job
| Operation | What it does |
|---|---|
| Get Status | Polls an async job by jobId and returns its current status + signed result URL once ready. |
Batch
| Operation | What it does |
|---|---|
| Submit | Submits up to 500 URLs for parallel capture. Accepts per-URL defaults and an optional completion webhook. |
| Get Status | Polls a batch by batchId and returns status + all child job results. |
Watch (Rendex Watch)
Monitor a URL on a schedule and detect when it changes — real-Chrome visual diff (with a highlighted overlay), an extracted-text diff, or both. Uses your existing rdx_ key and shared credit pool.
| Operation | What it does | |---|---| | Create | Start monitoring a URL. Choose the interval, change-detection mode, and (optionally) a webhook/email alert + render knobs (element selector, noise filters, monitor identity). | | Get | Fetch one watch by ID. | | Get Many | List your watches (filter by active/paused) — one output item per watch. | | Run Now | Trigger an immediate check (charges 1 credit). | | Update | Change the URL, interval, mode, alerts, or pause/resume. | | Delete | Remove a watch and its run history. |
Plan walls: the minimum check interval is your plan's floor (Free daily / Starter 3h / Pro 30 min / Enterprise 5 min). Webhook alerts need Starter+; email alerts and the visual/text diff work on every plan.
Rendex Watch Trigger
A separate trigger node that starts your workflow when a monitored page changes. It polls your watches and fires for any whose last change advanced since the previous poll (leave Watch ID empty to fire for any of your watches, or set it to monitor one). For real-time delivery, point a watch's Webhook URL at an n8n Webhook node instead — this trigger is the zero-config alternative.
Example: sync capture
- Add a Rendex node after any trigger
- Set Resource =
Screenshot, Operation =Capture - Set Source =
URLand enterhttps://example.com - Leave Format =
png - Click Execute Node — the output tab shows the metadata JSON and the binary
dataproperty holds the PNG. Wire it into Write Binary File, Upload to S3, HTTP Request (to forward it), or any other binary-capable node.
Example: data templating (invoice from a template)
- Add a Rendex node, set Operation =
Capture - Set Source =
HTML(orMarkdown) and enter a template with Mustache placeholders, e.g.<h1>Invoice {{number}}</h1><p>Total: {{total}}</p> - Set Format =
pdf - Fill the Template Data (JSON) field with the values to inject, e.g.
{"number":"INV-014","total":"$2,400"} - Execute — Rendex renders the template with your data and returns the PDF in the binary
dataproperty. Map an upstream node's JSON onto Template Data (JSON) to render one document per item.
Template Data (JSON) is logic-less Mustache: {{var}} interpolation, {{#items}}…{{/items}} loops, and nested {{a.b}} access. It only applies to HTML and Markdown sources.
Example: extract a page to Markdown for an LLM
- Add a Rendex node, set Resource =
Document, Operation =Extract - Enter the article URL (e.g.
https://example.com/blog/post) - Leave Extract Format =
Markdown(or pickJSON/HTML) - Execute — the output JSON has
content(clean Markdown), plustitle,byline,excerpt,siteName, andlength. Mapcontentstraight into an AI Agent, OpenAI, or vector-store node — no HTML stripping needed.
Example: async + webhook trigger
- Add a Rendex node, set Operation =
Capture Async - Paste a webhook URL in the Webhook URL field (use another workflow's Webhook node production URL)
- Execute. The first workflow returns immediately with the
jobId. - In the receiving workflow, verify the HMAC signature on the
rendex-signatureheader, then download the signed result URL from the payload.
Example: batch of URLs
- Add a Rendex node, set Resource =
Batch, Operation =Submit - Paste one URL per line in the URLs field
- Fill Defaults (JSON) with shared options, e.g.
{"format":"png","fullPage":true} - Execute — you get back a
batchIdand the list of queued jobs - Wire a Schedule Trigger or Wait node to another Rendex node with Resource =
Batch, Operation =Get Statusto poll completion.
Plan limits
| Limit | Free | Starter | Pro | Enterprise | |---|---|---|---|---| | Rate limit (req/min) | 10 | 60 | 300 | 1000 | | Batch size | 5 | 25 | 100 | 500 | | Concurrent async jobs | 10 | 50 | 200 | 1000 | | Geo-targeting | — | — | ✓ | ✓ |
See rendex.dev/pricing for current pricing.
Advanced options
The Capture and Capture Async operations expose an Additional Options collection with the full Rendex parameter surface:
- Viewport: Width, Height, Device Scale Factor, Full Page, Dark Mode
- Device & sizing: Device preset (iPhone/iPad/Pixel), Resize Width, Resize Height
- Output: Quality (for JPEG/WebP)
- Wait strategy: Wait Until, Timeout, Delay, Wait For Selector, Best Attempt
- Element capture: Element Selector
- Blocking: Block Ads, Block Resource Types, Block Cookie Banners, Hide Selectors
- Injection: Custom CSS, Custom JavaScript, Custom Headers (JSON), Cookies (JSON), User Agent
- PDF: PDF Page Format, PDF Landscape, PDF Print Background, PDF Scale, PDF Margins (JSON)
- Geo-targeting: Geo Country, Geo City, Geo State (Pro/Enterprise)
- Async: Cache TTL
Everything maps 1:1 to the REST API parameters.
Support
- Docs: rendex.dev/docs
- Issues: github.com/copperline-labs/rendex-n8n/issues
- Email: [email protected]
License
MIT © Copperline Labs LLC
