OpenSEO
Open-source pay-as-you-go alternative to Semrush & Ahrefs with native MCP support for AI coding agents.

Dhanji Bhagat
Founder, Emiote
Fully hosted platform. Automated backups and SLA.
$10/mo hosted or $129–$449/mo commercial SaaS
Private compute. Zero seat taxes; team runs ops.
$0/mo OSS + ~$2–$5/mo DataForSEO API usage
OpenSEO is an open-source, self-hostable SEO platform created by Every App on GitHub as a pay-as-you-go alternative to Ahrefs and Semrush. Built with React, Vite, Cloudflare Workers, Drizzle ORM, and Better-Auth, it pairs directly with the DataForSEO API and exposes a native Model Context Protocol (MCP) server for AI coding agents, dropping typical tooling costs from $139–$449/mo to $2–$5/mo.
1. Why OpenSEO Matters: Breaking the SEO SaaS Retainer
Commercial SEO platforms like Ahrefs ($129–$449/mo) and Semrush ($139–$499/mo) operate on high, recurring fixed subscriptions. For early-stage startups, engineering studios, and indie makers who only run rank checks or keyword research a few times a week, you end up paying $1,500 to $5,000 per year for compute and databases you rarely touch.
OpenSEO separates the software interface from the raw search data:
- The Software Layer is Free & Open Source: Self-host via Docker on your local workstation or deploy to serverless Cloudflare Workers for $0/month.
- The Data Layer is Pure Pay-As-You-Go: Connect your own DataForSEO API credentials. A SERP rank check costs ~$0.002, keyword volume lookups cost ~$0.005, and on-page crawls cost pennies. If you perform 200 targeted searches in a month, your total data bill is roughly $1.50 to $3.00.
- AI-Native MCP Interface: Unlike legacy dashboards with bloated menus, OpenSEO exposes structured JSON-RPC MCP tools so terminal agents like Claude Code, OpenClaw, and Hermes can audit keyword gaps and pull live SERPs directly during active development.

