bisibility
PricingAffiliate programSign inDocs
Start freeOpen app

SEO

  • Rank trackingGoogle positions by location and device, on your schedule
  • Keyword researchVolume, difficulty and intent, priced before each lookup
  • Domain overviewEstimated traffic, keywords and top pages for any domain
  • BacklinksReferring domains, anchors and new and lost links
  • Site AuditA bounded HTML sample with technical findings by URL
  • SERP historyA stored snapshot of the results page from every check
  • Search ConsoleClicks, impressions and queries, kept past 16 months

AI search

  • Prompt TrackerRepeated prompts with retained answers and citations
  • AI researchPrompt Research, Brand Visibility and Prompt Playground

Connect

  • AI agents (MCP)Let Claude, ChatGPT, Cursor, Codex or Grok work with your data
  • Project ContextBusiness, audience, products, goals and rules for your agents
  • Agent ReportsSaved analyses with source evidence and limitations
  • API, CLI and SDKsREST with OpenAPI, a CLI and TypeScript, Python, Go SDKs
  • IntegrationsDataForSEO, SerpApi, Search Console, GA4 and Plausible

Agent skills

  • SEO auditTurn a bounded crawl and saved visibility evidence into prioritized actions.
  • Brand Visibility auditExplain retained AI mentions and citations with traceable evidence.
  • Keyword opportunity researchPrioritize keyword ideas from one confirmed seed.
  • Competitor analysisCompare one rival with your tracked keywords in a confirmed market.

Cost

Know the cost before you connect

Estimate your monthly SERP provider spend.

Open the calculator
  • All features
  • All skills
  • Cost calculator
  • Roadmap
  • Self-hosting guide opens in a new tab
bisibility

Open-source SEO platform. Daily Google positions, keyword research, and competitor tracking.

FeaturesRank trackingSERP historyKeyword researchDomain overviewBacklinksSearch ConsoleAI agents (MCP)API, CLI and SDKsPrompt TrackerAI researchProject ContextAgent ReportsSite Audit
ProductAll featuresIntegrationsPricingAffiliate programRoadmap
Comparevs OpenSEOvs Semrushvs Ahrefsvs SE RankingAll alternatives
ResourcesDocsBlogChangelogCost calculatorGlossaryFAQ
Open sourceGitHubSelf-hosting guideContributingLicense
© 2026 bisibility · AGPL-3.0-only
TermsPrivacySecurity
LightLightDarkDarkSystemSystem

Logos provided by Logo.dev

bisibility
PricingAffiliate programSign inDocs
Start freeOpen app

SEO

  • Rank trackingGoogle positions by location and device, on your schedule
  • Keyword researchVolume, difficulty and intent, priced before each lookup
  • Domain overviewEstimated traffic, keywords and top pages for any domain
  • BacklinksReferring domains, anchors and new and lost links
  • Site AuditA bounded HTML sample with technical findings by URL
  • SERP historyA stored snapshot of the results page from every check
  • Search ConsoleClicks, impressions and queries, kept past 16 months

AI search

  • Prompt TrackerRepeated prompts with retained answers and citations
  • AI researchPrompt Research, Brand Visibility and Prompt Playground

Connect

  • AI agents (MCP)Let Claude, ChatGPT, Cursor, Codex or Grok work with your data
  • Project ContextBusiness, audience, products, goals and rules for your agents
  • Agent ReportsSaved analyses with source evidence and limitations
  • API, CLI and SDKsREST with OpenAPI, a CLI and TypeScript, Python, Go SDKs
  • IntegrationsDataForSEO, SerpApi, Search Console, GA4 and Plausible

Agent skills

  • SEO auditTurn a bounded crawl and saved visibility evidence into prioritized actions.
  • Brand Visibility auditExplain retained AI mentions and citations with traceable evidence.
  • Keyword opportunity researchPrioritize keyword ideas from one confirmed seed.
  • Competitor analysisCompare one rival with your tracked keywords in a confirmed market.

Cost

Know the cost before you connect

Estimate your monthly SERP provider spend.

Open the calculator
  • All features
  • All skills
  • Cost calculator
  • Roadmap
  • Self-hosting guide opens in a new tab
