2.1k stars · MIT · v3.1.0 (2026-03-27)
Self-hosted Google rank tracker — unlimited keywords, one small SQLite container, Search Console integration.
▶Repo detailsthe review · specs · pros & cons · install
What it is
SerpBear is a self-hosted rank tracker. You add your domains and your keywords, it checks their position once a day, and it keeps the history. It also reads Google Search Console.
Why it matters
Fifteen editions have given you tools to make pages better. Not one has told you whether the pages moved. Grasppy competes for words like "chat summariser" and "conversation map", and it competes for them twice, once in English and once in Russian. This is the only thing in the ledger that measures that. Start it today, because you cannot fill in the past.
- MIT, small, one container, and it stores its data in a single SQLite file. It sits happily beside everything else on the Hetzner box.
- Unlimited keywords. Paid rank trackers charge steeply per keyword, and that is what usually stops people tracking the Russian words at all.
- It connects to Google Search Console, so you also see the words you already rank for and never thought to track.
- It needs a key from a third-party search-data company, such as ScrapingAnt or SerpApi. That is a small monthly bill, and it is the real cost of running this.
- The last release is v3.1.0, from 27 March 2026. Almost six months quiet. That is still well inside the eighteen-month line this radar uses, but it is not a fast-moving project.
- Position on its own is a number that flatters you. Read it next to real traffic from GoAccess (Edition 8 #4) or PostHog (Edition 11 #8).
mkdir -p ~/serpbear/data sudo docker run -d --name serpbear -p 3000:3000 \ -v $HOME/serpbear/data:/app/data \ -e USER=admin \ -e PASSWORD=choose-a-real-password \ -e SECRET=a-long-random-string \ -e APIKEY=another-long-random-string \ towfiqi/serpbear