Pay-as-you-go open source SEO platform with MCP integration — keyword research, rank tracking, backlinks, site audits, and AI brand visibility in one self-hosted tool.
OpenSEO is a self-hosted SEO platform designed as a direct alternative to expensive subscription tools like Semrush and Ahrefs. Instead of a monthly fee, it connects to the DataForSEO API and charges only for what you actually use — a new account credit of $1 lets you start immediately, with pay-as-you-go pricing for each operation thereafter.
The tool covers the core SEO workflows that teams care about: keyword research with intent classification and trend data, rank tracking across desktop and mobile with SERP feature detection, domain insights for visibility changes, backlink analysis with referring domain breakdowns, site audits powered by Lighthouse, AI brand visibility tracking across ChatGPT and Google AI Overview, and an AI search prompt explorer for surfacing what questions users might ask AI systems about your market.
What sets OpenSEO apart from legacy SEO suites is its first-class MCP server, exposing all SEO data to AI agents like Claude Code and OpenAI Codex. Developers can run keyword research, inspect SERPs, compare domains, and review backlinks directly from their editor without switching to a browser. A companion set of agent skills for Codex and Claude Code provides guided, reusable SEO workflows that can be installed with a single command.
Deployment is designed to be accessible: Docker Compose works for local and personal use in minutes, while Cloudflare Workers deployment (compatible with the free plan) provides a scalable, internet-facing instance with automatic database backups via Cloudflare D1 and R2 caching for API responses.
Architecture OpenSEO follows a layered, feature-modular architecture built on TanStack Start with Cloudflare Workers as the runtime. The server side is organized around discrete feature modules — keywords, rank tracking, backlinks, domain, audit, AI search, GSC — each with its own repository and service layers. Server functions act as the API boundary between client and server, with middleware enforcing billing and authentication context before any feature handler runs. The MCP server is a peer concern alongside the HTTP API, registering tools explicitly and sharing the same underlying service layer. Cloudflare Workflows handle long-running asynchronous operations like site audits and rank check runs, giving durable execution without managing worker queues manually. This separation keeps individual features cohesive and makes the codebase approachable despite covering a broad surface area.
Tech Stack The frontend is React 19 with TanStack Router for type-safe file-based routing, TanStack Query for server state, and TanStack Form for form management — all under a single TanStack ecosystem that shares types with the server. The UI layer uses Tailwind CSS v4 and DaisyUI for component primitives. On the backend, Cloudflare Workers provides the runtime; Cloudflare D1 (SQLite) is the primary database accessed through Drizzle ORM, with R2 object storage used as a cache layer for DataForSEO API responses. Authentication is handled by better-auth with optional Cloudflare Access integration for secured multi-user deployments. The MCP server uses the official Model Context Protocol TypeScript SDK, and PostHog provides analytics and MCP tool instrumentation. The build pipeline is Vite with the Cloudflare Vite plugin.
Code Quality The codebase has extensive automated test coverage — 65 test files across unit tests and Playwright end-to-end tests covering keyword research logic, MCP tool handlers, auth redirects, SERP formatting, rank check guards, and output schema validation. The linter is oxlint with type-aware rules, and Prettier enforces formatting. TypeScript is used in strict mode throughout, with Zod schemas validating external API responses before they enter the application. Error handling follows a typed AppError pattern with shared error codes between client and server. The CI pipeline runs lint, type checking, knip (unused export detection), and tests together, keeping dead code and type drift in check.
What Makes It Unique The defining innovation is the tight integration between a production-grade SEO data platform and the Model Context Protocol. Rather than bolting an AI feature onto an existing tool, OpenSEO was built from the ground up with an MCP server as a first-class deployment target — allowing AI agents to consume SEO workflows directly without human-in-the-loop browser navigation. The companion agent skills system extends this further by shipping reusable, parameterized workflows that guide agents through multi-step SEO tasks like competitive landscape analysis or keyword clustering. The combination of a pay-as-you-go data model (no platform subscription, only API call costs), two self-hosting paths with dramatically different operational profiles (local Docker vs. globally distributed Cloudflare Workers), and genuine MCP-first design is genuinely novel in the SEO tooling space.
OpenSEO is released under the MIT License, which is one of the most permissive open source licenses available. You can use it commercially, modify the source, redistribute it, and integrate it into proprietary products without any copyleft obligations. The only requirement is that the original MIT copyright notice is preserved in copies. There are no open core restrictions, feature flags gating enterprise functionality, or license keys required for self-hosting.
Running OpenSEO yourself requires deciding between two deployment targets with meaningfully different operational profiles. The Docker path is straightforward — Docker Compose brings up the application in minutes, and updates are a single pull-and-restart command. However the Docker deployment runs in single-user mode with no authentication by default, making it suitable only for local or private-network use unless you place it behind an auth-protected reverse proxy yourself. The Cloudflare Workers deployment is more involved to set up (requiring a Cloudflare account, configuring Access, and setting environment secrets) but gives you a globally distributed, multi-user instance with automatic D1 database management and R2 object storage for caching API responses. You are responsible for keeping the deployment current by redeploying from the GitHub repo when new releases ship.
The main trade-off compared to the hosted openseo.so service is operational responsibility. The hosted version handles auth, upgrades, backlinks data access (the DataForSEO Backlinks API requires a $100/month subscription — openseo.so resells access for $10/month, a significant saving for self-hosters who want backlink data), and provides a managed experience requiring no infrastructure knowledge. Self-hosters get full data control and zero platform subscription cost, but must manage their own DataForSEO API key, handle database migrations on updates, configure Google OAuth for Search Console integration themselves, and accept that backlink data requires either the expensive DataForSEO commitment or routing through the hosted API.
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
Developer Tools · Game Development · Design Tools
Free, MIT-licensed 2D and 3D game engine with one-click multi-platform export and no royalties.
Developer Tools · Databases · Search
The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.