Skip to content
SEO & GrowthOpen sourceDeployment noteSelf-hostable
OpenSEO logo

OpenSEO

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

Dhanji Bhagat

Dhanji Bhagat

Founder, Emiote

Managed Cloud

Fully hosted platform. Automated backups and SLA.

Reference Cost

$10/mo hosted or $129–$449/mo commercial SaaS

Self-Host Path

Private compute. Zero seat taxes; team runs ops.

Reference Cost

$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:

  1. The Software Layer is Free & Open Source: Self-host via Docker on your local workstation or deploy to serverless Cloudflare Workers for $0/month.
  2. 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.
  3. 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.

OpenSEO official web platform and open-source interface preview


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

DimensionAhrefs / 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 ModelMonthly 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 IntegrationGated or non-existentNative open MCP server ($0)
Database OwnershipVendor-locked proprietary silo100% 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:

  1. 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.
  2. Local Docker Security Caveat (local_noauth): When launching OpenSEO via Docker Compose with default settings, it runs with AUTH_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).
  3. 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.