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 migrateThe 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
Install
npm i rankmyseo, then npx rankmyseo install. The recommended preset is core, storage, the Hono server, React, and the CLI. - 2
Scaffold
npx rankmyseo init writes a config file. npx rankmyseo migrate creates the tables. - 3
Mount the API
Hand the store to an adapter, such as createRankMySeoApp(store) for Hono, and mount it in your server. - 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.
| Question | Open-source toolkit | Hosted RankMySEO |
|---|---|---|
| Where the history lives | Your database | Our servers, on your account |
| Where ranks come from | Your own Search Console | Google's first 20 results, weekly |
| Who runs it | You, on Node.js 20 or newer | We do |
| AI assistants | Build your own with @rankmyseo/agent | Connect to our MCP server |
| Price | Free, Apache-2.0 | Free 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.