Generar insights de dominios con WHOIS y GPT-5-Nano a través de RapidAPI
Este es unMarket Research, AI Summarizationflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como Set, Webhook, HttpRequest, HttpRequestTool, OpenAi. Usar consultas WHOIS y GPT-5-Nodo a través de RapidAPI para generar conocimientos de dominio
- •Punto final de HTTP Webhook (n8n generará automáticamente)
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de OpenAI
Nodos utilizados (15)
{
"meta": {
"instanceId": "3dd9efe937707b07af3ede5b46321ec0e2a9e49d7ef201e274c4c4aa1a4615a6",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "eac50c4b-7ab3-4d18-917b-4f6cbf8a3358",
"name": "Disparador Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-560,
96
],
"webhookId": "76654401-5166-4a5a-94df-fa3a2d986142",
"parameters": {
"path": "76654401-5166-4a5a-94df-fa3a2d986142",
"options": {},
"responseMode": "responseNode"
},
"typeVersion": 2.1
},
{
"id": "8a8ce283-6ee1-40e3-abf5-5e4ad7ac1f66",
"name": "Responder a Disparador Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
832,
96
],
"parameters": {
"options": {},
"respondWith": "text",
"responseBody": "=<div class=\"whois-card\">\n <h2>\n WHOIS —\n {{ $('Request API').item.json['ergates.net'][0]['0'].replace(/^\\s*Domain Name:\\s*/i,'').trim() }}\n </h2>\n\n <div class=\"whois-grid\">\n <div class=\"row\">\n <span class=\"k\">Registry Domain ID</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][1]['1'].replace(/^\\s*Registry Domain ID:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Registrar WHOIS</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][2]['2'].replace(/^\\s*Registrar WHOIS Server:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Registrar URL</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][3]['3'].replace(/^\\s*Registrar URL:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Updated</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][4]['4'].replace(/^\\s*Updated Date:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Created</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][5]['5'].replace(/^\\s*Creation Date:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Expiry</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][6]['6'].replace(/^\\s*Registry Expiry Date:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Registrar</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][7]['7'].replace(/^\\s*Registrar:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">IANA ID</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][8]['8'].replace(/^\\s*Registrar IANA ID:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Abuse Email</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][9]['9'].replace(/^\\s*Registrar Abuse Contact Email:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Abuse Phone</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][10]['10'].replace(/^\\s*Registrar Abuse Contact Phone:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Domain Status</span>\n <span class=\"v\">\n {{ $('Request API').item.json['ergates.net'][11]['11'].replace(/^\\s*Domain Status:\\s*/i,'').replace(/\\shttps?:.*/,'').trim() }}<br>\n {{ $('Request API').item.json['ergates.net'][12]['12'].replace(/^\\s*Domain Status:\\s*/i,'').replace(/\\shttps?:.*/,'').trim() }}\n </span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Name Servers</span>\n <span class=\"v\">\n {{ $('Request API').item.json['ergates.net'][13]['13'].replace(/^\\s*Name Server:\\s*/i,'').trim() }}<br>\n {{ $('Request API').item.json['ergates.net'][14]['14'].replace(/^\\s*Name Server:\\s*/i,'').trim() }}\n </span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">DNSSEC</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][15]['15'].replace(/^\\s*DNSSEC:\\s*/i,'').trim() }}</span>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">Last WHOIS Update</span>\n <span class=\"v\">{{ $('Request API').item.json['ergates.net'][17]['17'].replace(/[<>]/g,'').replace(/^\\s*Last update of whois database:\\s*/i,'').trim() }}</span>\n </div>\n </div>\n\n <div class=\"row\">\n <span class=\"k\">ChatGPT Description</span>\n <span class=\"v\">{{ $json.message?.content || '' }}</span>\n </div>\n</div>\n\n\n<style>\n :root{\n --whois-bg: #ffffff;\n --whois-fg: #0f1115;\n --whois-muted: #556;\n --whois-border: #e7e9ee;\n --whois-soft: #f7f8fb;\n --whois-radius: 14px;\n --whois-gap: 12px;\n --whois-shadow: 0 6px 24px rgba(16,24,40,.06);\n --whois-font: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;\n}\n\n.whois-card{\n font-family: var(--whois-font);\n max-width: 760px;\n margin: 16px auto;\n padding: 20px 22px;\n background: var(--whois-bg);\n color: var(--whois-fg);\n border: 1px solid var(--whois-border);\n border-radius: var(--whois-radius);\n box-shadow: var(--whois-shadow);\n}\n\n.whois-card h2{\n margin: 0 0 14px;\n font-size: 20px;\n line-height: 1.2;\n letter-spacing: .2px;\n}\n\n.whois-grid{\n display: grid;\n gap: var(--whois-gap);\n}\n\n.whois-card .row{\n display: grid;\n grid-template-columns: 180px 1fr;\n align-items: start;\n gap: 14px;\n padding: 12px 14px;\n background: var(--whois-soft);\n border: 1px solid var(--whois-border);\n border-radius: 12px;\n transition: transform .15s ease, background-color .2s ease, border-color .2s ease;\n}\n\n.whois-card .row:hover{\n transform: translateY(-1px);\n background: #fff;\n border-color: #dfe3ea;\n}\n\n.whois-card .k{\n font-weight: 600;\n color: var(--whois-muted);\n letter-spacing: .1px;\n}\n\n.whois-card .v{\n color: var(--whois-fg);\n word-break: break-word;\n white-space: pre-wrap;\n}\n\n/* Pequeños detalles tipográficos */\n.whois-card .v a{ text-decoration: none; border-bottom: 1px dotted #c7ccd6; }\n.whois-card .v a:hover{ border-bottom-style: solid; }\n\n/* Responsivo */\n@media (max-width: 640px){\n .whois-card{ padding: 18px; }\n .whois-card .row{ grid-template-columns: 1fr; }\n .whois-card h2{ font-size: 18px; }\n}\n\n/* Modo oscuro automático */\n@media (prefers-color-scheme: dark){\n :root{\n --whois-bg: #0f1115;\n --whois-fg: #e8ebf1;\n --whois-muted: #c3c8d4;\n --whois-border: #222837;\n --whois-soft: #141925;\n --whois-shadow: none;\n }\n .whois-card .row:hover{\n background: #101522;\n border-color: #2a3650;\n }\n}\n\n</style>\n"
},
"typeVersion": 1.4
},
{
"id": "0c51d286-49f8-4afd-913d-c32f1327267a",
"name": "Enviar mensaje a un modelo",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
432,
96
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-5-nano",
"cachedResultName": "GPT-5-NANO"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=Your task is to analyze the whois shared by the user and draw a conclusion or analysis based on your knowledge. \n\n\nImportant: make a short description\n\nForced to search the web: {{ $('OPTIONS').item.json.search_web }} (if this value is true you can use the tool to search the web, search for bing (https://www.bing.com/search?q=example)\n\nRespond in this language: {{ $('OPTIONS').item.json.lang }}"
},
{
"content": "=Whois recivido:\n\n{{ $json[\"ergates.net\"].map(e => `<li>${Object.values(e)[0]}</li>`).join(\"\") }}\n"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "dfSo8Emt7Jfhxkoj",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "5819375a-1eda-43f7-b9d5-2b372cbee0f6",
"name": "OPTIONS",
"type": "n8n-nodes-base.set",
"position": [
-208,
96
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6dd785e8-f276-4661-9ea4-0ca1c6448dd1",
"name": "lang",
"type": "string",
"value": "spanish"
},
{
"id": "9808cfc4-bd20-4e92-add3-715d0e79964a",
"name": "search_web",
"type": "boolean",
"value": true
},
{
"id": "10c0fdac-a571-4dc8-81d1-6b7b666f3f51",
"name": "domain",
"type": "string",
"value": "ergates.net"
},
{
"id": "967dc9ed-e29c-4c51-bfd7-7047bae8adff",
"name": "rapidapi",
"type": "string",
"value": "d33cc41e4emsh5252b1267d08d3ap14fe71jsnc8b777bbd7cc"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "62138ca3-a116-4203-b20d-1503caf46216",
"name": "HTTP Solicitud1",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
576,
288
],
"parameters": {
"url": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}",
"options": {},
"toolDescription": "Makes an HTTP request and returns the response data (using: https://www.bing.com/search?q=example)"
},
"typeVersion": 4.2
},
{
"id": "f0bcf135-ff7b-4991-b1e1-84a540e1340c",
"name": "Solicitar API",
"type": "n8n-nodes-base.httpRequest",
"position": [
144,
96
],
"parameters": {
"url": "https://pointsdb-bulk-whois-v1.p.rapidapi.com/whois",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "domains",
"value": "={{ $json.domain }}"
},
{
"name": "format",
"value": "split"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "pointsdb-bulk-whois-v1.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "={{ $json.rapidapi }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "cc6f75bc-f84f-45b2-b4bd-0fcca12efe5e",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-384
],
"parameters": {
"color": 3,
"width": 480,
"height": 192,
"content": "## Disscount Code\nIf you’ve made it this far, send a **screenshot** to **[oriolrotllant3@gmai.com](mailto:oriolrotllant3@gmai.com)** and receive a **25% discount** on any of my products. *Limited offer. One use per person.*\n"
},
"typeVersion": 1
},
{
"id": "100786c1-1cd9-43d1-96c2-581d7b36e5e9",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1088,
-384
],
"parameters": {
"color": 4,
"width": 256,
"height": 800,
"content": "## LICENSE\n\nThis project is distributed under a custom open license. You are free to use and modify this work, but not to sell copies of it.\n\n### Key Terms:\n\n* **Use**: You may use this project for personal, educational, or commercial purposes.\n\n* **Modification**: You are permitted to modify the code or content as you wish.\n\n* **Distribution**: You may share copies of the project, both in its original and modified versions, provided that such distribution is **non-commercial**. Selling copies of this project, in whole or in part, is not permitted.\n\n"
},
"typeVersion": 1
},
{
"id": "224776e0-c229-4b39-99e7-6f1dcf2203bb",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-672,
-384
],
"parameters": {
"color": 3,
"width": 480,
"height": 192,
"content": "## Welcome\nThis flow receives requests via Webhook, queries the domain's WHOIS via API, and, with the help of lightweight AI (GPT-5-Nano) and optional web search, generates a concise and clear analysis. The response is returned as an HTML card with a clean design, automatic dark mode, and key fields (dates, registrar, DNS, status), offering a modern, visual, and straightforward experience from the first glance."
},
"typeVersion": 1
},
{
"id": "3da895c9-c20c-4cdc-9341-541c5db5f51c",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-672,
-160
],
"parameters": {
"color": 5,
"width": 320,
"height": 576,
"content": "## Trigger\nThe Webhook node receives external requests (HTTP) and acts as an entry point to the flow, starting execution when a request arrives at the generated URL."
},
"typeVersion": 1
},
{
"id": "bbff074d-5a28-4ddc-af89-f1899dec1404",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-160
],
"parameters": {
"color": 5,
"width": 320,
"height": 576,
"content": "## Config Node\nThe OPTIONS node defines and assigns initial variables (language, domain, API key, web search, etc.) that will be used in subsequent nodes in the flow to maintain centralized configuration."
},
"typeVersion": 1
},
{
"id": "7e55dc3a-ff46-447f-94b9-936c71cbb455",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
-160
],
"parameters": {
"color": 5,
"width": 320,
"height": 576,
"content": "## Req API Node\nThe Request API node makes the call to the external WHOIS service (RapidAPI), sending the configured domain and returning the registration information in a split format so that the rest of the flow can process it."
},
"typeVersion": 1
},
{
"id": "d1d75b26-aa0d-4e58-ad43-9e900bf34c17",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-160
],
"parameters": {
"color": 5,
"width": 320,
"height": 576,
"content": "## GPT\nMessage to model: Sends the WHOIS (and context) to GPT-5-Nano to generate a short parse in the language defined in OPTIONS, and can invoke a web search if search_web is true.\n\nHTTP Request1 (AI Tool): Provides the AI with a tool to launch HTTP searches (e.g., Bing) when prompted, returning the data to the model node."
},
"typeVersion": 1
},
{
"id": "b03d3421-3d79-4bf3-a3b5-27dd0e134a83",
"name": "Nota adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
736,
-160
],
"parameters": {
"color": 5,
"width": 320,
"height": 576,
"content": "## Response\nThe Respond to Webhook node sends the final output of the flow back to the requesting client. In this case, it returns a stylized HTML card with the processed WHOIS data and the AI-generated description, providing a clear, browser-ready presentation."
},
"typeVersion": 1
},
{
"id": "8e7e4506-9d35-49e7-bb52-1c27cfdc6985",
"name": "Nota adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
352,
-384
],
"parameters": {
"color": 3,
"width": 704,
"height": 192,
"content": "## BY OXSR\nBy OXSR, visit my profile for professional and business \n\nWorkflows :: https://n8n.io/creators/oxsr11/\n\nGithub: https://github.com/oxsr"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"5819375a-1eda-43f7-b9d5-2b372cbee0f6": {
"main": [
[
{
"node": "f0bcf135-ff7b-4991-b1e1-84a540e1340c",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "5819375a-1eda-43f7-b9d5-2b372cbee0f6",
"type": "main",
"index": 0
}
]
]
},
"f0bcf135-ff7b-4991-b1e1-84a540e1340c": {
"main": [
[
{
"node": "0c51d286-49f8-4afd-913d-c32f1327267a",
"type": "main",
"index": 0
}
]
]
},
"62138ca3-a116-4203-b20d-1503caf46216": {
"ai_tool": [
[
{
"node": "0c51d286-49f8-4afd-913d-c32f1327267a",
"type": "ai_tool",
"index": 0
}
]
]
},
"0c51d286-49f8-4afd-913d-c32f1327267a": {
"main": [
[
{
"node": "Responder a Webhook",
"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?
Intermedio - Investigación de mercado, Resumen de IA
¿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
Compartir este flujo de trabajo