Questions, answered honestly.
Short answers, each one checkable against the product and the source. The first group is the one most people come for: what it costs.
Cost and license
Is it really free?
Yes. Better Search Lab is open source under the AGPL-3.0 license. There are no seats, tiers, or credits. You pay only DataForSEO for the search data it fetches, on pay-as-you-go pricing, and the app shows exactly what you spend.
What does it cost to run?
You pay DataForSEO directly. A rank check is about $0.002 per keyword, keyword and competitor research about $0.012 per call, and a backlinks refresh about $0.06. Mapping a 150-keyword site the first time costs about $0.37; a weekly refresh about $0.34.
How is this different from Ahrefs, Semrush, or SE Ranking?
Those are hosted subscriptions billed per seat per month. Better Search Lab is software you run yourself: your data stays on your server, you pay only the underlying data cost, and you can read and modify the source. It also measures AI-answer visibility, which most classic tools don't.
Who makes it?
Better Search Lab is built by Harperflow and Hesham and developed in the open on GitLab, with a read-only mirror on GitHub.
What it does
What is Better Search Lab?
Better Search Lab is a free, self-hosted SEO and AI-search visibility tool. It does rank tracking, keyword and competitor research, site audits, and backlinks, and it runs a weekly opportunity engine that turns your data into a prioritized to-do list. You run it on your own machine or server.
What do you mean by 'AI visibility' or GEO?
GEO is generative-engine optimization — being visible in AI answers. Better Search Lab scans Perplexity, ChatGPT and Gemini each week to check whether your site is named or cited for the queries you care about, and shows who's cited when you aren't.
Which integrations are supported?
DataForSEO is the only requirement. Optional: an AI assistant of your choice, Google Search Console and Analytics, Eden AI (for AI-visibility scans), email via Resend or SMTP, the Reddit API, and Apify. All are configured in the app.
Does it work with my coding agent?
Yes. It ships a Model Context Protocol (MCP) server that exposes read-only tools over your data. Run it with a single npx command from the release download and register it with Claude Code or any MCP client.
Running it
What do I need to install it?
Docker and curl. One command sets up Postgres, the app, and a background worker and prints the address. First run walks you through creating an admin account and connecting DataForSEO.
Where does my data live?
On your own machine or server, in your own Postgres database. Better Search Lab is self-hosted; nothing is sent to us. The only outbound calls are to the data providers you connect (DataForSEO and any optional integrations).
Can I try it without installing anything?
Yes. There's a hosted, read-only demo with synthetic sites and ninety days of history, and a one-line demo install if you'd rather run it locally.
Can I deploy it to a server or Railway?
Yes. Use the one-command Docker install on a VPS, the included Railway configs, or a bare-metal setup with Node 22, pnpm, and Postgres 16.
How do I get updates?
Pull the latest images and restart, or opt in to hands-off updates with Watchtower. The app also notices when a newer release is available.
Still have a question? Open an issue on GitLab or email hello@bettersearchlab.com.