New: Operator, the chat that answers questions about your site
RankMySEO

Open source SEO toolkit

Rank tracking and SEO audits inside your own app

An Apache-2.0 set of npm packages for JavaScript and TypeScript apps. Install it, connect the database you already have, and keep keyword history, audits, and reports next to your own data.

Terminal

npm i rankmyseo
npx rankmyseo install
npx rankmyseo init
npx rankmyseo migrate

The installer asks which preset you want: recommended, full, or your own list of packages.

  • Apache-2.0
  • Node.js 20 and newer
  • SQLite or Postgres
  • Hono, Express, Next.js, Nitro, SvelteKit, Astro
  • React widgets, Vue and Svelte hooks
  • Every row scoped by tenant and site

What is in it

Pick the packages you need

The core has no framework in it. Storage, server adapters, and UI are separate packages, so a backend-only install stays small.

  • Keywords and rank snapshots, stored in your database.
  • POST /scan fetches a live URL and returns a score with recommendations.
  • Meta and structured-data generators that check their own output.
  • An SEO regression check you can run in CI, production against preview.
  • @rankmyseo/core

    Schemas, the audit engine, report rollups, and the ports

  • @rankmyseo/storage

    SQLite and Postgres through Drizzle, or Prisma and Kysely

  • @rankmyseo/server-hono

    Also Express, Next.js, Nitro, and a plain handler

  • @rankmyseo/datasource

    Search Console ranks, PageSpeed, and an offline fixture

  • @rankmyseo/react

    Headless hooks. Vue and Svelte have their own

  • @rankmyseo/ui

    Dashboard widgets you can drop into a page

  • @rankmyseo/agent

    AI SDK tools and an MCP server

  • @rankmyseo/cli

    init, migrate, schedule, doctor, regression check

Setup

From install to a dashboard in four steps

  1. 1

    Install

    npm i rankmyseo, then npx rankmyseo install. The recommended preset is core, storage, the Hono server, React, and the CLI.
  2. 2

    Scaffold

    npx rankmyseo init writes a config file. npx rankmyseo migrate creates the tables.
  3. 3

    Mount the API

    Hand the store to an adapter, such as createRankMySeoApp(store) for Hono, and mount it in your server.
  4. 4

    Add the widgets

    Wrap the app in RankMySeoProvider and drop in widgets, or build your own screens on the hooks.

Toolkit or hosted

Run it yourself, or let us run it

The toolkit is for developers who want SEO data inside their own product. The hosted tracker is for people who want the chart without running a server.

QuestionOpen-source toolkitHosted RankMySEO
Where the history livesYour databaseOur servers, on your account
Where ranks come fromYour own Search ConsoleGoogle's first 20 results, weekly
Who runs itYou, on Node.js 20 or newerWe do
AI assistantsBuild your own with @rankmyseo/agentConnect to our MCP server
PriceFree, Apache-2.0Free for 1 site, paid from $5 a month

Want the hosted version? Start on Free with one site and three keywords.

Questions people ask

Does it run on Cloudflare Workers or other edge runtimes?
Not the full stack. It needs Node.js 20 or newer. The headless clients run in the browser.
Which databases work?
SQLite and Postgres, through Drizzle, Prisma, or Kysely. MySQL is not supported.
Where do rankings come from?
From your own Google Search Console through the datasource package, or from a fixture when you test offline. The toolkit does not scrape Google.
Can I use it in a commercial product?
Yes. Apache-2.0 lets you use, change, and ship it, including in paid software, as long as you keep the license and notices.
Where are the docs?
In the GitHub wiki, with an install guide, the architecture, and a page per package.

Read the code, then install it

Issues and pull requests are open on GitHub.