npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-serpstat

v0.10.0

Published

n8n node for the Serpstat API

Readme

n8n-nodes-serpstat

This is an n8n community node. It lets you use Serpstat API in your n8n workflows.

Serpstat is AI-based SEO platform used for competitive intelligence, keyword and backlinks research, tracking keyword rankings, SEO audits, and managing SEO tasks.

n8n is a fair-code licensed workflow automation platform.

Installation
Operations
Credentials
Compatibility
Usage
Resources
Version history

Installation

To install this node in your n8n instance:

  1. Go to Settings > Community Nodes.
  2. Click Install a node.
  3. Enter n8n-nodes-serpstat as the npm Package Name.
  4. Agree to the terms and click Install.

For more details, see the n8n community nodes installation guide.

Operations

This node supports operations across twelve main resources:

Audit Analysis

  • Export Audit Report (export)
  • Get Audit Basic Info (getBasicInfo)
  • Get Audit Categories Statistic (getCategoriesStatistic)
  • Get Audit Default Settings (getDefaultSettings)
  • Get Audit Error Elements (getErrorElements)
  • Get Audit History by Error Count (getHistoryByCountError)
  • Get Audit List (getList)
  • Get Audit Report Without Details (getReportWithoutDetails)
  • Get Audit Scan User URL List (getScanUserUrlList)
  • Get Audit Settings (getSettings)
  • Get Audit Sub-Elements by CRC (getSubElementsByCrc)
  • Set Audit Settings (setSettings)
  • Start Audit (start)
  • Stop Audit (stop)

Backlink Analysis

  • Get Anchors (getAnchors)
  • Get Backlinks Summary (getSummaryV2)
  • Get Changes History (getBacklinksChangesHistory)
  • Get Intersecting Domains (getIntersect)
  • Get Intersecting Domains Summary (getIntersectSummary)
  • Get Lost Backlinks (getLostBacklinks)
  • Get Lost Outlinks (getLostOutlinks)
  • Get New Backlinks (getNewBacklinks)
  • Get Outlink Domains (getOutDomains)
  • Get Outlink Threat Domains (getOutThreats)
  • Get Outlink Threat Links (getOutThreatsLinks)
  • Get Outlinks (getOutlinks)
  • Get Redirected Domains (getRedirectedDomains)
  • Get Referring Domains (getRefDomains)
  • Get Referring Threat Domains (getThreats)
  • Get Referring Threat Links (getThreatsLinks)
  • Get SDR Distribution (getDistributionSDR)
  • Get TLD Distribution (getDistributionTLD)
  • Get Top Anchors (getTopAnchors)
  • Get Top Pages (getTopPages)

Credit Analysis

  • Get API Statistics (getStats)
  • Get Audit Statistics (getAuditStats)

Domain Analysis

  • Export Domain Positions (exportPositions)
  • Get Category Top Domains (getCategoryTopDomains)
  • Get Domain All Regions Traffic (getAllRegionsTraffic)
  • Get Domain Keywords (getDomainKeywords)
  • Get Domain Keywords By Language (getDomainKeywordsByLanguage)
  • Get Domain Organic Competitors (getOrganicCompetitors)
  • Get Domain PPC Competitors (getAdsCompetitors)
  • Get Domain PPC Keywords (getAdKeywords)
  • Get Domain Regions Count (getRegionsCount)
  • Get Domain Search History (getDomainsHistory)
  • Get Domain Top URLs (getTopUrlsV2)
  • Get Domain URLs (getDomainUrls)
  • Get Domains AIO Brand Opportunities (getAIOBrandOpportunities)
  • Get Domains AIO Summary (getAIOSummary)
  • Get Domains Intersection (getDomainsIntersection)
  • Get Domains Rating Data (getDomainsRatingData)
  • Get Domains Search Summary (getDomainsInfo)
  • Get Domains Unique Keywords (getDomainsUniqKeywords)
  • Get Market Categories (getMarketCategories)

Domain Classification

  • Add Domains Classification Task (addTask)
  • Get Domain Classification Task Result (getTask)
  • Get Domain Classification Tasks (getTaskList)

Keyword Analysis

  • Export Keyword Organic Keywords (exportKeywordsPhrase)
  • Export Keyword Suggestions (exportSuggestions)
  • Get Keyword Ad Keywords (getAdKeywords)
  • Get Keyword Competitors (getCompetitors)
  • Get Keyword Full Top (getKeywordFullTop)
  • Get Keyword Organic Keywords (getKeywords)
  • Get Keyword PPC Competitors (getAdsCompetitors)
  • Get Keyword Related Keywords (getRelatedKeywords)
  • Get Keyword Suggestions (getSuggestions)
  • Get Keyword Top (getKeywordTop)
  • Get Keyword Top URLs (getTopUrls)
  • Get Keywords Search Summary (getKeywordsInfo)

Keyword Volume Checker

  • Add Keyword Volume Checker Task (addTask)
  • Get Keyword Volume Checker Task Result (getTaskResult)
  • Get Keyword Volume Checker Task Status (getTaskStatus)