bisibility

Open-source SEO platform. Daily Google positions, keyword research, and competitor tracking.

FeaturesRank trackingSERP historyKeyword researchDomain overviewBacklinksSearch ConsoleAI agents (MCP)API, CLI and SDKsPrompt TrackerAI researchProject ContextAgent ReportsSite Audit
ProductAll featuresIntegrationsPricingAffiliate programRoadmap
Comparevs OpenSEOvs Semrushvs Ahrefsvs SE RankingAll alternatives
ResourcesDocsBlogChangelogCost calculatorGlossaryFAQ
Open sourceGitHubSelf-hosting guideContributingLicense
© 2026 bisibility · AGPL-3.0-only
TermsPrivacySecurity
LightLightDarkDarkSystemSystem

Logos provided by Logo.dev

bisibility
PricingAffiliate programSign inDocs
Start freeOpen app

SEO

  • Rank trackingGoogle positions by location and device, on your schedule
  • Keyword researchVolume, difficulty and intent, priced before each lookup
  • Domain overviewEstimated traffic, keywords and top pages for any domain
  • BacklinksReferring domains, anchors and new and lost links
  • Site AuditA bounded HTML sample with technical findings by URL
  • SERP historyA stored snapshot of the results page from every check
  • Search ConsoleClicks, impressions and queries, kept past 16 months

AI search

  • Prompt TrackerRepeated prompts with retained answers and citations
  • AI researchPrompt Research, Brand Visibility and Prompt Playground

Connect

  • AI agents (MCP)Let Claude, ChatGPT, Cursor, Codex or Grok work with your data
  • Project ContextBusiness, audience, products, goals and rules for your agents
  • Agent ReportsSaved analyses with source evidence and limitations
  • API, CLI and SDKsREST with OpenAPI, a CLI and TypeScript, Python, Go SDKs
  • IntegrationsDataForSEO, SerpApi, Search Console, GA4 and Plausible

Agent skills

  • SEO auditTurn a bounded crawl and saved visibility evidence into prioritized actions.
  • Brand Visibility auditExplain retained AI mentions and citations with traceable evidence.
  • Keyword opportunity researchPrioritize keyword ideas from one confirmed seed.
  • Competitor analysisCompare one rival with your tracked keywords in a confirmed market.

Cost

Know the cost before you connect

Estimate your monthly SERP provider spend.

Open the calculator
  • All features
  • All skills
  • Cost calculator
  • Roadmap
  • Self-hosting guide opens in a new tab
bisibility

Open-source SEO platform. Daily Google positions, keyword research, and competitor tracking.

FeaturesRank trackingSERP historyKeyword researchDomain overviewBacklinksSearch ConsoleAI agents (MCP)API, CLI and SDKsPrompt TrackerAI researchProject ContextAgent ReportsSite Audit
ProductAll featuresIntegrationsPricingAffiliate programRoadmap
Comparevs OpenSEOvs Semrushvs Ahrefsvs SE RankingAll alternatives
ResourcesDocsBlogChangelogCost calculatorGlossaryFAQ
Open sourceGitHubSelf-hosting guideContributingLicense
© 2026 bisibility · AGPL-3.0-only
TermsPrivacySecurity
LightLightDarkDarkSystemSystem

Logos provided by Logo.dev

bisibility
PricingAffiliate programSign inDocs
Start freeOpen app

SEO

  • Rank trackingGoogle positions by location and device, on your schedule
  • Keyword researchVolume, difficulty and intent, priced before each lookup
  • Domain overviewEstimated traffic, keywords and top pages for any domain
  • BacklinksReferring domains, anchors and new and lost links
  • Site AuditA bounded HTML sample with technical findings by URL
  • SERP historyA stored snapshot of the results page from every check
  • Search ConsoleClicks, impressions and queries, kept past 16 months

AI search

  • Prompt TrackerRepeated prompts with retained answers and citations
  • AI researchPrompt Research, Brand Visibility and Prompt Playground

