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
市場調査
ワークフロー情報
難易度
中級
ノード数9
カテゴリー2
ノードタイプ5
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34