Website • Documentation • GitHub
SerpBear is an open-source SEO rank tracking application. Monitor your website's keyword rankings on Google and track your SEO progress over time.
- Keyword Tracking — Monitor rankings for unlimited keywords
- Multiple Domains — Track multiple websites
- SERP History — Historical ranking data and charts
- Email Notifications — Alerts for ranking changes
- Google Search Console — Integration for additional data
- Mobile & Desktop — Track rankings for both device types
- API Access — RESTful API for integrations
- Self-Hosted — Full control over your SEO data
- Docker and Docker Compose
- External Docker network
- Reverse proxy (Caddy, Nginx, Traefik)
Copy and edit the environment file:
cp .env.example .env
nano .envGenerate secure keys:
# Generate SECRET and APIKEY
openssl rand -hex 32Update these values in .env:
SERPBEAR_USER— Login usernameSERPBEAR_PASSWORD— Login password (use a strong password)SERPBEAR_SECRET— Session secret keySERPBEAR_APIKEY— API access keySERPBEAR_URL— Your public URL
Edit docker-compose.yml:
- Replace
your-networkwith your Docker network name
docker compose up -dNavigate to your configured URL and login with your credentials.
| Variable | Description | Required |
|---|---|---|
SERPBEAR_USER |
Login username | Yes |
SERPBEAR_PASSWORD |
Login password | Yes |
SERPBEAR_SECRET |
Session secret key (hex string) | Yes |
SERPBEAR_APIKEY |
API access key | Yes |
SERPBEAR_URL |
Public URL with https:// | Yes |
seo.example.com {
reverse_proxy http://localhost:3000
}
| Port | Service | Description |
|---|---|---|
| 3000 | HTTP | Web interface |
| Path | Description |
|---|---|
./serpbear_appdata |
Database and application data |
- Go to Domains → Add Domain
- Enter your website URL
- Add keywords to track
- Set tracking frequency (daily recommended)
- Create a Google Cloud project
- Enable Search Console API
- Create OAuth credentials
- Add credentials in SerpBear settings
SerpBear uses scraping to check rankings. To avoid issues:
- Use proxies for high-volume tracking
- Set reasonable check intervals
- Consider using ScrapingBee or similar services
Configure proxies in the settings:
- HTTP proxies
- SOCKS5 proxies
- Rotating proxy services
Use the API key to access SerpBear's REST API:
curl -H "Authorization: Bearer YOUR_APIKEY" \
https://seo.example.com/api/domainsSerpBear is released under the MIT License.