Connect

  • AI agents (MCP)Let Claude, ChatGPT, Cursor, Codex or Grok work with your data
  • Project ContextBusiness, audience, products, goals and rules for your agents
  • Agent ReportsSaved analyses with source evidence and limitations
  • API, CLI and SDKsREST with OpenAPI, a CLI and TypeScript, Python, Go SDKs
  • IntegrationsDataForSEO, SerpApi, Search Console, GA4 and Plausible

Agent skills

  • SEO auditTurn a bounded crawl and saved visibility evidence into prioritized actions.
  • Brand Visibility auditExplain retained AI mentions and citations with traceable evidence.
  • Keyword opportunity researchPrioritize keyword ideas from one confirmed seed.
  • Competitor analysisCompare one rival with your tracked keywords in a confirmed market.

Cost

Know the cost before you connect

Estimate your monthly SERP provider spend.

Open the calculator
  • All features
  • All skills
  • Cost calculator
  • Roadmap
  • Self-hosting guide opens in a new tab
  1. Features
  2. /API, CLI and SDKs

A rank tracking API, CLI and SDKs

ForDevelopersData engineers

One rank tracking API with an OpenAPI spec, a CLI and SDKs for TypeScript, Python and Go. Run rank checks and read history from code.

Start freeRead the API reference

Then create an API key in Settings / Developers

Paid calls run on your own DataForSEO or SerpApi account · Estimates are free · Self-host (AGPL-3.0)

REST v1OpenAPI161 operations

POST /api/v1/keywords/{id}/checks

export BISIBILITY_BASE_URL=https://eu.bisibility.com/api/v1curl -sS -X POST \  "$BISIBILITY_BASE_URL/keywords/kw_a00000000000000000000000/checks" \  -H "Authorization: Bearer $BISIBILITY_API_KEY" \  -H "Idempotency-Key: run-check-001" \  -H "Content-Type: application/json" \  -d '{"max_cost_cents": 1}' \  | jq '{position, previous_position, ranking_url, cost_cents}'
OutputHTTP 201
{  "position": 4,  "previous_position": 7,  "ranking_url": "https://example.com/rank-tracker",  "cost_cents": 0.06}

201 when the check finishes during the request; 202 with a run ID when it is queued.

npm install @bisibility/sdk

import { BisibilityClient } from "@bisibility/sdk";const bisibility = new BisibilityClient({  apiKey: process.env.BISIBILITY_API_KEY,  baseUrl: "https://eu.bisibility.com/api/v1",});const check = await bisibility.rankChecks.runAndWait("kw_a00000000000000000000000");console.log(check.position, check.previous_position, check.ranking_url, check.cost_cents);
Output
4 7 https://example.com/rank-tracker 0.06

pip install bisibility

import osfrom bisibility import BisibilityClientbisibility = BisibilityClient(    api_key=os.environ["BISIBILITY_API_KEY"],    base_url="https://eu.bisibility.com/api/v1",)check = bisibility.run_rank_check_and_wait("kw_a00000000000000000000000")print(check.position, check.previous_position, check.ranking_url, check.cost_cents)
Output
4 7 https://example.com/rank-tracker 0.06

go get bisibility.com/sdk-go

// inside main(), with ctx := context.Background()client, err := bisibility.NewClient(	bisibility.WithAPIKey(os.Getenv("BISIBILITY_API_KEY")),	bisibility.WithBaseURL("https://eu.bisibility.com/api/v1"),)if err != nil {	log.Fatal(err)}check, err := client.RunRankCheckAndWait(ctx, "kw_a00000000000000000000000", nil, nil)if err != nil {	log.Fatal(err)}if check.Position != nil && check.RankingURL != nil {	fmt.Println(*check.Position, *check.RankingURL)}
Output
4 https://example.com/rank-tracker

npm install -g @bisibility/cli

bisibility auth loginbisibility check kw_a00000000000000000000000
Output
check     check_a00000000000000000000000keyword   kw_a00000000000000000000000status    completedposition  4previous  7provider  dataforseourl       https://example.com/rank-trackererror     -
Example call with sample data.

REST API

A rank tracking REST API on a public OpenAPI spec

Every REST operation the SDKs and CLI use is a plain HTTPS call in a public OpenAPI 3.1 document.

  • Scoped keys, shown once. Each key has a scope, an expiry and a monthly spend; only a hash is stored.
  • Safe retries. Send an idempotency key with any write, and a retry within 24 hours replays the original response.
  • OpenAPI document
  • API reference
