SerpBear
SerpBear is a TypeScript-based application that searches engine position tracking and keyword research.
Open-source SERP tracking, honestly reviewed. No marketing copy, just what you get when you self-host it.
TL;DR
- What it is: Open-source (MIT) keyword rank tracking app — think Ahrefs rank tracker, but the software is free and runs on your server [2][3].
- Who it’s for: Bloggers, small publishers, and indie founders who want to know where their pages rank in Google without paying $18–$49/month for SaaS rank trackers [docs].
- Cost savings: SaaS alternatives run $18–$49/mo for 3,000–30,000 lookups. SerpBear self-hosted on PikaPods runs $2.65/mo with unlimited keywords — plus a free scraping tier of 5,000 lookups/month from ScrapingRobot [1][docs].
- Key strength: Unlimited keywords and domains, no per-keyword pricing, Google Search Console integration, and a built-in REST API — features that competing SaaS tools charge extra for [docs][2].
- Key weakness: No multi-user access, no shared dashboards, and it depends entirely on third-party scraping services or proxy IPs to actually pull Google results. The software is free; the scraping isn’t always [1][5].
What is SerpBear
SerpBear is an open-source keyword rank tracker. You add a domain, add keywords, point it at a scraping service, and it tells you where your pages appear in Google for those keywords. It runs daily checks, keeps a history chart, sends email alerts when positions change, and exposes a REST API so you can pipe the data into other tools.
The project is built on Next.js with SQLite as the database — a deliberately simple stack that means low resource requirements and easy self-hosting [docs][2]. It’s a single Docker container. The GitHub repository sits at 1,866 stars and is MIT-licensed, which means you can run it commercially without restriction [merged profile].
What SerpBear is not is a full SEO platform. It doesn’t crawl your site for technical issues, doesn’t do competitor backlink analysis, and isn’t trying to replace Ahrefs or Semrush. It does one thing: tells you what position your keywords rank at, and tracks how that changes over time. That narrow focus is a deliberate design decision, and it makes the tool genuinely good at what it does [1][2].
Version 3.0.0 shipped in early 2026 with a notable upgrade: a flexible scraping strategy system to work around Google’s 2025 decision to remove the num=100 parameter, which previously let scrapers fetch 100 results in one call. SerpBear now offers Basic (first page only), Custom (fixed number of pages), and Smart (scrapes around the keyword’s last known position) strategies — configurable globally or per domain [docs]. Scrapers like SerpAPI and SearchAPI that natively return 100 results are unaffected.
Why People Choose It
The case for SerpBear comes down to three things: cost, control, and simplicity.
Cost. SaaS rank trackers are surprisingly expensive for what they do. The comparison table on SerpBear’s own docs is blunt about this: ranktracker.com charges $18/mo for 3,000 lookups, SerpWatch.io $29/mo for 7,500, Serpwatcher.com $49/mo for 3,000, whatsmyserp.com $49/mo for 30,000 [docs]. SerpBear with a free ScrapingRobot account gives you 5,000 lookups/month for $0 in scraping costs, plus whatever your hosting costs — which can be as low as $2.65/mo on PikaPods [1] or effectively free on Fly.io [docs].
The wpsurfer.com reviewer [1] framed this precisely: they’d been paying for SerpRobot at $5/mo but got cut from 300 to 75 keyword lookups per day without notice. SerpBear on PikaPods replaced it for $2.65/mo with no arbitrary keyword caps.
Control. Every check runs through infrastructure you control (or at least a scraping provider you choose). Your keyword data doesn’t live in a vendor’s database. You can export CSV whenever you want [docs]. The noted.lol reviewer [2] appreciated that ScrapingAnt gives 10,000 free API calls per month with the key visible immediately on login — no digging through menus.
Simplicity. The tool does keyword tracking. The UI adds a domain, adds keywords, and shows a position history chart. The GIGAZINE walkthrough [3] describes the full setup as: clone repo, create .env, create docker-compose.yaml, run docker-compose up -d, log in, add domain, configure scraper, add keywords. That’s it.
Features
Based on the README, official docs, and third-party descriptions:
Core tracking:
- Unlimited domains and unlimited keywords — no per-domain or per-keyword tiers [docs][README]
- Daily automated rank checks via internal cron (runs at midnight) [2]
- Manual refresh available; each refresh costs scraping credits [2]
- Position history chart per keyword
- Email notifications on position changes: daily, weekly, or monthly [docs][2]
- CSV export for all keyword data [docs]
Scraping flexibility:
- Works with ScrapingRobot (free 5,000/mo), ScrapingAnt (10k free/mo), SerpAPI ($50+/mo), SearchAPI ($40+/mo), SpaceSerp ($59/lifetime), HasData ($29+/mo), ValueSerp ($2.50/1000 req), Serper.dev ($1.00/1000 req), or your own proxy IPs [README][docs]
- Scrape Strategy system (Basic / Custom / Smart) to handle Google’s removal of
num=100[docs] - Strategy configurable globally or per domain [docs]
Integrations:
- Google Search Console: Shows actual visit counts, impressions, and click-through rate per keyword — not just rank position [docs][2]
- Google Ads: Keyword research and search volume data; keyword idea generation from your site’s content [README][docs]
- REST API: Built-in API for piping data to reporting tools or dashboards [docs][2]
UX:
- PWA mobile app — add to home screen on iOS or Android [docs][2]
- Clean, minimal dashboard — noted.lol calls setup and first use “super simple” [2]
What’s missing:
- No multi-user accounts [5]
- No shared/public dashboards [5]
- No local SEO geo-targeting (city/zip-level rank tracking) [5]
- No white-labeling or client reporting [5]
Pricing: SaaS vs Self-Hosted Math
SerpBear is free software. The MIT license costs nothing. What you pay for is hosting and scraping.
Hosting options:
- PikaPods: $2.65/mo — 1-click deploy, no server knowledge required, custom domain via CNAME [1]
- Elestio managed: Starting at $14/mo — includes automated backups, SSL, monitoring, updates [4]
- Fly.io or mogenius.com: Effectively free on their free tiers [README]
- Your own VPS: $4–6/mo on Hetzner or Contabo for a server that can handle it alongside other apps
Scraping costs:
- ScrapingRobot: Free for 5,000 lookups/month. Enough for ~165 keywords checked daily [README][1]
- ScrapingAnt: Free for 10,000 calls/month [2]
- If you track more keywords or want faster refresh: paid scraping plans start at $1–2.50 per 1,000 lookups [README]
SaaS alternatives for comparison:
- SerpRobot: $5/mo, 75 keywords/day (~2,250 checks/mo) [1]
- ranktracker.com: $18/mo, 3,000 lookups/mo [docs]
- SerpWatch.io: $29/mo, 7,500 lookups/mo [docs]
- Serpwatcher.com: $49/mo, 3,000 lookups/mo [docs]
Concrete math: Tracking 50 keywords daily = ~1,500 checks/month. ScrapingRobot free tier covers this. Total cost: $2.65/mo on PikaPods, or ~$4/mo on your own VPS. Versus $18/mo on ranktracker.com. Savings: $180+/year for a use case that doesn’t even require a paid scraping plan.
If you need 500 keywords checked daily (15,000 checks/month), you’ll need a paid scraping plan ($15–29/mo) plus hosting ($3–14/mo). Total: $18–43/mo versus $49+/mo for comparable SaaS. Still cheaper, and you own the data.
Deployment Reality Check
The noted.lol review [2] and GIGAZINE walkthrough [3] both describe setup as genuinely straightforward — not the multi-hour ordeal some self-hosted tools require.
What you need:
- A server with Docker and Docker Compose (or a managed platform like PikaPods/Elestio/Fly.io)
- A scraping API key from ScrapingRobot, ScrapingAnt, or another provider — required before you can track anything
- SMTP credentials if you want email alerts (free via ElasticEmail or Sendpulse) [README][2]
- Optional: Google Search Console service account for visit/impression data [3]
- Optional: Google Ads account for keyword research and search volume [docs]
The docker-compose setup from the noted.lol review [2] is six environment variables: username, password, a secret string, an API key, session duration, and the app URL. Nothing exotic.
What can go sideways:
- You have to configure a scraping provider before the tool is useful. It’s step 4 in setup, but if you don’t do it, keywords will sit at “position unknown” indefinitely [2][docs]. This isn’t hard, but it’s a non-obvious dependency.
- ScrapingRobot gives 5,000 free calls, but their limits have shifted before — the wpsurfer.com reviewer [1] notes that SerpRobot cut their limits from 300 to 75 keywords/day without much notice, a reminder that third-party scraping tiers aren’t guaranteed.
- Google Search Console integration requires a service account with a private key passed as an environment variable [3] — doable, but more involved than clicking “Connect with Google.”
- A Reddit user raised concerns about the project being abandoned after an extended quiet period [5]. This concern looks less valid now — version 3.0.0 shipped in early 2026 [3] — but the project is maintained by a solo developer, which is worth factoring into any long-term dependency decision.
Realistic time estimates:
- PikaPods or Elestio: 15–30 minutes including scraper signup and first keyword
- Docker on a VPS you already manage: 30–60 minutes
- Fresh VPS with domain and SSL: 1.5–3 hours
- Non-technical founder following a guide: budget a full afternoon
Pros and Cons
Pros
- MIT-licensed, truly free software. No usage fees, no commercial restrictions, no “fair-code” gotchas [merged profile].
- Unlimited keywords and domains. No artificial caps — you’re bounded only by scraping credits, which you control [docs][1].
- Multiple scraping provider choices. Free tiers from ScrapingRobot and ScrapingAnt cover most small-site use cases without spending anything [README][2].
- Built-in REST API. Included out of the box — SaaS competitors charge extra or don’t offer it at all [docs][2].
- Google Search Console integration. Actual clicks and impressions per keyword, not just rank position [docs][3].
- Keyword research built in. Search volume data and keyword idea generation via Google Ads integration — useful features for a free tool [README][docs].
- Scrape Strategy system. Handles Google’s 2025
num=100removal with Basic/Custom/Smart page strategies — shows the project is actively maintained [docs]. - Clean, minimal UI. Multiple reviewers describe onboarding as straightforward [2][3].
- PWA mobile app. Works on phones without a separate install [docs][2].
Cons
- No multi-user access. One login, one user, no role-based access, no inviting team members or clients [5]. A solo-founder tool, period.
- No shared or public dashboards. Can’t send a client a link to their rankings. Export CSV and email it — that’s the workflow [5].
- No local/geo SEO targeting. Can’t track rankings at city or zip-code level for local businesses [5]. Not the right tool for local SEO agencies.
- Third-party scraping dependency. SerpBear doesn’t scrape Google itself — it proxies requests through external services. Free tiers have monthly caps; paid tiers add to your monthly cost [README][1].
- Solo developer project. Version 3.0.0 is recent [3], but there was a quiet period long enough that a Reddit commenter flagged it as potentially abandoned [5]. No company or team behind it — if the maintainer disappears, the project stalls.
- Google Ads integration is confusing to set up. Requires a “test account” rather than a standard Google Ads account, which the documentation mentions but doesn’t explain well [docs].
- SQLite database. Fine for small deployments; not appropriate for high-volume tracking or multi-server setups [docs].
Who Should Use This / Who Shouldn’t
Use SerpBear if:
- You’re a solo founder, blogger, or small publisher tracking 20–500 keywords across 1–5 sites.
- You’re paying $18–49/mo for a SaaS rank tracker and want that bill eliminated.
- You’re comfortable with Docker, or willing to use PikaPods/Elestio to avoid the command line entirely.
- You don’t need to share dashboards with clients or team members.
- You want keyword data through an API, not locked in a vendor’s UI.
Skip it (use a SaaS tool) if:
- You need to share live dashboards with clients or get approval sign-off from non-technical stakeholders. CSV exports are the only sharing mechanism [5].
- You’re running a local SEO agency tracking city-level rankings for multiple business locations [5].
- Your compliance team won’t approve data flowing through third-party scraping services.
- You want a managed, always-on SaaS with zero maintenance overhead and don’t mind paying $18–49/mo for it.
Skip it (use a different self-hosted tool) if:
- You need multi-user accounts and role-based access — SerpBear has none [5].
- You want an all-in-one SEO platform with backlink analysis, site auditing, and rank tracking in one tool.
Alternatives Worth Considering
From the official comparison table and community discussion:
- Matomo with SEO features — if you’re already self-hosting analytics and want rank data integrated into the same platform.
- Plausible + manual Google Search Console — if you’re primarily interested in organic traffic rather than specific keyword positions, and the rank number itself is less important than actual clicks.
- SerpRobot — the SaaS that wpsurfer.com [1] came from. $5/mo, 75 keywords/day. Worth it if you want a hosted solution under $10/mo and don’t want to touch a server. The same reviewer concluded SerpBear on PikaPods is better value.
- SerpWatch.io — $29/mo for 7,500 lookups with an API, if you need a managed solution with more features [docs].
- Ranktracker.com — $18/mo entry-level with 3,000 lookups, if you want multi-user support the paid SaaS tier includes [docs].
- Ahrefs / Semrush — the obvious full-platform options if rank tracking is part of a broader SEO workflow. Vastly more expensive ($99–$199/mo), but they’re a different category of tool.
For the non-technical founder who just wants to know “did my pages go up or down after that content change,” the realistic choice is SerpBear on PikaPods vs. paying $18+/mo for SaaS. The math isn’t close.
Bottom Line
SerpBear does exactly what it advertises: tracks keyword positions, sends alerts when they change, and shows you the history. It doesn’t oversell itself as an SEO platform, and the narrow scope means it does its job without unnecessary complexity. The MIT license, unlimited keywords, and free scraping tiers from ScrapingRobot and ScrapingAnt make it genuinely free for typical small-site usage — not “free with asterisks.” The trade-offs are real: one user only, no shared dashboards, and a dependency on third-party scrapers that can shift their terms. But for a solo founder or blogger paying $18–49/month for a SaaS rank tracker, the $2.65/mo PikaPods deployment makes the math obvious. The main thing to know before committing: if you ever need to hand a client a live dashboard, SerpBear can’t do it. Export CSV instead.
If the setup is the blocker, upready.dev deploys tools like this for clients — one-time fee, you own the infrastructure and never pay a SaaS subscription again.
Sources
- Manuel Campos, WPSurfer — “SerpBear Honest Review: Track your Keywords”. https://wpsurfer.com/serpbear-review/
- noted.lol — “SerpBear - A Self Hosted Search Engine Rank Tracking Platform”. https://noted.lol/serpbear/
- GIGAZINE — “SerpBear is a free SEO tracking tool that is open source and self-hostable” (Mar 15, 2026). https://gigazine.net/gsc_news/en/20260315-serpbear/
- Elestio — “Managed SerpBear as a Service”. https://elest.io/open-source/serpbear
- Reddit r/localseo — “SerpBear / Simple Keyword Rank Tracking Alternatives for Local SEO”. https://www.reddit.com/r/localseo/comments/1otz9oa/serpbear_simple_keyword_rank_tracking/
Primary sources:
- GitHub repository and README: https://github.com/towfiqi/serpbear (1,866 stars, MIT license)
- Official documentation: https://docs.serpbear.com
- Docker Hub: https://hub.docker.com/r/towfiqi/serpbear
Features
Integrations & APIs
- REST API
Mobile & Desktop
- Mobile App
Related Databases & Data Tools Tools
View all 122 →Supabase
99KThe open-source Firebase alternative — Postgres database, Auth, instant APIs, Realtime subscriptions, Edge Functions, Storage, and Vector embeddings.
Prometheus
63KAn open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
NocoDB
62KTurn your existing database into a collaborative spreadsheet interface — without moving a single row of data.
Meilisearch
56KLightning-fast, typo-tolerant search engine with an intuitive API. Drop-in replacement for Algolia that you can self-host for free.
DBeaver
49KFree universal database management tool for developers, DBAs, and analysts. Supports 100+ databases including PostgreSQL, MySQL, SQLite, MongoDB, and more.
Milvus
43KMilvus is a high-performance open-source vector database built for AI applications, supporting billion-scale similarity search with sub-second latency.