It has 8,904 GitHub stars, an MIT license, and genuinely careful engineering. It is also an interface sitting on top of a data API anyone can rent, it reads two AI surfaces where we sell seven, and it cannot deploy a single fix to a client site. Recommendation: do not adopt it as a platform. Take three ideas from it and keep moving.
Every number OpenSEO shows you comes from DataForSEO, a wholesale SEO data provider that sells search volumes, backlink records, and SERP results by the API call. OpenSEO owns no crawler, no link index, and no keyword database. It ships a dependency called dataforseo-client and a required environment variable called DATAFORSEO_API_KEY, and without that key the product returns nothing at all.
This is not a criticism of the engineering. It is the single most important fact for our decision, because it means the question is not "is OpenSEO's data good." The question is "is DataForSEO's data good," and that is a question we can answer without OpenSEO by simply buying a DataForSEO key ourselves. What OpenSEO adds on top is a modern interface, an agent connection, and a 28 percent markup if we use their hosted version.
Keyword volumes, backlink profiles, SERP positions, local listings, and the AI mention database. This is the actual product. It is a commodity that any company can buy.
A React and Cloudflare Workers application with dashboards for keyword research, rank tracking, backlinks, site audits, and Google Search Console. Clean, focused, genuinely well built.
An MCP server with 24 tools plus 7 published agent skills, so Claude Code or a similar agent can pull real SEO numbers instead of guessing at them. This layer is the actual innovation.
OpenSEO reads, measures, and reports. It cannot publish a page, fix a tag, post to a listing, submit a citation, or deploy a change to a client site. It is a diagnosis tool with no treatment layer.
These are the project's own words from its README and pricing page, set beside what the source code, the issue tracker, and independent reviews support. Nothing here is inferred from reputation.
| The claim | Verdict | What the evidence actually shows |
|---|---|---|
| "Open source alternative to Semrush and Ahrefs" | Partly true | Genuinely open source and MIT licensed, and the workflows do overlap. But Semrush and Ahrefs own proprietary crawlers and link indexes worth hundreds of millions in infrastructure. OpenSEO rents its data. It replaces their interface, not their index. |
| "Best in class MCP and AI Skills" | Supported | Verified in source: 24 registered MCP tools, a full OAuth provider, output schema validation tests, and 7 documented agent skills. No competing SEO platform ships anything comparable today. Unbenchmarked, because there is nothing to benchmark it against. |
| Site audits detect real technical problems | Proven | The strongest evidence in the entire project. They built badseo.dev, a deliberately broken website used as a test fixture. Every page declares which issues it should trigger, and an automated harness verifies the crawler catches exactly those. Very few commercial SEO vendors can show this. |
| Data accuracy comparable to the incumbents | Not proven | No published benchmark exists. Not one head to head volume or backlink comparison against Ahrefs or Semrush anywhere in the repo, the docs, or the marketing. An independent review states plainly that backlink depth is limited by DataForSEO and cannot match the Ahrefs crawler on link forensics. |
| "AI Visibility" as a headline workflow | Overstated | The source defines its platform list as ChatGPT and Google AI Overviews only, and a code comment notes the ChatGPT mention database contains US and English data only. Gemini, Perplexity, Claude, Grok, and Copilot are not queried. See the section below. |
| Self hosting works on Docker or Cloudflare | With friction | Both paths are documented in detail. But two open issues report authentication failing despite correct configuration, and a third confirms Docker does not forward the AI provider key into the container, which breaks a documented feature in exactly the deployment we would use. |
You asked whether the proof is there. For most of the product the answer is no, there is no accuracy proof. For the site audit engine specifically, the answer is yes, and the method is worth understanding because we should copy it.
They built an entire website designed to be broken on purpose. Missing titles. Redirect loops. Orphaned pages. Thin content. Each page carries a declaration of which specific audit issues it is supposed to trigger, and an automated harness runs the real crawler against it and verifies the tool catches exactly those problems and no others.
In their own words, a new fixture is a new regression test. That converts SEO tool quality from a marketing claim into a pass or fail gate that runs before every release. Semrush cannot show you this. Ahrefs cannot show you this. We cannot currently show it either.
TanStack Start, Cloudflare Workers, Drizzle, better-auth, typed end to end. A continuous integration gate runs formatting, dead code detection, full type checking, and type aware linting on every change. This is not a weekend project.
Test files are colocated throughout, including 9 in the MCP tools folder alone and 5 in the AI search services. A July pull request reports 749 tests passing, which is their number rather than one we independently ran.
The open issues include precise self reported correctness defects written by the maintainers. That transparency is genuinely admirable. It also tells us exactly what was wrong, which is the next section.
These are real entries from the issue tracker, filed within days of this review. Read them as a class, not as individual defects, because the class is what matters: the reporting math has been wrong in ways that would have shipped to a client without anyone noticing.
| Defect | What it did | What it would cost us |
|---|---|---|
| Local search radius | Passed the radius in meters where the API expected kilometers, making every local search 1,000 times too small. | A local visibility check that silently returns almost nothing, read as "no competitors found". |
| Rank summary counting | Counted each keyword once per device, so the scorecard reported more top ten keywords than the client actually tracks. | Inflated ranking wins on a client report. The worst possible category of error for us. |
| Keyword refresh count | Reported the number of rows the provider returned rather than the number actually written to the database. | Claiming keywords are tracked that are not being tracked. |
| Null metric filtering | Rows with missing values passed through filters that were supposed to exclude them. | Empty data presented as real data. |
| Leap day range | A one year backlink lookback ending on February 29 rolled forward incorrectly and shortened the range. | A quietly wrong trend line. |
To be fair, and this matters: they found these themselves and published them. Most vendors ship the same bugs and never tell you. A tool that publicly logs its own counting errors is more honest than one that does not. But honesty about defects is not the same as absence of defects, and at version 0.1.2, five months old, we would be putting our client reporting downstream of math that is still being corrected weekly.
Of roughly 402 recorded contributions, a single maintainer accounts for 375. The other 16 contributors have contributed between 1 and 5 changes each. The bus factor is one. If that person moves on, the project stalls regardless of star count.
Stars are cheap and follow launch publicity. Watchers are people who want to be notified of every change, which is what real operational dependence looks like. A ratio this wide says a viral Product Hunt launch, not a base of practitioners running it daily.
This is the finding that decides it. Our entire positioning is that when a homeowner asks any assistant for a plumber, our client's name comes up. OpenSEO's AI visibility feature defines its platform list in code as ChatGPT and Google AI Overviews, and a comment in the same file notes that the ChatGPT mention data covers the United States and English only.
Adopting OpenSEO for AI visibility would mean going backwards on the one thing that separates us from every agency still optimizing for Google alone. We would be paying to see less than we can already see.
OpenSEO's own pricing page puts a brand check at about $1.09 each. An independent review is blunt about the consequence: AI brand checks drain a $10 balance quickly. The next section runs that math at our actual scale.
The per unit prices below are OpenSEO's published numbers. The monthly totals are arithmetic on those numbers using a stated assumption of 20 tracked AI prompts per client, refreshed monthly. Change the assumption and the totals move, but the shape does not.
Assumption stated plainly: 20 tracked prompts per client, one refresh per month, at OpenSEO's published $1.09 per brand check. Weekly refreshes multiply every figure by roughly four. This covers two AI surfaces, not seven.
That is a direct description of our operating profile, written by a reviewer who liked the product and still recommended that businesses like ours avoid it. When a favourable review names your exact use case as the disqualifying one, that is worth more than any feature comparison.
Our stack does not just tell a client what is wrong. It deploys the fix, posts to the listing, submits the citation, publishes the article, and reports the revenue. OpenSEO stops at the diagnosis. Every row below marked as missing is not a gap we would tolerate, it is a service we currently bill for.
| Capability | OpenSEO | What this means for us |
|---|---|---|
| Keyword research and rank tracking | Has it | Real overlap. Cheaper per call than most, and the MCP access is better than ours. |
| Backlink analysis | Shallower | Limited by the DataForSEO index. Fine for a sanity check, not for link forensics. |
| Technical site audit | Has it, proven | The strongest module. Genuinely well tested against a purpose built broken site. |
| Deploying fixes to a live site | None | This is the core of what we deliver. OpenSEO has no write path to a client website at all. |
| Google Business Profile management | Read only | It can look up local listings. It cannot post, respond to a review, or update a profile. |
| Citation building and submission | None | A paid deliverable in every one of our tiers. Not present. |
| Local grid rank heatmaps | None | One of the clearest visuals we put in front of a home service owner. |
| Content generation and publishing | None | The engine behind our higher tiers. Not present in any form. |
| AI visibility across seven platforms | Two only | Our headline differentiator, reduced by more than two thirds. |
| White label client reporting | None | No multi tenant client reporting and no branded output. Our reports are the product. |
| MCP server for agents | Excellent | The one area where OpenSEO is ahead of where most tools are, ours included. |
OpenSEO already answered this question for us, and the answer is instructive. They did not build a search index either. A team good enough to build an adversarial regression fixture for their crawler still concluded that renting wholesale data was the only sane path. Nobody in this category builds the index. Everybody rents one.
So the build or buy question was never about data access. We already rent data, through a provider that is more deeply integrated with our delivery than DataForSEO is. The thing worth building is the layer OpenSEO does not have: the deploy path, the local and listings layer, and the client reporting. We are already building exactly that, which means the correct read of this repository is confirmation of our direction rather than a reason to change it.
Not adopting the platform does not mean walking away empty handed. The license permits us to read, copy, and adapt anything in the repository. These three are the ones that would actually change how we work.
A deliberately broken site that declares which issues each page should trigger, wired to an automated harness. Point it at our own audit and clone tooling and we get a hard pass or fail gate on quality instead of a judgment call. This is the single most valuable idea in the repository, and it is a methodology rather than code, so there is nothing to install. It would also give us something to show a skeptical prospect that no competitor can match.
Their architecture keeps the MCP server as the data access layer and ships agent skills as separate instruction files that use it. Data access and workflow stay decoupled, so a new workflow does not require touching the tools. It is a clean reference implementation of the pattern we are already moving toward, and reading 24 well made tool definitions is a cheap way to sharpen ours.
They publish their own counting errors in plain language before anyone catches them. Applied to our client reporting, a visible log of what we found wrong in our own numbers and when we fixed it is a trust asset, not a liability. It fits the transparency first positioning better than anything on our site does today.
There is a narrow case worth naming. At roughly $0.05 per keyword lookup and $0.08 per backlink overview, raw DataForSEO pulls are cheap. If we are ever doing volume research that our current plan meters or bills separately, going direct to DataForSEO would be less expensive.
But note what that argument actually concludes. It is an argument for a DataForSEO key, not for OpenSEO. We would be buying the data layer and skipping the interface, because the interface is the part we do not need.
Two AI surfaces against the seven we sell, no deploy path, no listings management, no citations, no content engine, no client reporting. It cannot carry our delivery model, and the fit gets worse as the client book grows.
OpenSEO did not build the index and neither should we. The category rents wholesale data. Our advantage is the fulfillment layer above it, which is where the effort belongs.
A broken site that proves our audit and clone tooling catches what it claims to catch. Free, methodology only, and it produces a proof asset no competitor in home services can currently show a prospect.
Is it real? Yes. The code is serious, the audit engine is provably tested, and the agent layer is the best in the category.
Is the proof there that it works? For site audits, yes, and better than the paid incumbents can show. For data accuracy, no. There is no published comparison against anyone, and the reporting math has been visibly wrong within the last week.
Does the model make sense versus building our own? The model makes sense and we should not build our own. But that conclusion points at renting data, which we already do, through a provider wired more deeply into how we actually deliver.
Should we use it? No, not as a platform. Spend the $0.50 trial to sanity check DataForSEO's home services data, take the three ideas, and keep building the layer OpenSEO does not have.