API keys

Keys for the bisibility API, each with a scope and an expiry.

Nightly report
bsb_key_live_7hq2******

created Sep 20, 2026, 11:44 PM · last used Sep 28, 2026, 2:17 AM

Spend this month: $0.42

expires Dec 19, 2026, 11:44 PM
CI checks
bsb_key_live_k3m9******

created Sep 22, 2026, 8:44 AM · last used never

Spend this month: $0.00

never expires
Docs quickstartCreate key
  • Cap each paid call. Rank checks and domain overviews estimated above the cap are refused; keyword research and backlink analysis treat it as best-effort.
  • Give scripts their own budget. A monthly API and agents budget per provider is the hard stop; app and scheduled checks keep running.

Provider budgets

Set a monthly budget for each provider. Using the provider balance includes this month's usage so the remaining budget matches the available balance.

Provider
App & schedulesChecks you start in the app and automatic scheduled checks.
API & agentsRequests from the API, MCP, SDK and CLI. Set it to protect against runaway agents.
DataForSEOPrimary
Budget / month$20.00$3.12 this month · $4.05 last monthUse provider balance
Budget / month$5.00$0.42 this month · $0.31 last month

When a budget is reached, the requests of that surface stop until next month; the other surface keeps running.

CancelSave

SDKs and CLI

TypeScript, Python and Go SDKs, plus a CLI

Three official SDKs provide typed requests and responses. The CLI runs checks, research and exports from your terminal or CI job.

  • One wait helper per language. Each SDK can start a rank check and read its results. Queued execution depends on your deployment.
  • Browser sign-in for the CLI. Sign in once in the browser; no key to paste.
  • Built for CI and scripts. Read the key from the environment and get JSON output.
  • SDK docs
  • CLI reference
npm install @bisibility/sdkimport { BisibilityClient } from "@bisibility/sdk";const bisibility = new BisibilityClient({  apiKey: process.env.BISIBILITY_API_KEY,  baseUrl: "https://eu.bisibility.com/api/v1",});const check = await bisibility.rankChecks.runAndWait("kw_a00000000000000000000000");console.log(check.position, check.previous_position, check.ranking_url, check.cost_cents);Runtime      Node 18+Wait helper  rankChecks.runAndWait
pip install bisibilityimport osfrom bisibility import BisibilityClientbisibility = BisibilityClient(    api_key=os.environ["BISIBILITY_API_KEY"],    base_url="https://eu.bisibility.com/api/v1",)check = bisibility.run_rank_check_and_wait("kw_a00000000000000000000000")print(check.position, check.previous_position, check.ranking_url, check.cost_cents)Runtime      Python 3.10+Wait helper  run_rank_check_and_wait
go get bisibility.com/sdk-go// inside main(), with ctx := context.Background()client, err := bisibility.NewClient(	bisibility.WithAPIKey(os.Getenv("BISIBILITY_API_KEY")),	bisibility.WithBaseURL("https://eu.bisibility.com/api/v1"),)if err != nil {	log.Fatal(err)}check, err := client.RunRankCheckAndWait(ctx, "kw_a00000000000000000000000", nil, nil)if err != nil {	log.Fatal(err)}if check.Position != nil && check.RankingURL != nil {	fmt.Println(*check.Position, *check.RankingURL)}Runtime      Go 1.22Wait helper  RunRankCheckAndWait
npm install -g @bisibility/cli# sign in once (opens the browser)bisibility auth loginbisibility projects use example.com# price a backlinks lookup, then run it with a 7-cent capbisibility backlinks analyze example.com --estimatebisibility backlinks analyze example.com --limit 100 --max-cost 7

Webhooks

Signed SEO webhooks out, deploy hooks in

Alert rules post to up to 10 HTTPS endpoints per project. Deploys flow the other way, from your CI into bisibility.

  • Four event types. Fired alerts, digests, a daily-cap notice and a test event.
  • Verify in a few lines. Every delivery carries a signature and a timestamp to check before you trust it.
  • Deploy hooks in. Point Vercel, Netlify, Amplify or any CI at the deploy hook, and read each deploy back through the API.
  • Webhook docs
