AutomationFlowsData & Sheets › Automated On-page SEO Analysis & Logging with Rapidapi and Google Sheets

Automated On-page SEO Analysis & Logging with Rapidapi and Google Sheets

ByEvoort Solutions @evoortsolutions on n8n.io

The SEO On Page API is a powerful tool for keyword research, competitor analysis, backlink insights, and overall SEO optimization. With multiple endpoints, you can instantly gather actionable SEO data without juggling multiple tools. You can explore and subscribe via SEO On Page…

Event trigger★★★★★ complexity33 nodesForm TriggerHTTP RequestGoogle Sheets
Data & Sheets Trigger: Event Nodes: 33 Complexity: ★★★★★ Added:

This workflow corresponds to n8n.io template #7367 — we link there as the canonical source.

This workflow follows the Form Trigger → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "10211c28-4673-429a-ba74-e41f4897dc93",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -540,
        0
      ],
      "parameters": {
        "options": {},
        "formTitle": "OnPage SEO ( WebSite )",
        "formFields": {
          "values": [
            {
              "fieldLabel": "website",
              "requiredField": true
            }
          ]
        },
        "formDescription": "OnPage SEO ( WebSite )"
      },
      "typeVersion": 2.2
    },
    {
      "id": "d540b3a7-fa74-4cbf-a5f1-f2fe90dac4b5",
      "name": "Global Storage",
      "type": "n8n-nodes-base.set",
      "position": [
        -220,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "10714a4e-2be6-4167-aef5-afe30eebdc2b",
              "name": "website",
              "type": "string",
              "value": "={{ $json.website }}"
            },
            {
              "id": "6d160d8b-ab11-4f0a-a484-2e3f8f7f3033",
              "name": "country",
              "type": "string",
              "value": "={{ $json.country }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5a516ec6-5571-49e5-9f29-71b0ca5571b9",
      "name": "Website Traffic Cheker",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        120,
        -280
      ],
      "parameters": {
        "url": "https://seo-on-page.p.rapidapi.com/webtraffic.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "website",
              "value": "={{ $json.website }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "seo-on-page.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6fd04a51-99f5-41b8-9e87-4b79458cb64f",
      "name": "Website Metrics DA PA",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        180,
        20
      ],
      "parameters": {
        "url": "https://seo-on-page.p.rapidapi.com/dapa.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "website",
              "value": "={{ $json.website }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "=seo-on-page.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "fd821ffa-4514-4d5d-b00b-121cd80f4de9",
      "name": "Top Baclinks",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        320
      ],
      "parameters": {
        "url": "https://seo-on-page.p.rapidapi.com/backlink.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "website",
              "value": "={{ $json.website }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "seo-on-page.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ba321850-215d-4bfc-974d-ca8b05010037",
      "name": "Competitors Analysis ",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        40,
        660
      ],
      "parameters": {
        "url": "https://seo-on-page.p.rapidapi.com/competitor.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "website",
              "value": "={{ $json.website }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "seo-on-page.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0608f487-09a2-4ace-8180-554a64db14d4",
      "name": "Re-Format",
      "type": "n8n-nodes-base.code",
      "position": [
        460,
        -280
      ],
      "parameters": {
        "jsCode": "\nreturn $input.first().json.data.semrushAPI.trafficSummary[0];"
      },
      "typeVersion": 2
    },
    {
      "id": "7e562232-bd9e-46e7-b084-6b63fbc45fcc",
      "name": "Re-Format 2",
      "type": "n8n-nodes-base.code",
      "position": [
        440,
        0
      ],
      "parameters": {
        "jsCode": "return $input.first().json.data;"
      },
      "typeVersion": 2
    },
    {
      "id": "8716e2fc-4e2a-4edf-9ebf-63ed9b985e87",
      "name": "DA PA",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        740,
        -20
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "da",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "da",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pa",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "pa",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "spam_score",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "spam_score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "dr",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "dr",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "org_traffic",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "org_traffic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2000619993,
          "cachedResultUrl": "",
          "cachedResultName": "DA PA"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VfFCJ_xNkhTdr0vHfHlxKlfaKXNXUrrT3FzIwHvfFJg",
          "cachedResultUrl": "",
          "cachedResultName": "OnPage Seo ( Website )"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "55ddbf28-b730-484b-b53a-1e84924df5b2",
      "name": "Website Traffic",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        760,
        -280
      ],
      "parameters": {
        "columns": {
          "value": {
            "users": "={{ $json.users }}",
            "visits": "={{ $json.visits }}",
            "website": "={{ $json.target }}",
            "bounceRate": "={{ $json.bounceRate }}",
            "timeOnSite": "={{ $json.timeOnSite }}",
            "displayDate": "={{ $json.displayDate }}",
            "pagesPerVisit": "={{ $json.pagesPerVisit }}",
            "searchOrganic": "={{ $json.searchOrganic }}"
          },
          "schema": [
            {
              "id": "website",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "searchOrganic",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "searchOrganic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pagesPerVisit",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "pagesPerVisit",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "visits",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "visits",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "users",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "users",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "timeOnSite",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "timeOnSite",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "bounceRate",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "bounceRate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "displayDate",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "displayDate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "WebSite Traffic"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VfFCJ_xNkhTdr0vHfHlxKlfaKXNXUrrT3FzIwHvfFJg",
          "cachedResultUrl": "",
          "cachedResultName": "OnPage Seo ( Website )"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "5a800f61-2f0c-4a3e-9cee-79c66b1982cc",
      "name": "Re -Format 3",
      "type": "n8n-nodes-base.code",
      "position": [
        540,
        360
      ],
      "parameters": {
        "jsCode": "return $input.first().json.data.semrushAPI.backlinksOverview;"
      },
      "typeVersion": 2
    },
    {
      "id": "98c5b73e-34cf-4a8b-b850-c80b134c3aef",
      "name": "Re -Format 4",
      "type": "n8n-nodes-base.code",
      "position": [
        540,
        620
      ],
      "parameters": {
        "jsCode": "return $input.first().json.data.semrushAPI.backlinks;"
      },
      "typeVersion": 2
    },
    {
      "id": "d46bdc66-a2ee-4614-b7ba-3862f106231e",
      "name": "Backlinks Overview",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        980,
        300
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "ascore",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ascore",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "domainsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "domainsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "followsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "followsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "formsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "formsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "framesNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "framesNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ipclasscNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ipclasscNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "imagesNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "imagesNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ipsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ipsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "nofollowsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "nofollowsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "sponsoredNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "sponsoredNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "textsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "textsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "total",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "total",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "urlsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "urlsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ugcNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ugcNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1629296631,
          "cachedResultUrl": "",
          "cachedResultName": "Backlinks Overview"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VfFCJ_xNkhTdr0vHfHlxKlfaKXNXUrrT3FzIwHvfFJg",
          "cachedResultUrl": "",
          "cachedResultName": "OnPage Seo ( Website )"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "154437d1-0cae-4c9d-9512-4d8b00e84cf4",
      "name": "Backlinks",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1020,
        620
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1558472055,
          "cachedResultUrl": "",
          "cachedResultName": "Backlinks"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VfFCJ_xNkhTdr0vHfHlxKlfaKXNXUrrT3FzIwHvfFJg",
          "cachedResultUrl": "",
          "cachedResultName": "OnPage Seo ( Website )"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "f56d9efb-55c9-4751-8acc-fe82974e52d7",
      "name": "Re -Format 5",
      "type": "n8n-nodes-base.code",
      "position": [
        320,
        820
      ],
      "parameters": {
        "jsCode": "const apiData = $input.first().json.data.semrushAPI;\n\nlet allRows = [];\n\n// Loop through each property\nfor (const key in apiData) {\n  if (Array.isArray(apiData[key])) {\n    // Add the name of the dataset as a field\n    apiData[key].forEach(item => {\n      allRows.push({ json: { dataset: key, ...item } });\n    });\n  }\n}\n\nreturn allRows;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "0bb2eed8-177c-4dae-b195-a3084efaa6da",
      "name": "Competitor Analysis ",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        680,
        860
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "dataset",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "dataset",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "database",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "database",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organicKeywords",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "organicKeywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organicTraffic",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "organicTraffic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "backlinksNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "backlinksNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "domainsNum",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "domainsNum",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "adwordsKeywords",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "adwordsKeywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "commonKeywords",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "commonKeywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "competitorRelevance",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "competitorRelevance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "domain",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organicCost",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "organicCost",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "trafficPercent",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "trafficPercent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "traffic",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "traffic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "numberOfKeywords",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "numberOfKeywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "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": "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": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1156851816,
          "cachedResultUrl": "",
          "cachedResultName": "Competitor Analysis"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VfFCJ_xNkhTdr0vHfHlxKlfaKXNXUrrT3FzIwHvfFJg",
          "cachedResultUrl": "",
          "cachedResultName": "OnPage Seo ( Website )"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "af175b68-810b-4bc5-afb2-104158caf45f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        -180
      ],
      "parameters": {
        "width": 940,
        "height": 840,
        "content": "# OnPage SEO (Website) \n\nCaptures a website from a form, calls RapidAPI endpoints for traffic, DA/PA, backlinks, and competitors, reformats the results with Code nodes, and appends structured rows into dedicated tabs of a Google Sheet.\n\n---\n\n## Node-by-node Overview\n\n1. **On form submission** \u2014 Shows a web form (field: `website`) and triggers the workflow on submit.  \n2. **Global Storage** \u2014 Copies `website` (and optional `country`) into the execution JSON for reuse.  \n3. **Website Traffic Cheker** \u2014 POSTs `website` to `webtraffic.php` (RapidAPI) to fetch traffic summary.  \n4. **Re-Format** \u2014 Extracts `data.semrushAPI.trafficSummary[0]` from the traffic API response.  \n5. **Website Traffic** \u2014 Appends traffic metrics (visits, users, bounce, etc.) to the **\"WebSite Traffic\"** sheet.  \n6. **Website Metrics DA PA** \u2014 POSTs `website` to `dapa.php` (RapidAPI) to get DA, PA, spam score, DR, org traffic.  \n7. **Re-Format 2** \u2014 Pulls the `data` object from the DA/PA API response for clean mapping.  \n8. **DA PA** \u2014 Appends DA/PA and related fields into the **\"DA PA\"** sheet.  \n9. **Top Baclinks** \u2014 POSTs `website` to `backlink.php` (RapidAPI) to retrieve backlink data.  \n10. **Re-Format 3** \u2014 Extracts `data.semrushAPI.backlinksOverview` (aggregate backlink metrics).  \n11. **Backlinks Overview** \u2014 Appends overview metrics into the **\"Backlinks Overview\"** sheet.  \n12. **Re-Format 4** \u2014 Extracts detailed `data.semrushAPI.backlinks` (individual backlinks list).  \n13. **Backlinks** \u2014 Appends each backlink row into the **\"Backlinks\"** sheet.  \n14. **Competitors Analysis** \u2014 POSTs `website` to `competitor.php` (RapidAPI) to fetch competitors/data sets.  \n15. **Re-Format 5** \u2014 Flattens all array datasets under `data.semrushAPI` into rows with a `dataset` label.  \n16. **Competitor Analysis** \u2014 Appends the flattened competitor and keyword rows into the **\"Competitor Analysis\"** sheet.  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "255845ab-aad0-4151-ae7b-96b255b6aeca",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        -140
      ],
      "parameters": {
        "height": 340,
        "content": "**On form submission** \u2014 Shows a web form (field: `website`) and triggers the workflow on submit."
      },
      "typeVersion": 1
    },
    {
      "id": "dac1487c-1660-47f4-9849-0b65f5d66bd1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        -140
      ],
      "parameters": {
        "height": 340,
        "content": " **Global Storage** \u2014 Copies `website` (and optional `country`) into the execution JSON for reuse.  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "453e9e3f-5612-4c0e-ac9f-83c717bcbd14",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -380
      ],
      "parameters": {
        "height": 220,
        "content": "**Website Traffic Cheker** \u2014 POSTs `website` to `webtraffic.php` (RapidAPI) to fetch traffic summary.  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "78261b9e-c35d-4a23-a1c9-e9a4acb011b6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -380
      ],
      "parameters": {
        "height": 220,
        "content": "**Re-Format** \u2014 Extracts `data.semrushAPI.trafficSummary[0]` from the traffic API response.  "
      },
      "typeVersion": 1
    },
    {
      "id": "a3f76afc-705e-4747-8ab0-8b3193c46f23",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        -360
      ],
      "parameters": {
        "height": 220,
        "content": "**Website Traffic** \u2014 Appends traffic metrics (visits, users, bounce, etc.) to the **\"WebSite Traffic\"** sheet."
      },
      "typeVersion": 1
    },
    {
      "id": "671f2955-762c-4ae9-836b-600dfa08d2f4",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        100,
        -80
      ],
      "parameters": {
        "height": 220,
        "content": " **Website Metrics DA PA** \u2014 POSTs `website` to `dapa.php` (RapidAPI) to get DA, PA, spam score, DR, org traffic."
      },
      "typeVersion": 1
    },
    {
      "id": "d46ac965-90ae-43dd-a4e8-78d1d8b815fe",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        -80
      ],
      "parameters": {
        "height": 220,
        "content": "**Re-Format 2** \u2014 Pulls the `data` object from the DA/PA API response for clean mapping"
      },
      "typeVersion": 1
    },
    {
      "id": "dfdc4b4e-e6ae-43d3-8068-c5dda8a7e7f3",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -100
      ],
      "parameters": {
        "height": 220,
        "content": "**DA PA** \u2014 Appends DA/PA and related fields into the **\"DA PA\"** sheet.  "
      },
      "typeVersion": 1
    },
    {
      "id": "da105eb1-58c0-4816-8d8d-070e6ddf9791",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        240
      ],
      "parameters": {
        "height": 200,
        "content": "**Top Baclinks** \u2014 POSTs `website` to `backlink.php` (RapidAPI) to retrieve backlink data.  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "c172b486-0220-42d4-9383-1f6203dcc320",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        500,
        260
      ],
      "parameters": {
        "height": 220,
        "content": " **Re-Format 3** \u2014 Extracts `data.semrushAPI.backlinksOverview` (aggregate backlink metrics).  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "7235fabb-56ec-490f-88a3-b22864c972fe",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        900,
        220
      ],
      "parameters": {
        "height": 220,
        "content": "**Backlinks Overview** \u2014 Appends overview metrics into the **\"Backlinks Overview\"** sheet.  "
      },
      "typeVersion": 1
    },
    {
      "id": "4d1219dd-a333-49b9-8362-9ab7f6685b47",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        520
      ],
      "parameters": {
        "height": 220,
        "content": " **Re-Format 4** \u2014 Extracts detailed `data.semrushAPI.backlinks` (individual backlinks list). "
      },
      "typeVersion": 1
    },
    {
      "id": "1131c491-00b8-4861-bdfc-34c7b7aa8072",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        540
      ],
      "parameters": {
        "height": 240,
        "content": " **Backlinks** \u2014 Appends each backlink row into the **\"Backlinks\"** sheet.  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "e0039df4-faeb-4478-835f-05275538768a",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        560
      ],
      "parameters": {
        "height": 220,
        "content": "**Competitors Analysis** \u2014 POSTs `website` to `competitor.php` (RapidAPI) to fetch competitors/data sets.  "
      },
      "typeVersion": 1
    },
    {
      "id": "eb9a700c-5d6c-439e-ad97-5dc1105dc613",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        720
      ],
      "parameters": {
        "height": 220,
        "content": " **Re-Format 5** \u2014 Flattens all array datasets under `data.semrushAPI` into rows with a `dataset` label.  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "109ad2cb-00c4-48f4-a4ee-b3776100c7bf",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        780
      ],
      "parameters": {
        "height": 200,
        "content": " **Competitor Analysis** \u2014 Appends the flattened competitor and keyword rows into the **\"Competitor Analysis\"** sheet."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Re-Format": {
      "main": [
        [
          {
            "node": "Website Traffic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Re-Format 2": {
      "main": [
        [
          {
            "node": "DA PA",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Re -Format 3": {
      "main": [
        [
          {
            "node": "Backlinks Overview",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Re -Format 4": {
      "main": [
        [
          {
            "node": "Backlinks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Re -Format 5": {
      "main": [
        [
          {
            "node": "Competitor Analysis ",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Top Baclinks": {
      "main": [
        [
          {
            "node": "Re -Format 3",
            "type": "main",
            "index": 0
          },
          {
            "node": "Re -Format 4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Global Storage": {
      "main": [
        [
          {
            "node": "Website Traffic Cheker",
            "type": "main",
            "index": 0
          },
          {
            "node": "Competitors Analysis ",
            "type": "main",
            "index": 0
          },
          {
            "node": "Website Metrics DA PA",
            "type": "main",
            "index": 0
          },
          {
            "node": "Top Baclinks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Global Storage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Competitors Analysis ": {
      "main": [
        [
          {
            "node": "Re -Format 5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Website Metrics DA PA": {
      "main": [
        [
          {
            "node": "Re-Format 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Website Traffic Cheker": {
      "main": [
        [
          {
            "node": "Re-Format",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

The SEO On Page API is a powerful tool for keyword research, competitor analysis, backlink insights, and overall SEO optimization. With multiple endpoints, you can instantly gather actionable SEO data without juggling multiple tools. You can explore and subscribe via SEO On Page…

Source: https://n8n.io/workflows/7367/ — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Overview 🌐

Form Trigger, HTTP Request, Google Sheets
Data & Sheets

Splitout Code. Uses splitOut, httpRequest, googleSheets, stickyNote. Event-driven trigger; 36 nodes.

HTTP Request, Google Sheets, Form Trigger +1
Data & Sheets

This n8n workflow is designed for Customer Success Managers (CSM), marketers, sales teams, and data administrators who need to automate the process of uploading and processing CSV data in HubSpot. It

HTTP Request, Google Sheets, Form Trigger +1
Data & Sheets

Demonstration video

Form Trigger, HTTP Request, Google Sheets
Data & Sheets

Description: The Spotify Music Downloader is an automation flow that allows users to easily download music from Spotify tracks. By leveraging the powerful Spotify Downloader API, the flow downloads Sp

Form Trigger, HTTP Request, Google Drive +1