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 →
{
"nodes": [
{
"parameters": {
"path": "scraper",
"httpMethod": "POST",
"responseMode": "onReceived"
},
"id": "1",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
200,
250
]
},
{
"parameters": {
"url": "={{ $json[\"body\"][\"search_url\"] }}",
"responseFormat": "string"
},
"id": "2",
"name": "Get Search Page",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 2,
"position": [
450,
250
]
},
{
"parameters": {
"dataPropertyName": "body",
"extractions": [
{
"name": "name",
"cssSelector": "h2, .business-name, .result-title"
},
{
"name": "link",
"cssSelector": "a",
"attribute": "href"
}
]
},
"id": "3",
"name": "Extract Business Links",
"type": "n8n-nodes-base.htmlExtract",
"typeVersion": 1,
"position": [
700,
250
]
},
{
"parameters": {
"mode": "splitInBatches",
"batchSize": 1
},
"id": "4",
"name": "Split Businesses",
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 1,
"position": [
950,
250
]
},
{
"parameters": {
"url": "={{ $json[\"link\"] }}",
"responseFormat": "string"
},
"id": "5",
"name": "Visit Business Page",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 2,
"position": [
1200,
250
]
},
{
"parameters": {
"functionCode": "const html = items[0].json;\nconst body = typeof html === 'string' ? html : (html.body || JSON.stringify(html));\n\n// Buscar tel\u00e9fono (regex simple)\nconst phoneRegex = /(\\+?\\d[\\d\\s\\-()]{7,}\\d)/g;\nconst phones = body.match(phoneRegex);\n\nreturn [{\n json: {\n name: $json[\"name\"] || \"Sin nombre\",\n web: $json[\"link\"] || \"\",\n telefono: phones ? phones[0] : \"No encontrado\"\n }\n}];"
},
"id": "6",
"name": "Extract Phone",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
1450,
250
]
},
{
"parameters": {
"operation": "append",
"binaryData": false,
"options": {}
},
"id": "7",
"name": "Excel File",
"type": "n8n-nodes-base.spreadsheetFile",
"typeVersion": 1,
"position": [
1700,
250
]
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Get Search Page",
"type": "main",
"index": 0
}
]
]
},
"Get Search Page": {
"main": [
[
{
"node": "Extract Business Links",
"type": "main",
"index": 0
}
]
]
},
"Extract Business Links": {
"main": [
[
{
"node": "Split Businesses",
"type": "main",
"index": 0
}
]
]
},
"Split Businesses": {
"main": [
[
{
"node": "Visit Business Page",
"type": "main",
"index": 0
}
]
]
},
"Visit Business Page": {
"main": [
[
{
"node": "Extract Phone",
"type": "main",
"index": 0
}
]
]
},
"Extract Phone": {
"main": [
[
{
"node": "Excel File",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Lakaka. Uses httpRequest, htmlExtract, spreadsheetFile. Webhook trigger; 7 nodes.
Source: https://gist.github.com/naaman22/6dae37c4162a01d16eccfbc7badb99cb — 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.
Automated SEO Audit in n8n – Your All-in-One Website Optimization Tool!
This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di
This flow creates dummy files for every item added in your *Arrs (Radarr/Sonarr) with the tag .
This workflow receives webhook requests from a content calendar and uses the X API v2 to publish text posts, threads, image/video posts, and polls, as well as delete existing posts and run a credentia
This workflow acts as a central API gateway for all technical indicator agents in the Binance Spot Market Quant AI system. It listens for incoming webhook requests and dynamically routes them to the c