rankwise

Rankwise for n8n: start a workflow when ChatGPT, Perplexity, Claude or Gemini starts citing your site, when a visibility event lands, or when an AI-visibility score changes, and look up a domain's scores.

Documentation

n8n-nodes-rankwise

An n8n community node for Rankwise,
the AI-visibility platform. Start a workflow when ChatGPT, Perplexity, Claude or
Gemini starts citing your site, when a visibility event lands, or when one of
your AI-visibility scores changes, and look up a domain's current scores in any
workflow.

v0.1.0 · n8n nodes API version 1 · MIT · read-only · no runtime
dependencies.

It is a thin client over the Rankwise read-only public API (/api/v1,
documented at tryrankwise.com/api-docs). It
computes no score and writes nothing.

Install

n8n (self-hosted or Cloud, once verified):

  1. Open Settings > Community Nodes.
  2. Select Install.
  3. Enter n8n-nodes-rankwise, tick the box to confirm you understand the risks
    of community nodes, and select Install.

n8n started from the command line (e.g. a Docker volume with no UI access):

cd ~/.n8n/nodes
npm install n8n-nodes-rankwise
# then restart n8n

Until the package is verified by n8n, n8n Cloud does not list it; self-hosted
n8n installs it by name as above.

Credentials

You need a Rankwise workspace on the Growth plan or above (trials included)
and an API key:

  1. In Rankwise open Settings, then API
    (tryrankwise.com/dashboard/settings/api)
    and create a key. It starts with rw_live_ and is shown exactly once.
  2. In n8n add a Rankwise API credential and paste the key.

One key reads one workspace. Agencies create one key per client workspace, and
one credential per key. Revoking the key in Rankwise stops every workflow using
it.

Nodes

Rankwise Trigger (polling)

Event Reads Fires when
New Citation Won GET /api/v1/events An AI engine flips from not citing you to citing you for a question you track. Optional domain filter.
New Visibility Event GET /api/v1/events Any event: citation won or lost, fixes proposed, goal reached, autopilot paused, competitor overtake. Optional type and domain filters.
Dimension Score Changed GET /api/v1/dimensions One of a domain's scores (crawler access, content structure, freshness, trust signals and the rest) differs from the last poll.

The first poll after you activate a workflow records a baseline and fires
nothing, so switching a workflow on never replays history. Fetch Test Event
in the editor returns current data without moving that baseline.

Dimension Score Changed remembers each dimension's last score, so a score that
drops and then recovers fires both times, with previousScore set.

Rankwise (action)

Domain Score > Find reads /api/v1/citations and /api/v1/dimensions for
one domain and returns its citation rate, per-engine rates, every dimension
score, and the weakest dimension measured with medium or high confidence. A
domain your workspace does not track returns no item (turn on Always Output
Data
to branch on that). The node is also usable as an AI Agent tool.

Example workflows

  • Tell the team when an AI engine starts citing you. Rankwise Trigger
    (New Citation Won) into a Slack node: "Perplexity now cites us for
    {{ $json.query }}".
  • Keep a log of every won and lost citation. Rankwise Trigger (New
    Visibility Event, type left blank) into a Google Sheets node, one row per
    event with type, domain, query, engine and createdAt.
  • Open a task when a score drops. Rankwise Trigger (Dimension Score
    Changed) into an IF node on {{ $json.score < $json.previousScore }}, then a
    Jira, Linear or Asana node with topRecommendation as the task body.
  • Weekly scores in a report. A Schedule Trigger into Rankwise (Domain
    Score > Find) for each client domain, then an email or Notion node with
    citationRate and the weakest dimension.

Honest limits

  • No single composite score. The API does not expose the dashboard's
    composite, and recomputing it here would be a second copy of the formula
    that would drift. Find returns the parts instead.
  • Domain is free text, because the API has no domain listing yet.
  • Events poll the newest 100. /events has no cursor. At n8n's polling
    intervals that is far above a workspace's real event rate.

Errors

Status What the node says
401 The key is invalid or revoked: create a new one and update the credential.
402 The plan has no API access, with the upgrade link. The key itself is fine.
429 Rate limited, with the number of seconds to wait. A trigger retries next poll.
other The API's own message, or Rankwise returned HTTP <n>.

Development

npm install
npm run build   # n8n-node build: tsc plus icons and codex files into dist/
npm run lint    # n8n's community-node rules (strict mode)
npm run dev     # a local n8n with this node loaded

npm run build and npm run lint need Node 22 or newer. On Node 22, install
with npm install --ignore-scripts: @n8n/node-cli pulls in isolated-vm,
whose native build wants Node 24 (it has prebuilt binaries for Node 24 only).
Nothing in this package needs an install script. On Node 24 a plain
npm install works. The tests live in the
Rankwise monorepo's packages Vitest project, which builds every API response
with the real server serializers:

npx vitest run --project packages packages/n8n-nodes-rankwise

Publishing (maintainers)

n8n requires community nodes to be published from GitHub Actions with an npm
provenance statement (since 1 May 2026), so the package is released from its
own public repository, 0xrome/n8n-nodes-rankwise, not from the Rankwise
monorepo. That repository carries .github/workflows/publish.yml from the
n8n-nodes-starter: pushing a
version tag lints, builds and runs npm publish with provenance.

npm run release (on main, clean tree) bumps the version, writes the
changelog, commits, tags and pushes; the workflow does the publish. Never
npm publish from a laptop: it carries no provenance and n8n will not verify
it. Then submit the package in the
n8n Creator Portal.

Licence

MIT, see LICENSE.md.

Discussion