POST https://example.com/hooks/bisibilityX-Bisibility-Timestamp: 1784980803X-Bisibility-Signature: sha256=4f1c…e9a2{  "event": "alert.fired",  "schemaVersion": 3,  "created_at": "2026-07-25T12:00:03.000Z",  "data": {    "headline": "Rank tracker dropped from #4 to #11",    "keyword": "rank tracker",    "before_position": 4,    "after_position": 11,    "condition_type": "position_drop",    "rule_name": "Important position drops",    "project_domain": "example.com",    "keyword_id": "kw_a00000000000000000000000"  }}

Self-host

The same API on your own server

The app is open source under AGPL-3.0, and the CLI and SDKs are Apache-2.0. A self-hosted instance serves the same API from its own origin.

  • Switch with one setting. Moving between Cloud and your server is a base URL change in any SDK or the CLI.
  • Bring your history. Export a project package; Cloud import restores its keywords and rank history with a token bound to one project.
  • Self-hosting guide
  • Cloud import
# Cloud (EU region)bisibility config set baseUrl https://eu.bisibility.com/api/v1# Your serverbisibility config set baseUrl https://rank.example.com/api/v1bisibility config set cloudUrl https://rank.example.combisibility auth loginbisibility export --format json --output dump.json

What it does not do yet

  • Project API keys allow 600 requests a minute and personal tokens 120, adjustable when you self-host.
  • Cursor-paginated list endpoints return 50 rows by default and at most 200 per page.
  • Alert webhooks fire from alert rules, with no per-event filters.
  • The live demo is read-only and cannot create API keys.

Questions about the API, CLI and SDKs

Does the API return its own SERP data?

No. bisibility does not scrape Google or bundle SERP data. Calls that need fresh data, such as a rank check, run through your DataForSEO or SerpApi account; SerpApi covers Google rank checks only. Reading rank history makes no provider call.

  • Integrations

Is the API included, and what does a call cost?

The REST API, CLI and SDKs come with the app, on Cloud or self-hosted, with no separate API plan. Paid calls cost what your provider charges, about $0.0006 for a Top 10 rank check in DataForSEO's Standard queue, plus 30% with Cloud credits.

  • See pricing
  • Estimate your SERP data cost

Which languages have an official SDK?

TypeScript, Python and Go. They share one retry policy: a 30-second timeout per attempt and two retries on 429, 503 and network errors for idempotent requests. The CLI covers the terminal.

  • SDK docs

How do API keys and scopes work?

A project API key gives one service access to one project. A personal access token acts as you across your projects, and the CLI creates one when you sign in. Both carry a scope and an expiry; a token never exceeds your project role.

  • Authentication

Next step

Ask an AI agent instead of writing code

AI agents (MCP)

Connect Claude, ChatGPT, Cursor, Codex or Grok to the same data through 147 tools

Integrations

DataForSEO, SerpApi, Search Console, GA4 and Plausible

Rank tracking

Google positions by location and device, on your schedule

From an API key to your first rank check

Sign up, create an API key and make your first call from curl, the CLI or an SDK.

Start free
Read the API reference

Free and open source (AGPL-3.0). Export your data anytime, or run the same app yourself.

  • Security
  • ·Self-host
Start free
bisibility

Open-source SEO platform. Daily Google positions, keyword research, and competitor tracking.

FeaturesRank trackingSERP historyKeyword researchDomain overviewBacklinksSearch ConsoleAI agents (MCP)API, CLI and SDKsPrompt TrackerAI researchProject ContextAgent ReportsSite Audit
ProductAll featuresIntegrationsPricingAffiliate programRoadmap
Comparevs OpenSEOvs Semrushvs Ahrefsvs SE RankingAll alternatives
ResourcesDocsBlogChangelogCost calculatorGlossaryFAQ
Open sourceGitHubSelf-hosting guideContributingLicense
© 2026 bisibility · AGPL-3.0-only
TermsPrivacySecurity
LightLightDarkDarkSystemSystem

Logos provided by Logo.dev