WHOIS 쿼리와 GPT-5-Nano를 통해 RapidAPI를 사용하여 도메인 통찰력 생성
중급
이것은Market Research, AI Summarization분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 Set, Webhook, HttpRequest, HttpRequestTool, OpenAi 등의 노드를 사용하며. 사용하여 WHOIS 쿼리와 GPT-5-Nano를 통해 RapidAPI를 통해 도메인 통찰력 생성
사전 요구사항
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •대상 API의 인증 정보가 필요할 수 있음
- •OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "3dd9efe937707b07af3ede5b46321ec0e2a9e49d7ef201e274c4c4aa1a4615a6",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "eac50c4b-7ab3-4d18-917b-4f6cbf8a3358",
"name": "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": "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": "모델에 메시지 전송",
"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 요청1",
"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": "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": "스티키 노트3",
"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": "스티키 노트5",
"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": "스티키 노트4",
"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": "스티키 노트",
"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": "스티키 노트1",
"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": "스티키 노트2",
"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": "스티키 노트6",
"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": "스티키 노트7",
"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": "스티키 노트8",
"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
}
]
]
},
"eac50c4b-7ab3-4d18-917b-4f6cbf8a3358": {
"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": "8a8ce283-6ee1-40e3-abf5-5e4ad7ac1f66",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 시장 조사, AI 요약
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
AI 기반 YouTube 제품 리뷰 자동 분석
Apify와 GPT를 활용한 AI 기반 YouTube 제품 리뷰 자동 분석
Set
Code
Gmail
+
Set
Code
Gmail
25 노드Oriol Seguí
시장 조사
SEO 블로그 분석
AI를 사용한 블로그 SEO 분석: GPT-4 및 규정 준수 크롤링 기반 완전 평가
If
Set
Code
+
If
Set
Code
20 노드inderjeet Bhambra
시장 조사
GPT-5 nano와 Google Sheets를 사용하여 웹을 추출하고 질문에 답하다
GPT-5 nano와 Google Sheets를 사용하여 웹사이트를 추출하고 질문에 답하다
If
Set
Xml
+
If
Set
Xml
44 노드Oriol Seguí
시장 조사
GPT-5 nano 및 Yoast SEO를 사용한 WordPress SEO 최적화 자동화
GPT-5 nano 및 Yoast SEO를 사용한 WordPress SEO 최적화 자동화
Set
Code
Gmail
+
Set
Code
Gmail
35 노드Oriol Seguí
기타
심층 연구 인공지능에이전트
심층 연구 인공지능 - 자동 연구 및 Notion 보고서 생성기
Set
Code
Filter
+
Set
Code
Filter
43 노드Aziz B
시장 조사
실시간 참가자 참여도 및 피드백 분석기
감정 분석, Google Sheets, Slack, 이메일을 사용한 캠페인 피드백 분석
If
Set
Slack
+
If
Set
Slack
14 노드Oneclick AI Squad
시장 조사