Project Management

  • Create (create)
  • Delete (delete)
  • Get Many (getMany)

Rank Tracker

  • Get Rank Tracker Keyword SERP History (getKeywordsSerpResultsHistory)
  • Get Rank Tracker Project Regions (getProjectRegions)
  • Get Rank Tracker Project Status (getProjectStatus)
  • Get Rank Tracker Projects (getProjects)
  • Get Rank Tracker Top Competitors History (getTopCompetitorsDomainsHistory)
  • Get Rank Tracker URL SERP History (getUrlsSerpResultsHistory)

SERP Crawling

  • Add SERP Crawling Task (addTask)
  • Get SERP Crawling Keyword SERP (getKeywordSerp)
  • Get SERP Crawling Parsing Balance (getParsingBalance)
  • Get SERP Crawling Task Result (getTaskResult)
  • Get SERP Crawling Tasks (getTaskList)

Team Management

  • Activate (activate)
  • Deactivate (deactivate)
  • Delete (delete)
  • Get Many (getMany)
  • Invite (invite)

URL Analysis

  • Get URL Competitors (getUrlCompetitors)
  • Get URL Keywords (getUrlKeywords)
  • Get URL Missing Keywords (getUrlMissingKeywords)
  • Get URL Summary Traffic (getUrlSummaryTraffic)

Credentials

You need a Serpstat API token to use this node. You can test Serpstat API with a free trial. Consider purchasing Serpstat subscription plans to increase data volume. For heavy API usage, we offer special API plans. Contact us for the details. After you get access to the Serpstat API, create a new token in your user profile.

Compatibility

Compatible with n8n version 1.105.3 or higher.

Usage

Each user can have only one API token. There are no sandboxes, test endpoints, or any other test environment. During the testing phase, limit the data size by using the Page and Size optional fields. This way, you can test your workflows without burning all API credits. If you are not familiar with n8n, check quickstart guides.

Usage Example: Get Organic Competitors

Here is a worked example showing how to configure the node to get organic search competitors for a domain.

1. Configure Node Parameters

  • Resource: Domain
  • Operation: Get Organic Competitors
  • Domain: palantir.com
  • Search Engine: G_us (Google US)
  • Additional Fields (Optional):
    • Page: 1
    • Size: 10

2. Expected Output

The node returns an array of organic search competitors and their associated SEO metrics, which you can use directly in your workflow.

Example JSON output structure:

