{
  "name": "Bulk-screenshot a list of URLs from Google Sheets with Rendex Batch",
  "nodes": [
    {
      "parameters": {
        "content": "## 🗂️ Bulk screenshots at scale — Rendex Batch\n\n**Who it's for:** SEO, QA, and portfolio use cases that need to capture many pages at once — not one at a time.\n\n**What it does:** submits a whole list of URLs to **Rendex Batch** in a single call (up to 500 per plan), then polls for the finished result URLs.\n\n**⚡ Plan:** Batch is a **Starter+** feature (Free: 5/min single captures; Starter batch 25, Pro 100, Enterprise 500).\n\n**How it works:**\n1. A source provides the URL list (here Manual + sample **URL List** — swap in a **Google Sheets** read)\n2. **Rendex — Submit Batch** returns a `batchId` (`{{ $json.data.batchId }}`)\n3. **Wait** gives the batch time to finish (or use the `webhookUrl` field for large jobs)\n4. **Rendex — Batch Status** returns each URL's signed result image\n\n**How to use:**\n1. Install `n8n-nodes-rendex` and add your **Rendex API** credential (Starter+ for batch)\n2. Replace **URL List** with a Google Sheets node reading your URL column\n3. Click **Test workflow**\n\n📚 Docs: https://rendex.dev/docs/n8n",
        "height": 500,
        "width": 450
      },
      "id": "sticky-overview",
      "name": "Overview",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [-390, 100]
    },
    {
      "parameters": {
        "content": "### 1 · URL list\nThe **Read URLs (Google Sheets)** node below is pre-added and disabled. To use your own sheet: add a Google Sheets credential, **enable** the node, wire it into **Submit Batch**, and map your URL column into the **URLs** field (one per line). Until then, the sample list on the batch node runs on **Test workflow**.",
        "height": 320,
        "width": 320,
        "color": 4
      },
      "id": "sticky-source",
      "name": "Source note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [110, 90]
    },
    {
      "parameters": {},
      "id": "manual-trigger",
      "name": "When clicking Test",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [170, 300]
    },
    {
      "parameters": {
        "documentId": { "__rl": true, "mode": "list", "value": "" },
        "sheetName": { "__rl": true, "mode": "list", "value": "" },
        "options": {}
      },
      "id": "sheets-read",
      "name": "Read URLs (Google Sheets)",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [180, 500],
      "disabled": true
    },
    {
      "parameters": {
        "content": "### 2 · Submit the batch\n**URLs** is one URL per line. **Defaults** apply the same capture options to every URL. Returns a `batchId` immediately. For big jobs, set **Webhook URL** and skip the Wait step — Rendex calls you when it's done.",
        "height": 320,
        "width": 340,
        "color": 5
      },
      "id": "sticky-submit",
      "name": "Submit note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [400, 90]
    },
    {
      "parameters": {
        "resource": "batch",
        "operation": "submit",
        "urls": "https://rendex.dev\nhttps://news.ycombinator.com\nhttps://example.com",
        "defaults": "{\"format\":\"png\",\"fullPage\":true,\"blockCookieBanners\":true}",
        "webhookUrl": "",
        "cacheTtl": 86400
      },
      "id": "rendex-batch-submit",
      "name": "Rendex — Submit Batch",
      "type": "n8n-nodes-rendex.rendex",
      "typeVersion": 1,
      "position": [480, 300]
    },
    {
      "parameters": {
        "amount": 30,
        "unit": "seconds"
      },
      "id": "wait",
      "name": "Wait for batch",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [740, 300]
    },
    {
      "parameters": {
        "content": "### 3 · Get the results\nPolls the batch by ID and returns each URL's status + signed result image URL. Fan out with a **Split Out / Loop** to save each image to Drive or S3.",
        "height": 300,
        "width": 320,
        "color": 3
      },
      "id": "sticky-status",
      "name": "Status note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [960, 100]
    },
    {
      "parameters": {
        "resource": "batch",
        "operation": "getStatus",
        "batchId": "={{ $('Rendex — Submit Batch').item().json.data.batchId }}"
      },
      "id": "rendex-batch-status",
      "name": "Rendex — Batch Status",
      "type": "n8n-nodes-rendex.rendex",
      "typeVersion": 1,
      "position": [1020, 300]
    }
  ],
  "connections": {
    "When clicking Test": {
      "main": [[{ "node": "Rendex — Submit Batch", "type": "main", "index": 0 }]]
    },
    "Rendex — Submit Batch": {
      "main": [[{ "node": "Wait for batch", "type": "main", "index": 0 }]]
    },
    "Wait for batch": {
      "main": [[{ "node": "Rendex — Batch Status", "type": "main", "index": 0 }]]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "instanceId": ""
  }
}
