Análisis automatizado de palabras clave de SEO con RapidAPI y Google Sheets
Este es unMarket Research, Multimodal AIflujo de automatización del dominio deautomatización que contiene 21 nodos.Utiliza principalmente nodos como Set, Code, FormTrigger, HttpRequest, GoogleSheets. Análisis automatizado de palabras clave de SEO a través de RapidAPI y Google Sheets
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (21)
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "2b931767-0890-44bd-bd6e-0520d2d30d19",
"name": "Al enviar el formulario",
"type": "n8n-nodes-base.formTrigger",
"position": [
-800,
300
],
"webhookId": "048b06f3-4345-4351-903d-1f15486955fb",
"parameters": {
"options": {},
"formTitle": "OnPage SEO ( Keyword)",
"formFields": {
"values": [
{
"fieldLabel": "keyword",
"requiredField": true
},
{
"fieldLabel": "country",
"requiredField": true
}
]
},
"formDescription": "OnPage SEO ( Keyword)"
},
"typeVersion": 2.2
},
{
"id": "6744f81f-3a81-4602-b6ce-24a47aefcf0d",
"name": "Almacenamiento Global",
"type": "n8n-nodes-base.set",
"position": [
-480,
300
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "10714a4e-2be6-4167-aef5-afe30eebdc2b",
"name": "keyword",
"type": "string",
"value": "={{ $json.keyword }}"
},
{
"id": "6d160d8b-ab11-4f0a-a484-2e3f8f7f3033",
"name": "country",
"type": "string",
"value": "={{ $json.country }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "bcc6356f-69b7-48cb-8901-2155a7a354d8",
"name": "Reformatear",
"type": "n8n-nodes-base.code",
"position": [
200,
20
],
"parameters": {
"jsCode": "\nreturn $input.first().json.data.semrushAPI.broadMatchKeywords;"
},
"typeVersion": 2
},
{
"id": "880567fc-0355-4e2d-907b-91138a74600b",
"name": "Reformatear 2",
"type": "n8n-nodes-base.code",
"position": [
240,
360
],
"parameters": {
"jsCode": "return $input.first().json.data.semrushAPI.keywordDifficulty[0];"
},
"typeVersion": 2
},
{
"id": "21b7e79e-d94d-4dad-b40f-8c78eadf5958",
"name": "Reformatear 5",
"type": "n8n-nodes-base.code",
"position": [
260,
700
],
"parameters": {
"jsCode": "return $input.first().json.data.semrushAPI.serpResults;"
},
"typeVersion": 2
},
{
"id": "5d57d994-d970-4670-8868-18875f16890d",
"name": "Keyword Insights",
"type": "n8n-nodes-base.googleSheets",
"position": [
500,
20
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Keyword Insights"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw",
"cachedResultUrl": "",
"cachedResultName": "Website onPage ( Keyword)"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "c2f0a816-6ba0-48b2-a764-dc19203aa3ed",
"name": "Keyword Insights Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
-140,
20
],
"parameters": {
"url": "https://seo-on-page.p.rapidapi.com/keyword-tool.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "keyword",
"value": "={{ $json.keyword }}"
},
{
"name": "country",
"value": "={{ $json.country }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "seo-on-page.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "5e918cef-3e92-4085-902c-19c1c56e0a4e",
"name": "KeyWord Difficulty Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
-20,
380
],
"parameters": {
"url": "https://seo-on-page.p.rapidapi.com/keywordDifficulty.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "keyword",
"value": "={{ $json.keyword }}"
},
{
"name": "country",
"value": "={{ $json.country }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "=seo-on-page.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "aed9c3bf-f81e-423a-a176-ef5a97e9ee05",
"name": "KeyWord Difficulty",
"type": "n8n-nodes-base.googleSheets",
"position": [
560,
340
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "keyword",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "keyword",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "keywordDifficultyIndex",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "keywordDifficultyIndex",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1445611850,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw/edit#gid=1445611850",
"cachedResultName": "KeyWord Difficulty"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw/edit?usp=drivesdk",
"cachedResultName": "Website onPage ( Keyword)"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "95fabfa0-c82a-450f-a48e-a3eee77e7c82",
"name": "SERP Result",
"type": "n8n-nodes-base.googleSheets",
"position": [
660,
700
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 684053301,
"cachedResultUrl": "",
"cachedResultName": "Serp Analytics"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1dCSO-gv_mPD3O0QACeJaBFtjYGqtF-iF2_6iCuvm_Xw",
"cachedResultUrl": "",
"cachedResultName": "Website onPage ( Keyword)"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "d1d45c51-227d-425d-97f5-7fd0d32ad593",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2100,
-200
],
"parameters": {
"width": 960,
"height": 1220,
"content": "# 📊 OnPage SEO (Keyword) - n8n Workflow\n\n## 📝 Description\nThis workflow automates keyword analysis for on-page SEO using form input (keyword and country), fetches keyword data from an API (including keyword insights, difficulty, and SERP data), and saves results into a Google Sheet.\n\n---\n\n## 🔧 Node-by-Node Overview\n\n### 1. **On form submission**\nTriggers when a form is submitted with required inputs: `keyword` and `country`.\n\n### 2. **Global Storage**\nStores the form inputs (`keyword`, `country`) into the workflow context for further use.\n\n### 3. **Keyword Insights Request**\nSends a POST request to the SEO API (`keyword-tool.php`) to fetch keyword data such as broad match keywords.\n\n### 4. **KeyWord Difficulty Request**\nSends a POST request to the SEO API (`keywordDifficulty.php`) to retrieve keyword difficulty and SERP results.\n\n### 5. **Re-Format**\nParses and extracts `broadMatchKeywords` from the keyword insights API response.\n\n### 6. **Re-Format 2**\nParses and extracts the `keywordDifficultyIndex` from the difficulty API response.\n\n### 7. **Re -Format 5**\nParses and extracts `serpResults` from the difficulty API response.\n\n### 8. **Keyword Insights**\nAppends the extracted keyword insights into the **\"Keyword Insights\"** sheet in the connected Google Sheet.\n\n### 9. **KeyWord Difficulty**\nAppends keyword and difficulty index data into the **\"KeyWord Difficulty\"** sheet in the connected Google Sheet.\n\n### 10. **SERP Result**\nAppends extracted SERP data into the **\"Serp Analytics\"** sheet in the connected Google Sheet.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "e4815a76-56c1-4866-a6c0-1a6cea997e98",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
140
],
"parameters": {
"height": 320,
"content": "### 1. 🟢 **On form submission**\n**Type:** `formTrigger` \n**Description:** Triggers when a user submits the form with `keyword` and `country` fields.\n"
},
"typeVersion": 1
},
{
"id": "4f9f580f-57ca-4b18-a2fa-09f3fab03451",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
140
],
"parameters": {
"height": 320,
"content": "### 2. 📦 **Global Storage**\n**Type:** `set` \n**Description:** Stores the keyword and country values from the form for use in later nodes.\n"
},
"typeVersion": 1
},
{
"id": "ec770ca7-219c-4eb4-b677-10c7605d38bd",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
-160
],
"parameters": {
"height": 320,
"content": "### 3. 🌐 **Keyword Insights Request**\n**Type:** `httpRequest` \n**Description:** Sends a POST request to the RapidAPI SEO endpoint (`keyword-tool.php`) to get broad match keyword insights.\n"
},
"typeVersion": 1
},
{
"id": "1df871f7-f75d-424e-b011-6f58b4ad5e1d",
"name": "Nota Adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
180
],
"parameters": {
"height": 340,
"content": "### 4. 🌐 **KeyWord Difficulty Request**\n**Type:** `httpRequest` \n**Description:** Sends a POST request to the RapidAPI SEO endpoint (`keywordDifficulty.php`) to get keyword difficulty and SERP data.\n"
},
"typeVersion": 1
},
{
"id": "a168caf8-73e2-405c-8588-88939bf50038",
"name": "Nota Adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-180
],
"parameters": {
"height": 340,
"content": "### 5. 🧾 **Re-Format**\n**Type:** `code` \n**Description:** Extracts the `broadMatchKeywords` array from the `keyword-tool` API response.\n"
},
"typeVersion": 1
},
{
"id": "51e19d07-9e11-46d9-9018-f473b1d1f4e5",
"name": "Nota Adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-160
],
"parameters": {
"height": 320,
"content": "### 6. 📊 **Keyword Insights**\n**Type:** `googleSheets` \n**Description:** Appends the extracted broad match keyword data to the **\"Keyword Insights\"** sheet in Google Sheets."
},
"typeVersion": 1
},
{
"id": "dd43562a-5946-4491-8761-5700cdb1d8fc",
"name": "Nota Adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
200
],
"parameters": {
"height": 300,
"content": "### 7. 🧮 **Re-Format 2**\n**Type:** `code` \n**Description:** Extracts the `keywordDifficultyIndex` from the `keywordDifficulty` API response.\n"
},
"typeVersion": 1
},
{
"id": "f823bb2d-3042-4717-8421-a42c914f5fd0",
"name": "Nota Adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
200
],
"parameters": {
"height": 300,
"content": "### 8. 📈 **KeyWord Difficulty**\n**Type:** `googleSheets` \n**Description:** Appends the keyword and difficulty index to the **\"KeyWord Difficulty\"** sheet.\n"
},
"typeVersion": 1
},
{
"id": "303561c4-182f-4950-ba17-544cb633b2e6",
"name": "Nota Adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
540
],
"parameters": {
"height": 320,
"content": "### 9. 🗂️ **Re -Format 5**\n**Type:** `code` \n**Description:** Extracts the `serpResults` data from the `keywordDifficulty` API response.\n"
},
"typeVersion": 1
},
{
"id": "29647f1c-1cac-4ccc-bb55-7df969e9d3ed",
"name": "Nota Adhesiva10",
"type": "n8n-nodes-base.stickyNote",
"position": [
580,
560
],
"parameters": {
"height": 280,
"content": "### 10. 🔍 **SERP Result**\n**Type:** `googleSheets` \n**Description:** Appends the extracted SERP analytics data to the **\"Serp Analytics\"** sheet.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"bcc6356f-69b7-48cb-8901-2155a7a354d8": {
"main": [
[
{
"node": "5d57d994-d970-4670-8868-18875f16890d",
"type": "main",
"index": 0
}
]
]
},
"880567fc-0355-4e2d-907b-91138a74600b": {
"main": [
[
{
"node": "aed9c3bf-f81e-423a-a176-ef5a97e9ee05",
"type": "main",
"index": 0
}
]
]
},
"21b7e79e-d94d-4dad-b40f-8c78eadf5958": {
"main": [
[
{
"node": "95fabfa0-c82a-450f-a48e-a3eee77e7c82",
"type": "main",
"index": 0
}
]
]
},
"6744f81f-3a81-4602-b6ce-24a47aefcf0d": {
"main": [
[
{
"node": "c2f0a816-6ba0-48b2-a764-dc19203aa3ed",
"type": "main",
"index": 0
},
{
"node": "5e918cef-3e92-4085-902c-19c1c56e0a4e",
"type": "main",
"index": 0
}
]
]
},
"2b931767-0890-44bd-bd6e-0520d2d30d19": {
"main": [
[
{
"node": "6744f81f-3a81-4602-b6ce-24a47aefcf0d",
"type": "main",
"index": 0
}
]
]
},
"c2f0a816-6ba0-48b2-a764-dc19203aa3ed": {
"main": [
[
{
"node": "bcc6356f-69b7-48cb-8901-2155a7a354d8",
"type": "main",
"index": 0
}
]
]
},
"5e918cef-3e92-4085-902c-19c1c56e0a4e": {
"main": [
[
{
"node": "880567fc-0355-4e2d-907b-91138a74600b",
"type": "main",
"index": 0
},
{
"node": "21b7e79e-d94d-4dad-b40f-8c78eadf5958",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Investigación de mercado, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Evoort Solutions
@evoortsolutionsCompartir este flujo de trabajo