This workflow corresponds to n8n.io template #4784 — we link there as the canonical source.
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 →
{
"id": "Gzj0XGbwdrkLDnf6",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Builtwith TechLead Tracker",
"tags": [],
"nodes": [
{
"id": "c92c104a-6eba-4178-8bf6-991085ee1695",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "76e24861-9f7d-4b29-b522-6a844b9436bb",
"name": "Set Technology",
"type": "n8n-nodes-base.set",
"position": [
220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "03833cf1-e817-4466-9507-f8ddb587b5cb",
"name": "Technology",
"type": "string",
"value": "Shopify"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "15417d50-e7dd-4114-b907-fccc811868af",
"name": "Fetch BuiltWith Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
520,
0
],
"parameters": {
"url": "https://api.builtwith.com/v20/api.json",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "KEY",
"value": "YOUR_API_KEY"
},
{
"name": "TECH",
"value": "={{ $json.Technology }}"
},
{
"name": "START",
"value": "0"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "c688d193-0f53-4a83-a60e-8f2c8d10ab33",
"name": "Extract Site Info",
"type": "n8n-nodes-base.code",
"position": [
740,
0
],
"parameters": {
"jsCode": "const techSearched = $json[\"technologies\"] || \"Unknown\"; // fallback in case it's not set\nconst results = $json.Results || [];\n\nreturn results.map(site => {\n return {\n json: {\n domain: site.ResultPath || \"\",\n technology: techSearched,\n firstIndexed: site.FirstIndexed || \"\",\n vertical: site.Vertical || \"\"\n }\n };\n});\n"
},
"typeVersion": 2
},
{
"id": "dda7e1db-6e29-4f2d-b98f-25e1473f4ac8",
"name": "Log to Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1120,
0
],
"parameters": {
"columns": {
"value": {
"Domain": "={{ $json.domain }}",
"Vertical": "={{ $json.vertical }}",
"Technology": "={{ $json.technology }}",
"First Indexed": "={{ $json.firstIndexed }}"
},
"schema": [
{
"id": "Domain",
"type": "string",
"display": true,
"required": false,
"displayName": "Domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Technology",
"type": "string",
"display": true,
"required": false,
"displayName": "Technology",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "First Indexed",
"type": "string",
"display": true,
"required": false,
"displayName": "First Indexed",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Vertical",
"type": "string",
"display": true,
"required": false,
"displayName": "Vertical",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lDu3HvxcpA1nRDJq6Ge-OrMO0v592UfLBIjt3Ylc3Mo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1lDu3HvxcpA1nRDJq6Ge-OrMO0v592UfLBIjt3Ylc3Mo",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lDu3HvxcpA1nRDJq6Ge-OrMO0v592UfLBIjt3Ylc3Mo/edit?usp=drivesdk",
"cachedResultName": "Builtwith"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5
},
{
"id": "9e1ffa72-734e-4a66-a3e8-2b45b8979e4a",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-980
],
"parameters": {
"color": 3,
"width": 400,
"height": 1160,
"content": "## \ud83e\udde9 SECTION 1: **\ud83d\udd18 Manual Start + \ud83d\udcdd Set Target Technology**\n\n### \ud83c\udfaf Purpose:\n\nThis section allows **you (the user)** to manually start the workflow and specify **which technology** (e.g., Shopify, WordPress, React) you're interested in searching for via BuiltWith.\n\n### \ud83d\udd39 Nodes:\n\n* **\ud83d\udd18 Manual Trigger** (`Manual Trigger`)\n \u27a4 This lets you run the workflow manually while testing or for one-time actions.\n \ud83d\udccd Tip: Great for workflows that don't need to run on a schedule.\n\n* **\ud83d\udcdd Set Technology** (`Set` Node)\n \u27a4 You manually define the **technology name** here (e.g., \"Shopify\").\n \u27a4 You can add a field like:\n\n ```json\n {\n \"technologies\": \"Shopify\"\n }\n ```\n\n \u2705 This makes the workflow dynamic \u2014 you can change the tech each time without editing multiple nodes.\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to use the **Manual Trigger** to run a test or ad-hoc job.\n* How to use the **Set Node** to insert static/custom data into the flow.\n* How workflows can be made flexible with variables like `technologies`.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "a43fadd2-cf70-4f67-aa99-f513ea0e404a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-1180
],
"parameters": {
"color": 5,
"width": 420,
"height": 1360,
"content": "## \ud83d\udd17 SECTION 2: **\ud83c\udf10 Fetch + \ud83e\udde0 Process BuiltWith Data**\n\n### \ud83c\udfaf Purpose:\n\nUse the HTTP Request node to connect with the BuiltWith API, and then process the JSON response to extract useful data about the websites.\n\n### \ud83d\udd39 Nodes:\n\n* **\ud83c\udf10 Fetch BuiltWith Data** (`HTTP Request`)\n \u27a4 Sends a `GET` request to BuiltWith\u2019s API to find websites using the selected technology.\n \u27a4 Example URL:\n\n ```\n https://api.builtwith.com/v20/api.json?KEY=YOUR_API_KEY&TECH=Shopify&START=0\n ```\n\n \ud83d\udd11 Make sure to replace `YOUR_API_KEY` with your real BuiltWith API key.\n\n* **\ud83e\udde0 Extract Site Info** (`Function` Node)\n \u27a4 This node parses the JSON response from BuiltWith and pulls out the key fields:\n\n * `domain`\n * `technology`\n * `firstIndexed`\n * `vertical`\n \u27a4 Example output (ready for sheets):\n\n ```json\n {\n \"domain\": \"www.example-shop.com\",\n \"technology\": \"Shopify\",\n \"firstIndexed\": \"2024-11-02\",\n \"vertical\": \"E-commerce\"\n }\n ```\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to use the **HTTP Request** node to work with any public API.\n* How to read API documentation (BuiltWith) and form queries.\n* How to process complex API responses using a **Function Node** to extract and clean data.\n\n---\n\n\n"
},
"typeVersion": 1
},
{
"id": "97ce7536-bc81-4f00-966d-7375c6563fa3",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1000,
-720
],
"parameters": {
"color": 6,
"width": 360,
"height": 900,
"content": "## \ud83d\udcca SECTION 3: **\ud83d\udcc4 Log to Google Sheets**\n\n### \ud83c\udfaf Purpose:\n\nStore the clean data into a Google Sheet so that it can be used for:\n\n* Lead generation\n* Email campaigns\n* Technology tracking\n* Competitor research\n\n### \ud83d\udd39 Node:\n\n* **\ud83d\udcc4 Log to Google Sheet** (`Google Sheets \u2192 Append`)\n \u27a4 Appends the parsed data from the previous step to your spreadsheet.\n \u27a4 Each row represents a different website using the technology.\n \u27a4 Example columns:\n\n * A: Domain\n * B: Technology\n * C: First Indexed\n * D: Vertical\n\n\ud83d\udd10 You\u2019ll authenticate this once using Google OAuth2 \u2014 n8n saves the connection for future runs.\n\n"
},
"typeVersion": 1
},
{
"id": "dd0c5a1a-c155-4f8b-8680-8ccd4dd4196d",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-980
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "d3a277a7-ad8c-4f8c-bd08-5ac2b3e7f87e",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1680,
-640
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2938,
"content": "## \ud83c\udf1f n8n BuiltWith \u2192 Google Sheets Lead Generation Workflow\n\n> \ud83d\udd0e Goal: Use the BuiltWith API to find websites using a specific technology (e.g., Shopify) and log that data into Google Sheets for lead generation, prospecting, or analysis.\n\n---\n\n## \ud83e\udde9 SECTION 1: **\ud83d\udd18 Manual Start + \ud83d\udcdd Set Target Technology**\n\n### \ud83c\udfaf Purpose:\n\nThis section allows **you (the user)** to manually start the workflow and specify **which technology** (e.g., Shopify, WordPress, React) you're interested in searching for via BuiltWith.\n\n### \ud83d\udd39 Nodes:\n\n* **\ud83d\udd18 Manual Trigger** (`Manual Trigger`)\n \u27a4 This lets you run the workflow manually while testing or for one-time actions.\n \ud83d\udccd Tip: Great for workflows that don't need to run on a schedule.\n\n* **\ud83d\udcdd Set Technology** (`Set` Node)\n \u27a4 You manually define the **technology name** here (e.g., \"Shopify\").\n \u27a4 You can add a field like:\n\n ```json\n {\n \"technologies\": \"Shopify\"\n }\n ```\n\n \u2705 This makes the workflow dynamic \u2014 you can change the tech each time without editing multiple nodes.\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to use the **Manual Trigger** to run a test or ad-hoc job.\n* How to use the **Set Node** to insert static/custom data into the flow.\n* How workflows can be made flexible with variables like `technologies`.\n\n---\n\n## \ud83d\udd17 SECTION 2: **\ud83c\udf10 Fetch + \ud83e\udde0 Process BuiltWith Data**\n\n### \ud83c\udfaf Purpose:\n\nUse the HTTP Request node to connect with the BuiltWith API, and then process the JSON response to extract useful data about the websites.\n\n### \ud83d\udd39 Nodes:\n\n* **\ud83c\udf10 Fetch BuiltWith Data** (`HTTP Request`)\n \u27a4 Sends a `GET` request to BuiltWith\u2019s API to find websites using the selected technology.\n \u27a4 Example URL:\n\n ```\n https://api.builtwith.com/v20/api.json?KEY=YOUR_API_KEY&TECH=Shopify&START=0\n ```\n\n \ud83d\udd11 Make sure to replace `YOUR_API_KEY` with your real BuiltWith API key.\n\n* **\ud83e\udde0 Extract Site Info** (`Function` Node)\n \u27a4 This node parses the JSON response from BuiltWith and pulls out the key fields:\n\n * `domain`\n * `technology`\n * `firstIndexed`\n * `vertical`\n \u27a4 Example output (ready for sheets):\n\n ```json\n {\n \"domain\": \"www.example-shop.com\",\n \"technology\": \"Shopify\",\n \"firstIndexed\": \"2024-11-02\",\n \"vertical\": \"E-commerce\"\n }\n ```\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to use the **HTTP Request** node to work with any public API.\n* How to read API documentation (BuiltWith) and form queries.\n* How to process complex API responses using a **Function Node** to extract and clean data.\n\n---\n\n## \ud83d\udcca SECTION 3: **\ud83d\udcc4 Log to Google Sheets**\n\n### \ud83c\udfaf Purpose:\n\nStore the clean data into a Google Sheet so that it can be used for:\n\n* Lead generation\n* Email campaigns\n* Technology tracking\n* Competitor research\n\n### \ud83d\udd39 Node:\n\n* **\ud83d\udcc4 Log to Google Sheet** (`Google Sheets \u2192 Append`)\n \u27a4 Appends the parsed data from the previous step to your spreadsheet.\n \u27a4 Each row represents a different website using the technology.\n \u27a4 Example columns:\n\n * A: Domain\n * B: Technology\n * C: First Indexed\n * D: Vertical\n\n\ud83d\udd10 You\u2019ll authenticate this once using Google OAuth2 \u2014 n8n saves the connection for future runs.\n\n### \ud83d\udd30 What a beginner learns here:\n\n* How to connect Google Sheets to n8n\n* How to write structured data into spreadsheets\n* How to turn API data into actionable CSV-like output\n\n---\n\n## \ud83c\udf08 Final Workflow Recap\n\n```mermaid\ngraph TD;\n A[\ud83d\udd18 Manual Trigger] --> B[\ud83d\udcdd Set Technology];\n B --> C[\ud83c\udf10 Fetch BuiltWith Data];\n C --> D[\ud83e\udde0 Extract Site Info];\n D --> E[\ud83d\udcc4 Log to Google Sheet];\n```\n\n> \ud83d\udca1 **Pro Tip:** You can duplicate this workflow and use it for **any API** \u2192 process \u2192 log pattern. Just swap BuiltWith with another API and it still works!\n\n---\n\n\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "10d8e91e-6d86-476c-b215-38e4376ad6f8",
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Set Technology",
"type": "main",
"index": 0
}
]
]
},
"Set Technology": {
"main": [
[
{
"node": "Fetch BuiltWith Data",
"type": "main",
"index": 0
}
]
]
},
"Extract Site Info": {
"main": [
[
{
"node": "Log to Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Fetch BuiltWith Data": {
"main": [
[
{
"node": "Extract Site Info",
"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.
googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Automated system to track and analyze technology stacks used by target companies, helping identify decision-makers and technology trends. Tracks technology stack of target companies Identifies key decision-makers (CTOs, Tech Leads) Monitors technology changes and updates…
Source: https://n8n.io/workflows/4784/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Enrich And Veryify Leads. Uses httpRequest, googleSheets, googleSheetsTrigger. Event-driven trigger; 32 nodes.
This workflow scrapes Google Maps business listings (e.g., carpenters in Tarragona) to extract websites and email addresses — perfect for lead generation, local business prospecting, or agency outreac
Categories: Lead Generation, Web Scraping, Business Automation
This template finds businesses on Google Maps → writes to Google Sheets → enriches + verifies email contact so your outreach stays clean and deliverable. It includes Sticky Notes** to explain the flow
Description: