RapidAPIとGoogle Sheetsを使用した競合のキーワード分析レポート
中級
これはMarket Research, Multimodal AI分野の自動化ワークフローで、9個のノードを含みます。主にCode, FormTrigger, HttpRequest, GoogleSheetsなどのノードを使用。 RapidAPIとGoogle Sheetsを使って競合キーワードを分析するレポート作成
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "6df0fc87-64cd-4ed2-8c13-94a26e54f0f4",
"name": "フォーム送信時",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"webhookId": "62964f32-f17c-4b83-9836-a1736de829fd",
"parameters": {
"options": {},
"formTitle": "Competitor Keyword Analysis",
"formFields": {
"values": [
{
"fieldLabel": "website",
"requiredField": true
},
{
"fieldLabel": "country",
"placeholder": "in",
"requiredField": true
}
]
},
"formDescription": "Competitor Keyword Analysis"
},
"typeVersion": 2.2
},
{
"id": "1a919bd5-3046-4e85-abda-603cd9e46a1a",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
800,
0
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "competition",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "competition",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cpc",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "cpc",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "keyword",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "keyword",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "numberOfResults",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "numberOfResults",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "position",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "position",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "positionDifference",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "positionDifference",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "previousPosition",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "previousPosition",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "searchVolume",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "searchVolume",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "trafficPercent",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "trafficPercent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "trafficCostPercent",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "trafficCostPercent",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "trends",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "trends",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "keywordDifficulty",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "keywordDifficulty",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "e66cb1b0-82db-4c3e-9d88-7c8d3d164822",
"name": "競合キーワード分析",
"type": "n8n-nodes-base.httpRequest",
"position": [
260,
0
],
"parameters": {
"url": "https://competitor-keyword-analysis.p.rapidapi.com/web-keyoword-tool.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "website",
"value": "={{ $json.website }}"
},
{
"name": "country",
"value": "={{ $json.country }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "competitor-keyword-analysis.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "53499d16-8b32-49ce-97e5-96260568234a",
"name": "コードの再フォーマット",
"type": "n8n-nodes-base.code",
"position": [
540,
0
],
"parameters": {
"jsCode": "return $input.first().json.data.semrushAPI.domainOrganicSearchKeywords;"
},
"typeVersion": 2
},
{
"id": "d3f84fa1-a176-442c-a761-6c1c1f446362",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-200
],
"parameters": {
"height": 400,
"content": " **📝 On form submission (`formTrigger`)** \n Captures user input (`website` and `country`) when the form is submitted to initiate the workflow.\n"
},
"typeVersion": 1
},
{
"id": "28e57f59-de22-4202-93ff-1e016a959fb5",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1220,
-400
],
"parameters": {
"width": 1000,
"height": 1160,
"content": "# 🔍 Competitor Keyword Analysis & Reporting Workflow\n\n## 📄 Description\nThis workflow automates competitor keyword analysis by capturing user input via a form, querying a keyword analysis API, transforming the returned data, and saving it to Google Sheets for future SEO tracking and decision-making.\n\n---\n\n## 🧩 Node-by-Node Breakdown\n\n1. **📝 On form submission (`formTrigger`)** \n Captures user input (`website` and `country`) when the form is submitted to initiate the workflow.\n\n2. **🌐 Competitor Keyword Analysis (`httpRequest`)** \n Sends a POST request to the Competitor Keyword Analysis API using the submitted website and country to fetch SEO keyword data.\n\n3. **🔄 Reformat Code (`code`)** \n Extracts the relevant `domainOrganicSearchKeywords` data from the API response for easier processing and storage.\n\n4. **📊 Google Sheets (`googleSheets`)** \n Appends the formatted keyword data into a specified Google Sheet for tracking, reporting, and analysis.\n\n---\n\n## 📌 Key Features\n\n- User-friendly form-based data input \n- Seamless API integration via RapidAPI \n- Data transformation using JavaScript \n- Google Sheets logging for long-term analysis \n\n---\n\n## 📁 Output Example (Google Sheets)\n\n| keyword | searchVolume | cpc | competition | position | ... |\n|---------------|--------------|-----|-------------|----------|-----|\n| example term | 9900 | 2.3 | 0.87 | 5 | ... |\n\n---\n\n## ✅ Use Case\nIdeal for marketers, SEO analysts, and agencies who want to track competitor keyword data efficiently and in real time without manual data entry.\n\n\n"
},
"typeVersion": 1
},
{
"id": "ab39b34c-4e33-4325-9641-1e9221936eed",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
-200
],
"parameters": {
"height": 400,
"content": "**🌐 Competitor Keyword Analysis (`httpRequest`)** \n Sends a POST request to the Competitor Keyword Analysis API using the submitted website and country to fetch SEO keyword data.\n"
},
"typeVersion": 1
},
{
"id": "3b80d196-f33a-4df3-ab7c-e0a78cae876d",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-200
],
"parameters": {
"height": 400,
"content": "**🔄 Reformat Code (`code`)** \n Extracts the relevant `domainOrganicSearchKeywords` data from the API response for easier processing and storage.\n"
},
"typeVersion": 1
},
{
"id": "d6127aac-de48-4427-8881-4d493c61b156",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-200
],
"parameters": {
"height": 400,
"content": "**📊 Google Sheets (`googleSheets`)** \n Appends the formatted keyword data into a specified Google Sheet for tracking, reporting, and analysis.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"53499d16-8b32-49ce-97e5-96260568234a": {
"main": [
[
{
"node": "1a919bd5-3046-4e85-abda-603cd9e46a1a",
"type": "main",
"index": 0
}
]
]
},
"6df0fc87-64cd-4ed2-8c13-94a26e54f0f4": {
"main": [
[
{
"node": "e66cb1b0-82db-4c3e-9d88-7c8d3d164822",
"type": "main",
"index": 0
}
]
]
},
"e66cb1b0-82db-4c3e-9d88-7c8d3d164822": {
"main": [
[
{
"node": "53499d16-8b32-49ce-97e5-96260568234a",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - 市場調査, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
RapidAPIとGoogle Sheetsを使ったページSEO分析の自動化と記録
APIキーの利用規約変更に基づくRapidAPIとGoogleスプレッドシートを使用したページSEO分析と記録の自動化
Set
Code
Form Trigger
+
Set
Code
Form Trigger
33 ノードEvoort Solutions
市場調査
RapidAPI を通じて Google Sheets への Semrush による自動バックラinking データ出力
Semrush から自動のにリバースリンクデータをGoogle Sheetsへ出力(RapidAPIを使用)
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
13 ノードEvoort Solutions
市場調査
RapidAPIを使ってYouTubeチャンネル メタデータをGoogle Docsに抽出
RapidAPIを使ってYouTubeチャネルメタデータをGoogle Docsに抽出
Code
Google Docs
Form Trigger
+
Code
Google Docs
Form Trigger
9 ノードEvoort Solutions
市場調査
Google Sheetsとメール通知を使用してタイトルの明確さを最適化する
Google Sheetsとメール通知によるタイトルの明確さの最適化
If
Code
Email Send
+
If
Code
Email Send
14 ノードEvoort Solutions
コンテンツ作成
ランディングページアナライザーAIを使ってウェブページを分析し、Google Docsレポートを生成
ラニリングページアナライザAIを使ってウェブページを分析し、Google Docsのレポートを生成
Code
Google Docs
Form Trigger
+
Code
Google Docs
Form Trigger
9 ノードEvoort Solutions
AI要約
トップクラスのリバーシブルリンクチェッカーAPIを使ってサイトのリバーシブルリンクを分析し、Google Sheetsに記録
トップクラスのバックリンクチェッカーAPIを使ってサイトのバックリンクを分析し、Google Sheetsに記録
Code
Form Trigger
Http Request
+
Code
Form Trigger
Http Request
13 ノードSk developer
市場調査