TYPESCRIPT · NEXT.JS & SEO ANALYTICS

serpbear — Self-Hosted Search Engine Keyword Position & SERP Rank Tracker

serpbear is a privacy-first, open-source SEO rank tracking application that monitors daily keyword positions across Google desktop and mobile search results. It provides historical rank charts, Google Search Console integration, email/webhook notifications, and a full REST API.

$ docker run -p 3000:3000 serpbear
GitHub ↗
Tracked Keywords Unlimited Domains
GSC Integration Clicks + Impressions
Notification Hooks Email / Webhook
Database SQLite Zero-Config
Interactive SERP Keyword Position Delta & Visibility Score Calculator
Deterministic Execution Output & Telemetry STATUS: READY // 0 ERRORS

        
TypeScript (SERP Visibility Index)
export function computeVisibilityScore(positions: number[]): number {
  const ctrCurve: Record<number, number> = { 1: 31.7, 2: 24.7, 3: 18.6, 4: 13.6, 5: 9.5, 6: 6.2, 7: 4.2, 8: 3.1, 9: 2.4, 10: 2.1 };
  const total = positions.reduce((acc, pos) => acc + (ctrCurve[pos] ?? (pos <= 20 ? 0.5 : 0)), 0);
  return Number((total / Math.max(positions.length, 1)).toFixed(2));
}
Production Engineering Specifications
Repository:    https://github.com/bhubbard/serpbear
Live Studio:   https://code.brandonhubbard.com/serpbear/
Portal:        https://code.brandonhubbard.com/
Install:       docker run -p 3000:3000 bhubbard/serpbear
Design System: Brandon Hubbard Swiss Modernist (#0A0A0C / 1px Exposed Structural Grid)