2. Architecture & Data Flow
OpenSEO is designed for low operational overhead and zero vendor lock-in. It can run in dual modes: a lightweight local developer container or a distributed serverless application.
flowchart TD
subgraph Clients["1. Clients & Ingestion"]
Browser["Web Browser<br/>(React + Vite + Tailwind)"]
Agent["AI Coding Agent<br/>(Claude Code / OpenClaw / Cursor)"]
end
subgraph Runtime["2. OpenSEO Core Runtime (Dual Mode)"]
direction TB
subgraph ModeA["Edge Serverless"]
CF["Cloudflare Workers<br/>(Wrangler & Alchemy IaC)"]
D1[("Cloudflare D1<br/>(Edge SQLite)")]
end
subgraph ModeB["Local / Self-Hosted"]
Docker["Docker Container<br/>(Node.js Runtime)"]
PG[("PostgreSQL Instance")]
end
Auth["Better-Auth<br/>(AUTH_MODE=local_noauth or DB Auth)"]
Drizzle["Drizzle ORM Layer"]
MCPServer["Native MCP Server<br/>(JSON-RPC Tool Handlers)"]
end
subgraph DataProvider["3. Data Layer (Pure Pay-As-You-Go)"]
DFS["DataForSEO API<br/>(SERP, Keywords, Backlinks, OnPage)"]
end
Browser --> Auth
Auth --> Drizzle
Agent --> MCPServer
MCPServer --> Drizzle
Drizzle --> D1 & PG
CF & Docker -->|"Encrypted Streaming Proxy"| DFS
Key Technical Components
- Frontend: Vite + React with clean Tailwind CSS utility architecture, optimized for dense data tables and fast SERP comparisons.
- Edge & Server Runtime: Cloudflare Workers (using Wrangler and Alchemy IaC) or Node.js Docker container.
- Database & Persistence: Drizzle ORM supporting dual backends:
- Cloudflare D1 (SQLite) for zero-maintenance serverless storage.
- PostgreSQL for larger multi-user self-hosted instances.
- Authentication: Better-Auth supporting
AUTH_MODE=local_noauth(instant zero-friction local developer mode) or multi-tenant database authentication for shared team deployments. - API Bridge: Direct streaming proxy to DataForSEO endpoints (SERP API, Keywords Data API, Backlinks API, and OnPage API), ensuring your API keys never leave your controlled infrastructure.
3. Native Model Context Protocol (MCP) for AI Agents
Where OpenSEO radically outperforms legacy tools is in agentic workflows. Instead of manually exporting CSVs from Ahrefs to feed into an LLM, OpenSEO runs an MCP Server that exposes live SEO data directly to AI coding tools.
sequenceDiagram
autonumber
actor Dev as Developer / Founder
participant Agent as Claude Code / OpenClaw
participant MCP as OpenSEO MCP Server
participant Core as OpenSEO Engine
participant DFS as DataForSEO API
Dev->>Agent: "Audit top 10 keywords and SERP competitor gap for emiote.com"
Agent->>MCP: Call openseo_competitor_gap(domain, competitor)
MCP->>Core: Authenticate & route tool request
Core->>DFS: POST /v3/serp/google/organic/live (~$0.002)
DFS-->>Core: Stream live rank & search volume JSON
Core-->>MCP: Formatted structured payload (KD, CPC, Intent)
MCP-->>Agent: Return JSON tool result to context
Agent->>Dev: Synthesized gap analysis & action recommendations
Available MCP Tools
openseo_get_keyword_data: Pulls live search volume, keyword difficulty (KD), cost-per-click (CPC), and search intent.openseo_get_serp_overview: Fetches top 100 Google/Bing rankings, featured snippets, People Also Ask (PAA), and AI Overview citation blocks.openseo_competitor_gap: Dissects shared vs unranked keywords between two domains in sub-second JSON payloads.openseo_audit_page: Performs on-page technical SEO audits (meta tags, schema validation, response headers, canonical integrity).
4. Total Cost of Ownership (TCO) Comparison
| Dimension | Ahrefs / Semrush (Commercial) | OpenSEO (Self-Hosted + DataForSEO) |
|---|---|---|
| Base Monthly License | $129 – $449 / month | $0 / month (MIT Open Source) |
| Per-User Seat Charge | $30 – $80 / extra user | $0 (Unlimited team access) |
| Data Billing Model | Monthly credit allowance (use-it-or-lose-it) | Pay-per-query (~$0.002 to $0.02 / call) |
| Average Monthly Spend (Startup / Studio) | $150 – $350 / mo | $2 – $8 / mo |
| AI / MCP Integration | Gated or non-existent | Native open MCP server ($0) |
| Database Ownership | Vendor-locked proprietary silo | 100% owned SQLite (D1) or PostgreSQL |
| Annualized Total Cost | $1,548 – $5,388 / year | $24 – $96 / year |
5. The Bad — What to Know Before Adopting
OpenSEO is an exceptional cost-saver for technical teams, but it is not a 1:1 drop-in replacement for enterprise enterprise-wide enterprise marketing departments:
- No Pre-Indexed Decadal Historical Archive: Ahrefs maintains trillions of cached historical pages dating back over 10 years. OpenSEO queries live data on-demand via DataForSEO. Running massive multi-year historical backlink trend analyses across 50,000 URLs in bulk will require more API calls and latency.
- Local Docker Security Caveat (
local_noauth): When launching OpenSEO via Docker Compose with default settings, it runs withAUTH_MODE=local_noauth(no login screen). Never expose this port directly to the public internet without placing it behind Cloudflare Access, Zero Trust, or an authenticating reverse proxy (Caddy/Traefik). - Prepaid Credit Maintenance: Because queries hit DataForSEO directly, you must keep a funded balance (minimum $20–$50 deposit). When your credit hits zero, live searches pause until topped up.
6. Quickstart & Deployment Guide
Option A: Local Docker (Fastest for Individual Developers)
# 1. Clone the repository
git clone https://github.com/every-app/open-seo.git
cd open-seo
# 2. Configure credentials
cp .env.example .env
# Edit .env and set your DATAFORSEO_API_KEY
# 3. Launch container
docker compose up -d
Open http://localhost:3000 in your browser.
Option B: Claude Code MCP Configuration
Add the OpenSEO MCP endpoint to your claude.json or config.json:
{
"mcpServers": {
"open-seo": {
"command": "npx",
"args": ["-y", "@every-app/open-seo-mcp"],
"env": {
"OPENSEO_API_URL": "http://localhost:3000/api/mcp",
"DATAFORSEO_API_KEY": "your_api_key_here"
}
}
}
}
7. Studio Stack Review Context
If your team is currently spending $200–$600/month on bloated marketing and SEO SaaS subscriptions that only a fraction of your engineers use, replatforming to pay-as-you-go open-source alternatives like OpenSEO can reclaim thousands of dollars in annual runway.
Before switching databases, auth providers, or marketing stacks, book an Emiote Stack Review ($199 USD) for a comprehensive, vendor-neutral evaluation of your software boundaries, infrastructure costs, and AI integration architecture.
Need help auditing SEO SaaS retainers vs self-hosted pay-as-you-go stacks?
Reframe ($199) evaluates your growth stack—OpenSEO vs Ahrefs/Semrush vs custom MCP agents—analyzing query volume, raw API unit economics, and team workflow fit. Diagnosis only.
Fixed $199 fee · 100% vendor-neutral review · 3-day delivery guarantee
