See what changed in your Google rankings, discover keywords to target, and explore your backlinks in one place. Self-host with your own data providers, or start with the hosted service.
Live demo · Hosted beta · Self-host · Documentation
- See which Google rankings changed. Track ranking URLs and history by market and device, schedule checks, set alerts, and compare competitor Share of Voice.
- Find keywords worth investigating. Explore suggestions, search volume, trends, CPC, difficulty, and intent before choosing what to target.
- Understand your backlink profile. Inspect referring domains, new and lost links, and link attributes alongside your ranking work.
- Follow selected AI prompts over time. Recurring AI Tracking retains answers, citations, and comparable history from supported consumer-answer sources, model API responses, and Google AI Overview. Source, model, and market availability varies; these observations do not cover every AI service or market.
| Path | Start here |
|---|---|
| Demo | Explore the live app, or run the local demo quickstart with synthetic data. |
| Hosted beta | Start with the managed service and connect your own data providers. The application stack and scheduling are operated for you. |
| Self-host | Follow the production guide to run the app and keep its history in your PostgreSQL database. Scheduled work also needs the worker and Temporal. |
The local demo is disposable and uses intentionally insecure demo authentication. Use the production guide for a real deployment. See deployment options for current hosted beta limits and what each path requires.
Connect your own provider accounts and credentials (BYOK). Google rank checks support DataForSEO and SerpAPI; keyword, backlink, and domain research use DataForSEO. AI Tracking uses supported DataForSEO answer and Google AI Overview sources. Supported configurations are checked before provider work.
Real provider-backed data is not included with the application. Provider usage is billed directly by your connected provider on both hosted and self-hosted deployments. Self-hosting has no application subscription or per-keyword license fee; your infrastructure and provider usage remain separate costs. The hosted service has current beta limits, which may change as the beta progresses.
Review provider setup and budget controls and estimate rank-check costs before enabling a large schedule. AI Tracking schedules start disabled; running paid observations or enabling a schedule requires a fresh review and explicit cost consent. Credentials stay in your self-hosted instance; the hosted service stores them encrypted.
Both hosted and self-hosted builds use Usagekit Meter for paid-call admission and
its PostgreSQL Store for usage history. Project spending caps apply together with
connection budgets. Unconfirmed historical costs block new paid calls on the
affected connection or project until reconciled. Keep the migration runner, app and
worker on the same release, database, schema and METERING_NAMESPACE (default
default), run npm run db:migrate before starting upgraded processes, and enable
worker maintenance with SCHEDULED_MAINTENANCE_ENABLED=1 for reservation expiry and
receipt reconciliation. Disabling maintenance does not disable budget enforcement.
The dashboard shares authenticated operations with REST API v1, OpenAPI, and MCP. Read stored history, build reports, or connect SEO data to scripts and agent workflows through TypeScript, Python, and Go SDKs, a CLI, and signed webhooks.
For example, read the last 20 completed checks for an existing keyword. Set
BISIBILITY_API_KEY to a read-scoped project API key
and BISIBILITY_KEYWORD_ID to a keyword public ID from your project:
curl --fail-with-body --silent --show-error \
"https://your-host.example/api/v1/keywords/${BISIBILITY_KEYWORD_ID}/rank-checks?status=completed&limit=20" \
-H "Authorization: Bearer $BISIBILITY_API_KEY"This reads saved results and does not launch a provider check. The response
includes checked_at, position, previous_position, ranking_url, and
observation_completeness. Follow meta.next_cursor for more history; a null
position alone does not establish complete no-match coverage. See the
rank-history contract.
Connect an MCP client to https://your-host.example/api/mcp, or
https://bisibility.com/api/mcp for the hosted service. A useful first task is:
“Summarize ranking gains and losses from stored history; do not run paid checks.”
The agent guide explains authentication,
tool discovery, and explicit approval for paid work.
| Interface | Start here |
|---|---|
| REST + OpenAPI | API reference |
| MCP + agent workflows | Agent guide |
| TypeScript / Python / Go | SDKs |
| Terminal + automation | CLI |
| Events | Webhooks |
Additional workflows:
- Domain overview: organic visibility, ranked keywords, and top pages; requires a bring-your-own DataForSEO connection; metered. The app and REST API are available. See released client support.
- Context: opt-in Search Console and GA4 connections, plus deploy and CMS signals.
This is an early release, not a stable 1.0 contract. Slack tenant delivery is available as an API-only preview. Workspace installation and channel management are not yet exposed in the dashboard.
See what shipped in Releases and the changelog.
- Report a bug with a minimal reproduction.
- Request a feature or discuss an idea in GitHub Discussions.
- Follow product updates on X.
Public issues, feature requests, documentation corrections, and discussions help shape the product. Public pull requests are not accepted; use the routes in the contribution guide. See the code of conduct, and report vulnerabilities privately through the security policy.
The application is AGPL-3.0-only. The Claude Code plugin is separately MIT licensed.
