Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

bisibility

Own your search visibility data.

bisibility is an open-source SEO platform for researching keywords, inspecting backlinks, and tracking Google rankings - in a PostgreSQL database you own. Self-host it or start with the hosted beta.

CI License: AGPL-3.0-only

Self-hosting guide · Documentation · API reference · FAQ · Roadmap

bisibility dashboard

Dashboard running with demo data.

bisibility is an early release: everything below can be tested today, but expect rough edges and breaking changes before 1.0. Please report installation problems, bugs, and workflow feedback through GitHub Issues.

Why bisibility?

  • Research before you track. Explore keyword opportunities and backlink data, then use the findings to decide what belongs in a tracked project.
  • Own the history. Positions, ranking URLs, timestamps, and per-check provider cost data live in a PostgreSQL database you operate, with direct SQL access and full-history export.
  • One model instead of raw provider APIs. Rank results from DataForSEO and SerpAPI are normalized behind a single application model with per-keyword schedules, alert rules, and stored SERP snapshots when you self-host.
  • Connect the context. Compare Share of Voice, add opt-in Search Console and GA4 metrics, and line ranking movement up with deploy and CMS signals.
  • Operate as a team. Owner, Admin, Editor, and Viewer roles, an audit log, and signed outbound webhooks.
  • Inspect the system. The dashboard, scheduler, provider adapters, and delivery pipeline are open source under AGPL-3.0.

bisibility stays focused on search visibility workflows. It is not a general-purpose technical site-audit, content-writing, or on-page optimization suite.

For rank checks, connect your own DataForSEO or SerpAPI account. Self-hosted deployments keep provider credentials in your instance; the hosted beta stores them encrypted in the managed service. Billing remains directly between you and the provider.

Try the local demo

The local demo is a throwaway evaluation with synthetic data and a fixed, intentionally insecure OTP. It is not a starting point for production. The default stack runs manual rank checks only; recurring schedules add the worker and Temporal.

For prerequisites, the exact bootstrap steps, and how to stop and clean up, follow the local demo quickstart. To compare the demo against hosted and production deployments, see deployment options.

Features

  • Keyword research: related queries, suggestions, ideas, search volume, 12-month trends, CPC, competition, difficulty, and intent data
  • Backlink research: referring domains and pages, 12-month new and lost link history, authority and spam metrics, and link attributes
  • Rank tracking: position history, trend charts, intended URL monitoring, and Google index status
  • Competitor benchmarking with Share of Voice
  • Domain overview: estimated organic visibility, ranked keywords, and top pages for any domain (requires a bring-your-own DataForSEO connection; metered). The app and REST API are available; SDK, CLI, and MCP parity is still in progress.
  • Manual, daily, weekly, monthly, and custom cron schedules
  • Rank alerts in-app and by email, plus weekly email digests
  • Keyword tags and saved views
  • Opt-in Search Console (queries, clicks, impressions) and GA4 (landing-page sessions, engagement, key events) connections
  • A signal timeline for rank checks, deploys, CMS events, and manual notes
  • REST API v1 with OpenAPI, an MCP endpoint, signed outbound webhooks, CSV export, a CLI, and TypeScript, Python, and Go SDKs
  • Owner, Admin, Editor, and Viewer team roles, with an audit log

Everything above ships in the current early release; none of it is a stable 1.0 contract yet. The hosted service is in open beta. AI Overview and LLM visibility tracking and hosted general availability are tracked on the roadmap. Slack tenant delivery is available as an API-only preview. Workspace installation and channel management are not yet exposed in the dashboard.

AI agents and MCP

bisibility is API-first. Agents work with the same projects, keywords, checks, alerts, and history that power the dashboard: the REST API, the OpenAPI schema, and the MCP endpoint converge on the same application model, so agent behavior does not rely on dashboard scraping.

For example, connect Codex to a self-hosted instance with a personal access token:

export BISIBILITY_TOKEN="bsb_pat_live_..."
codex mcp add bisibility \
  --url "https://your-host.example/api/mcp" \
  --bearer-token-env-var BISIBILITY_TOKEN

Project API keys work too. Other clients use different configuration fields, but the HTTP connection uses the /api/mcp Streamable HTTP endpoint and an Authorization: Bearer <token> header. The endpoint advertises its tool inventory through the MCP server card; tool names and schemas may change before 1.0. The built-in endpoint and the separately installed @bisibility/mcp package expose the same unprefixed snake_case tools.

See the agent documentation for worked examples, cost-approval guidance, and the CLI and SDKs.

Provider support

Capability DataForSEO SerpAPI
Google rank checks Available Available
Keyword research Available Not supported
Backlink research Available Not supported
Stored normalized SERP snapshot (self-hosted) Available Available
Rank-check cost record Provider reported Configured or estimated

Self-hosting in production

Production deployments need PostgreSQL, Valkey or another Redis-compatible endpoint, and a supported SERP provider account. Scheduled checks additionally require the Temporal worker. Read the self-hosting guide before serving real traffic.

Cost model

Self-hosted bisibility has no application subscription and no per-keyword license fee. You pay separately for the infrastructure you run, SERP requests made through your own provider account, and optional third-party services such as email delivery. bisibility does not resell SERP data. Completed checks store provider-reported cost when available and keep configured or model-based estimates separately. Use the rank-tracking cost calculator before enabling a large schedule.

Architecture

  • Next.js serves the dashboard and the REST API.
  • PostgreSQL is the durable source of truth.
  • Valkey ships by default; any Redis-compatible endpoint can hold shared runtime state.
  • Temporal runs recurring rank checks; manual and scheduled checks share the same runner and persistence model.
  • SERP and analytics providers are pluggable adapters.

Hosted

The hosted beta runs the same core application without requiring you to operate PostgreSQL, Valkey, or the Temporal worker. It is free during the open beta and does not require a payment method; provider usage is billed directly to your connected provider account. Hosted pricing will be announced before the beta ends, and nothing will be charged without explicit confirmation. Self-hosting remains available without an application subscription.

Documentation

Contributing

Public issues and feature requests are welcome. This repository does not accept pull requests. See CONTRIBUTING.md and CODE_OF_CONDUCT.md.

Security

Do not report vulnerabilities through public issues. See SECURITY.md for responsible disclosure.

License

The Bisibility application and repository content are licensed under AGPL-3.0-only. See LICENSE.

The Claude Code plugin under plugins/bisibility/ is licensed separately under the MIT License. This exception covers that directory and all content beneath it.

You may use, modify, and self-host bisibility. If you modify it and let users interact with that version over a network, the license requires you to offer those users the corresponding source code.

The license text governs. This summary is not legal advice.

About

Open-source SEO platform for self-hosted rank tracking and SEO observability. Own Google position history in PostgreSQL, use DataForSEO or SerpAPI, and automate with REST, CLI and MCP.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

34 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages