n8nflow.net logo

SERP Competitor Research with Scrape.do API & Google Sheets

by Onurβ€’Updated: Last update 19 hours agoβ€’Source: n8n.io
Loading workflow viewer...

Getting Started

πŸ” Extract Competitor SERP Rankings from Google Search to Sheets with Scrape.do

This template requires a self-hosted n8n instance to run.

A complete n8n automation that extracts competitor data from Google search results for specific keywords and target countries using Scrape.do SERP API, and saves structured results into Google Sheets for SEO, competitive analysis, and market research.


πŸ“‹ Overview

This workflow provides a lightweight competitor analysis solution that identifies ranking websites for chosen keywords across different countries. Ideal for SEO specialists, content strategists, and digital marketers who need structured SERP insights without manual effort.

Who is this for?

  • SEO professionals tracking keyword competitors
  • Digital marketers conducting market analysis
  • Content strategists planning based on SERP insights
  • Business analysts researching competitor positioning
  • Agencies automating SEO reporting

What problem does this workflow solve?

  • Eliminates manual SERP scraping
  • Processes multiple keywords across countries
  • Extracts structured data (position, title, URL, description)
  • Automates saving results into Google Sheets
  • Ensures repeatable & consistent methodology

βš™οΈ What this workflow does

  1. Manual Trigger β†’ Starts the workflow manually
  2. Get Keywords from Sheet β†’ Reads keywords + target countries from a Google Sheet
  3. URL Encode Keywords β†’ Converts keywords into URL-safe format
  4. Process Keywords in Batches β†’ Handles multiple keywords sequentially to avoid rate limits
  5. Fetch Google Search Results β†’ Calls Scrape.do SERP API to retrieve raw HTML of Google SERPs
  6. Extract Competitor Data from HTML β†’ Parses HTML into structured competitor data (top 10 results)
  7. Append Results to Sheet β†’ Writes structured SERP results into a Google Sheet

πŸ“Š Output Data Points

FieldDescriptionExample
KeywordOriginal search termdigital marketing services
Target Country2-letter ISO code of target regionUS
positionRanking position in search results1
websiteTitlePage title from SERP resultDigital Marketing Software & Tools
websiteUrlExtracted website URLhttps://www.hubspot.com/marketing
websiteDescriptionSnippet/description from search resultsGrow your business with HubSpot’s tools…

βš™οΈ Setup

Prerequisites

  • n8n instance (self-hosted)
  • Google account with Sheets access
  • Scrape.do account with SERP API token

Google Sheet Structure

This workflow uses one Google Sheet with two tabs:

Input Tab: "Keywords"

ColumnTypeDescriptionExample
KeywordTextSearch querydigital marketing
Target CountryText2-letter ISO codeUS

Output Tab: "Results"

ColumnTypeDescriptionExample
KeywordTextOriginal search termdigital marketing
positionNumberSERP ranking1
websiteTitleTextTitle of the pageDigital Marketing Software & Tools
websiteUrlURLWebsite/page URLhttps://www.hubspot.com/marketing
websiteDescriptionTextSnippet textGrow your business with HubSpot’s tools

πŸ›  Step-by-Step Setup

  1. Import Workflow : Copy the JSON β†’ n8n β†’ Workflows β†’ + Add β†’ Import from JSON
  2. ConfigureScrape.do** API**:
    • Endpoint: https://api.scrape.do/
    • Parameter: token=YOUR_SCRAPEDO_TOKEN
    • Add render=true for full HTML rendering
  3. Configure Google Sheets :
    • Create a sheet with two tabs: Keywords (input), Results (output)
    • Set up Google Sheets OAuth2 credentials in n8n
    • Replace placeholders: YOUR_GOOGLE_SHEET_ID and YOUR_GOOGLE_SHEETS_CREDENTIAL_ID
  4. Run & Test:
    • Add test data in Keywords tab
    • Execute workflow β†’ Check results in Results tab

🧰 How to Customize

  • Add more fields : Extend HTML parsing logic in the β€œExtract Competitor Data” node to capture extra data (e.g., domain, sitelinks).
  • Filtering : Exclude domains or results with custom rules.
  • Batch Size : Adjust β€œProcess Keywords in Batches” for speed vs. rate-limits.
  • Rate Limiting : Insert a Wait node (e.g., 10–30 seconds) if API rate limits apply.
  • Multi-Sheet Output : Save per-country or per-keyword results into separate tabs.

πŸ“Š Use Cases

  • SEO Competitor Analysis : Identify top-ranking sites for target keywords
  • Market Research : See how SERPs differ by region
  • Content Strategy : Analyze titles & descriptions of competitor pages
  • Agency Reporting : Automate competitor SERP snapshots for clients

πŸ“ˆ Performance & Limits

  • Single Keyword : ~10–20 seconds (depends on Scrape.do response)
  • Batch of 10 : 3–5 minutes typical
  • Large Sets (50+) : 20–40 minutes depending on API credits & batching
  • API Calls : 1 Scrape.do request per keyword
  • Reliability : 95%+ extraction success, 98%+ data accuracy

🧩 Troubleshooting

  • API error β†’ Check YOUR_SCRAPEDO_TOKEN and API credits
  • No keywords loaded β†’ Verify Google Sheet ID & tab name = Keywords
  • Permission denied β†’ Re-authenticate Google Sheets OAuth2 in n8n
  • Empty results β†’ Check parsing logic and verify search term validity
  • Workflow stops early β†’ Ensure batching loop (SplitInBatches) is properly connected

🀝 Support & Community


🎯 Final Notes

This workflow provides a repeatable foundation for extracting competitor SERP rankings with Scrape.do and saving them to Google Sheets.
You can extend it with filtering, richer parsing, or integration with reporting dashboards to create a fully automated SEO intelligence pipeline.