| name | similarweb-ranktracker |
| description | Search rank tracking from SimilarWeb: list campaigns, view rank distribution over time, and track per-keyword daily SERP positions. |
similarweb-ranktracker
Search rank tracking from SimilarWeb: list campaigns, view rank distribution over time, and track per-keyword daily SERP positions.
Prerequisites
- Node.js 22+
- Chrome with remote debugging (only for
auth)
- A SimilarWeb Pro account (logged in at pro.similarweb.com)
Setup
node similarweb-ranktracker.mjs auth
Reuses session from similarweb-website if available.
Usage
node similarweb-ranktracker.mjs campaigns
node similarweb-ranktracker.mjs details hubspot
node similarweb-ranktracker.mjs ranks hubspot
node similarweb-ranktracker.mjs keywords hubspot --count=10
How it works
-
auth -- Reuses the similarweb-website session if available, otherwise extracts cookies from Chrome.
-
campaigns -- Calls GET /api/rankTracker/campaigns. Lists user campaigns, shared campaigns, and 3 built-in demo campaigns (Ray-Ban/Retail, Sixt/Car Rental, HubSpot/Software).
-
details -- Calls GET /api/rankTracker/[demo/]campaign/<id>. Returns campaign config: main site, competitors, all tracked keywords with tag categories, scraping configurations.
-
ranks -- Calls GET /api/rankTracker/[demo/]reports/overviewReport/RankDistribution. Returns daily position distribution for the main site and all competitors: how many keywords rank in position 1, 2-3, 4-10, 11-30, >30 each day.
-
keywords -- Calls GET /api/rankTracker/[demo/]reports/keywordsTrendReport/TrendTable. Returns per-keyword daily SERP positions with search volume. Shows position movement over the last month.
Campaign argument
Accepts either a demo name or a campaign GUID:
hubspot, sixt, rayban — built-in demo campaigns
1badc5b5-b010-... — campaign GUID from the campaigns command
Data storage
~/.local/share/showrun/data/similarweb-ranktracker/
session.json # Auth cookies
cache/
campaigns.json
campaign-1badc5b5.json
ranks-1badc5b5.json
keywords-1badc5b5.json
Session expiry
If API calls return 401/403, re-run:
node similarweb-ranktracker.mjs auth