AutomationFlowsGeneral › Scrape Web Images to Google Sheets

Scrape Web Images to Google Sheets

Original n8n title: Collects Images From Web Search Results and Send to Google Sheets

Collects Images From Web Search Results And Send To Google Sheets. Uses awsRekognition, httpRequest, googleSheets. Manual trigger; 6 nodes.

Manual trigger★★★★☆ complexity6 nodesAWS RekognitionHTTP RequestGoogle Sheets
General Trigger: Manual Nodes: 6 Complexity: ★★★★☆ Added:

This workflow follows the Google Sheets → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "name": "AWS Rekognition",
      "type": "n8n-nodes-base.awsRekognition",
      "position": [
        680,
        700
      ],
      "parameters": {
        "type": "detectText",
        "binaryData": true,
        "additionalFields": {}
      },
      "credentials": {
        "aws": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        500,
        700
      ],
      "parameters": {
        "url": "https://www.nicepng.com/png/detail/54-542069_motivational-quotes-png.png",
        "options": {},
        "responseFormat": "file",
        "queryParametersUi": {
          "parameter": []
        },
        "headerParametersUi": {
          "parameter": []
        }
      },
      "typeVersion": 1
    },
    {
      "name": "HTTP Request1",
      "type": "n8n-nodes-base.httpRequest",
      "disabled": true,
      "position": [
        500,
        860
      ],
      "parameters": {
        "url": "https://www.googleapis.com/customsearch/v1?key=[YOUR_KEY]&cx=[YOUR_CX]&q=office&searchType=image",
        "options": {},
        "queryParametersUi": {
          "parameter": []
        },
        "headerParametersUi": {
          "parameter": []
        }
      },
      "typeVersion": 1
    },
    {
      "name": "Set1",
      "type": "n8n-nodes-base.set",
      "position": [
        860,
        700
      ],
      "parameters": {
        "values": {
          "number": [],
          "string": [
            {
              "name": "img_name",
              "value": "={{$node[\"HTTP Request\"].binary.data.fileName}}"
            },
            {
              "name": "img_link",
              "value": "={{$node[\"HTTP Request\"].parameter[\"url\"]}}"
            },
            {
              "name": "img_txt",
              "value": "={{$json[\"TextDetections\"][1][\"DetectedText\"]}} {{$json[\"TextDetections\"][2][\"DetectedText\"]}}{{$json[\"TextDetections\"][3][\"DetectedText\"]}} {{$json[\"TextDetections\"][4][\"DetectedText\"]}} {{$json[\"TextDetections\"][5][\"DetectedText\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "name": "Function1",
      "type": "n8n-nodes-base.function",
      "position": [
        1040,
        700
      ],
      "parameters": {
        "functionCode": "for (item of items) {\n  item.json.lowerText = $node[\"Set1\"].json[\"img_txt\"].toLowerCase();\n}\nconsole.log('Done!');\n\nreturn items;"
      },
      "typeVersion": 1
    },
    {
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1220,
        700
      ],
      "parameters": {
        "options": {},
        "sheetId": "qwertz",
        "operation": "append",
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Set1": {
      "main": [
        [
          {
            "node": "Function1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function1": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "AWS Rekognition",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AWS Rekognition": {
      "main": [
        [
          {
            "node": "Set1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Collects Images From Web Search Results And Send To Google Sheets. Uses awsRekognition, httpRequest, googleSheets. Manual trigger; 6 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Collect And Label Images And Send To Google Sheets. Uses httpRequest, awsRekognition, googleSheets. Manual trigger; 4 nodes.

HTTP Request, AWS Rekognition, Google Sheets
General

Convert Image Files Jpg Png Jpeg To Urls And Reduce File Size With Resmush It And Imgbb. Uses httpRequest, stickyNote, openAi, noOp. Manual trigger; 11 nodes.

HTTP Request, OpenAI
General

Transform Xml Data And Upload To Dropbox. Uses xml, httpRequest, dropbox. Manual trigger; 5 nodes.

XML, HTTP Request, Dropbox
General

Perform Speech To Text On Recorded Audio Clips Using Wit Ai. Uses readBinaryFile, httpRequest. Manual trigger; 2 nodes.

Read Binary File, HTTP Request
General

Send Google Analytics Data To A I To Analyze Then Save Results In Baserow. Uses scheduleTrigger, manualTrigger, stickyNote, googleAnalytics. Scheduled trigger; 22 nodes.

Google Analytics, HTTP Request, Baserow