[
  {
    "json": {
      "domain": "palantir.com",
      "favicon": "https://www.google.com/s2/favicons?domain=palantir.com",
      "all": {
        "currentValue": 8242,
        "dynamicValue": -220
      },
      "common": {
        "currentValue": 8053,
        "dynamicValue": 100
      },
      "visibility": {
        "currentValue": 0.2578,
        "dynamicValue": 0.24804999999999996
      },
      "missing": 0,
      "relevance": 100,
      "our_relevance": 100,
      "traff": 190009
    }
  },
  {
    "json": {
      "domain": "community.palantir.com",
      "favicon": "https://www.google.com/s2/favicons?domain=community.palantir.com",
      "all": {
        "currentValue": 353,
        "dynamicValue": null
      },
      "common": {
        "currentValue": 302,
        "dynamicValue": 3.75
      },
      "visibility": {
        "currentValue": null,
        "dynamicValue": null
      },
      "missing": 51,
      "relevance": 85.55,
      "our_relevance": 3.75,
      "traff": 0
    }
  },
  {
    "json": {
      "domain": "investors.palantir.com",
      "favicon": "https://www.google.com/s2/favicons?domain=investors.palantir.com",
      "all": {
        "currentValue": 439,
        "dynamicValue": null
      },
      "common": {
        "currentValue": 344,
        "dynamicValue": 4.27
      },
      "visibility": {
        "currentValue": null,
        "dynamicValue": null
      },
      "missing": 95,
      "relevance": 78.36,
      "our_relevance": 4.27,
      "traff": 0
    }
  },
  {
    "json": {
      "domain": "blog.palantir.com",
      "favicon": "https://www.google.com/s2/favicons?domain=blog.palantir.com",
      "all": {
        "currentValue": 562,
        "dynamicValue": null
      },
      "common": {
        "currentValue": 435,
        "dynamicValue": 5.4
      },
      "visibility": {
        "currentValue": null,
        "dynamicValue": null
      },
      "missing": 127,
      "relevance": 77.4,
      "our_relevance": 5.4,
      "traff": 0
    }
  },
  {
    "json": {
      "domain": "careers.snap.com",
      "favicon": "https://www.google.com/s2/favicons?domain=careers.snap.com",
      "all": {
        "currentValue": 4019,
        "dynamicValue": null
      },
      "common": {
        "currentValue": 242,
        "dynamicValue": 3.01
      },
      "visibility": {
        "currentValue": null,
        "dynamicValue": null
      },
      "missing": 3777,
      "relevance": 6.02,
      "our_relevance": 3.01,
      "traff": 0
    }
  },
  {
    "json": {
      "domain": "anduril.com",
      "favicon": "https://www.google.com/s2/favicons?domain=anduril.com",
      "all": {
        "currentValue": 7957,
        "dynamicValue": -510
      },
      "common": {
        "currentValue": 256,
        "dynamicValue": 3.18
      },
      "visibility": {
        "currentValue": 0.54487,
        "dynamicValue": -0.0047599999999999865
      },
      "missing": 7701,
      "relevance": 3.22,
      "our_relevance": 3.18,
      "traff": 49314
    }
  },
  {
    "json": {
      "domain": "spark.apache.org",
      "favicon": "https://www.google.com/s2/favicons?domain=spark.apache.org",
      "all": {
        "currentValue": 15046,
        "dynamicValue": -36
      },
      "common": {
        "currentValue": 388,
        "dynamicValue": 4.82
      },
      "visibility": {
        "currentValue": 0.07158,
        "dynamicValue": -0.17115
      },
      "missing": 14658,
      "relevance": 2.58,
      "our_relevance": 4.82,
      "traff": 121393
    }
  },
  {
    "json": {
      "domain": "databricks.com",
      "favicon": "https://www.google.com/s2/favicons?domain=databricks.com",
      "all": {
        "currentValue": 59807,
        "dynamicValue": -392
      },
      "common": {
        "currentValue": 1054,
        "dynamicValue": 13.09
      },
      "visibility": {
        "currentValue": 2.79894,
        "dynamicValue": -0.31820000000000004
      },
      "missing": 58753,
      "relevance": 1.76,
      "our_relevance": 13.09,
      "traff": 622654
    }
  },
  {
    "json": {
      "domain": "docs.databricks.com",
      "favicon": "https://www.google.com/s2/favicons?domain=docs.databricks.com",
      "all": {
        "currentValue": 22335,
        "dynamicValue": null
      },
      "common": {
        "currentValue": 347,
        "dynamicValue": 4.31
      },
      "visibility": {
        "currentValue": null,
        "dynamicValue": null
      },
      "missing": 21988,
      "relevance": 1.55,
      "our_relevance": 4.31,
      "traff": 0
    }
  },
  {
    "json": {
      "domain": "jobs.apple.com",
      "favicon": "https://www.google.com/s2/favicons?domain=jobs.apple.com",
      "all": {
        "currentValue": 23799,
        "dynamicValue": -1114
      },
      "common": {
        "currentValue": 294,
        "dynamicValue": 3.65
      },
      "visibility": {
        "currentValue": 2.94061,
        "dynamicValue": -0.26141000000000014
      },
      "missing": 23505,
      "relevance": 1.24,
      "our_relevance": 3.65,
      "traff": 992591
    }
  }
]

Usage Example: Get Domain Search History

Here is a worked example showing how to configure the node to get the search history of changes for a domain.

1. Configure Node Parameters

  • Resource: Domain
  • Operation: Get Domain Search History
  • Domain: nike.com
  • Search Engine: G_us (Google US)
  • Additional Fields (Optional):
    • Size: 5
    • With Subdomains: true

2. Expected Output

The node returns an array of data entries representing the historical metrics of the domain over time.

Example JSON output structure:

[
  {
    "domain": "nike.com",
    "keywords": 3164090,
    "traff": 171700098,
    "visible_static": 376.81473,
    "new_keywords": 97474,
    "out_keywords": 125533,
    "rised_keywords": 111684,
    "down_keywords": 150290,
    "ad_keywords": 288,
    "ads": 222,
    "date": "2025-06-02",
    "aio_keywords": 1250,
    "aio_citations": 42
  }
]

Development

Setup

Install dependencies:

npm install --legacy-peer-deps

Commands

  • npm run build: Compile the node files and build icons.
  • npm run dev: Build and watch for code changes.
  • npm run lint: Lint the codebase.
  • npm run release: Interactive CLI to bump versions and release a new tag (triggers GitHub Actions publication).

Resources

Version history

  • 0.9.6 - Added Domain Classification, SERP Crawling, and Keyword Volume Checker resources and operations.
  • 0.9.5 - Added Team resource and operations.
  • 0.9.0 - Added Audit resource and operations.
  • 0.8.1 - Documentation fix.
  • 0.8.0 - Added Project and Credit resources and operations.
  • 0.7.0 - Added Rank Tracker resource and operations.
  • 0.6.0 - Added Backlink resource with 20 operations (Get Anchors, Get Backlinks Summary, Get Changes History, etc.).
  • 0.5.0 - Added Keyword resource and operations.
  • 0.4.2 - Corrected getTopUrlsV2 handler, corrected getRegionsCount description.
  • 0.4.1 - Added URL resource and operations.
  • 0.4.0 - Added all missing Serpstat Domain Analysis API operations.
  • 0.3.0 - Added domain search history operation and configured agent rules.
  • 0.2.0 - Added domain search summary.
  • 0.1.0 - Initial community node release.