API śledzenia pozycji, CLI i SDK
Jedno API śledzenia pozycji z OpenAPI, CLI i SDK TypeScript, Python oraz Go. Uruchamiaj sprawdzenia i czytaj historię z kodu.
Następnie utwórz klucz API w Settings / Developers
Płatne zapytania na własnym koncie DataForSEO lub SerpApi · Wyceny są bezpłatne · Własny hosting (AGPL-3.0)
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}'{ "position": 4, "previous_position": 7, "ranking_url": "https://example.com/rank-tracker", "cost_cents": 0.06}201, gdy sprawdzenie kończy się w trakcie żądania; 202 z identyfikatorem uruchomienia, gdy trafia do kolejki.
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);4 7 https://example.com/rank-tracker 0.06pip 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)4 7 https://example.com/rank-tracker 0.06go 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)}4 https://example.com/rank-trackernpm install -g @bisibility/cli
bisibility auth loginbisibility check kw_a00000000000000000000000check check_a00000000000000000000000keyword kw_a00000000000000000000000status completedposition 4previous 7provider dataforseourl https://example.com/rank-trackererror -REST API
REST API śledzenia pozycji z publiczną specyfikacją OpenAPI
Każda operacja REST używana przez SDK i CLI to zwykłe wywołanie HTTPS opisane w publicznym dokumencie OpenAPI 3.1.
- Klucze z zakresem, pokazywane raz. Każdy klucz ma zakres, termin ważności i miesięczne wydatki; przechowywany jest tylko hash.
- Bezpieczne ponawianie. Wyślij klucz idempotencji przy zapisie; ponowienie w ciągu 24 godzin odtworzy pierwotną odpowiedź.
Klucze do API bisibility – każdy ma zakres i termin ważności.
utworzono 20 wrz 2026, 23:44 · ostatnio użyty 28 wrz 2026, 02:17
Wydatki w miesiącu: $0.42
utworzono 22 wrz 2026, 08:44 · nigdy nie użyto
Wydatki w miesiącu: $0.00
- Ogranicz koszt każdego płatnego wywołania. Sprawdzenia pozycji i przeglądy domen wycenione ponad limit są odrzucane; badania słów i linków traktują go jako limit stosowany w miarę możliwości. badanie słów kluczowych analiza linków przychodzących
- Nadaj skryptom własny budżet. Miesięczny budżet API i agentów na dostawcę jest twardym limitem; aplikacja i zaplanowane sprawdzenia nadal działają.
Budżety dostawców
Ustaw miesięczny budżet dla każdego dostawcy. Użycie salda dostawcy uwzględnia wydatki z tego miesiąca, aby pozostały budżet odpowiadał dostępnemu saldu.
Po osiągnięciu budżetu żądania tej powierzchni zatrzymują się do następnego miesiąca; druga powierzchnia działa dalej.
SDK i CLI
SDK TypeScript, Python i Go oraz CLI
Trzy oficjalne SDK dają typowane zapytania i odpowiedzi. CLI wykonuje sprawdzenia, badania i eksport z terminala lub CI.
- Funkcja oczekiwania dla każdego języka. Każdy SDK może uruchomić sprawdzenie pozycji i odczytać wynik. Wykonanie w kolejce zależy od środowiska wdrożenia.
- Logowanie CLI w przeglądarce. Zaloguj się raz w przeglądarce, bez wklejania klucza.
- Dla CI i skryptów. Czytaj klucz ze zmiennych środowiska i otrzymuj JSON.
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.runAndWaitpip 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_waitgo 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 RunRankCheckAndWaitnpm 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 7Webhooki
Podpisane webhooki SEO na zewnątrz, hooki wdrożeń do wewnątrz
Reguły alertów wysyłają do 10 endpointów HTTPS na projekt. Wdrożenia płyną w drugą stronę, z CI do bisibility.
- Cztery rodzaje zdarzeń. Wyzwolone alerty, podsumowania, informacja o dziennym limicie i zdarzenie testowe.
- Weryfikuj w kilku liniach. Każde doręczenie ma podpis i czas, które należy sprawdzić przed zaufaniem do niego.
- Przyjmuj hooki wdrożeń. Skieruj Vercel, Netlify, Amplify lub CI na hook wdrożenia i odczytuj wdrożenia przez API.
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" }}Własny hosting
To samo API na własnym serwerze
Aplikacja jest open source na AGPL-3.0, a CLI i SDK na Apache-2.0. Własna instancja udostępnia to samo API pod własnym adresem.
- Przełącz jednym ustawieniem. Przejście między Cloud a własnym serwerem to zmiana bazowego URL w SDK lub CLI.
- Przenieś swoją historię. Eksportuj pakiet projektu; import Cloud przywraca słowa i historię pozycji z tokenem przypisanym do projektu.
# 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.jsonCzego jeszcze nie obsługuje
- Klucze projektów pozwalają na 600 zapytań/min, osobiste tokeny na 120; przy własnym hostingu można to zmienić.
- Listy z paginacją kursorem zwracają domyślnie 50 wierszy, maksymalnie 200 na stronę.
- Webhooki alertów uruchamiają reguły, bez filtrów pojedynczych zdarzeń.
- Działające demo jest tylko do odczytu i nie tworzy kluczy API.
Pytania o API, CLI i SDK
Czy API zwraca własne dane SERP?
Nie. bisibility nie scrapuje Google i nie dostarcza własnych danych SERP. Świeże dane, np. sprawdzenie pozycji, korzystają z Twojego DataForSEO lub SerpApi; SerpApi obsługuje tylko pozycje Google. Odczyt historii nie kontaktuje się z dostawcą.
Czy API jest w pakiecie i ile kosztuje wywołanie?
REST API, CLI i SDK są częścią Cloud i własnego hostingu, bez osobnego planu API. Płatne zapytania kosztują według dostawcy, około 0,0006 USD za Top 10 w kolejce Standard DataForSEO, albo w Cloud tyle samo plus marża 30% w kredytach, w ramach budżetu projektu na API i agentów.
Dla jakich języków jest oficjalny SDK?
TypeScript, Python i Go. Wspólna polityka ponawiania: 30 sekund na próbę i dwa ponowienia dla 429, 503 i błędów sieci przy idempotentnych zapytaniach. CLI obsługuje terminal.
Jak działają klucze API i zakresy?
Klucz projektu daje usłudze dostęp do jednego projektu. Osobisty token działa jako Ty w Twoich projektach, a CLI tworzy go przy logowaniu. Oba mają zakres i termin ważności; token nie przekroczy roli w projekcie.
Następny krok
Zapytaj agenta AI zamiast pisać kod
Od klucza API do pierwszego sprawdzenia pozycji
Zarejestruj się, utwórz klucz API i wykonaj pierwsze wywołanie przez curl, CLI lub SDK.
Bezpłatne i open source (AGPL-3.0). Eksportuj dane w dowolnym momencie lub uruchom tę samą aplikację samodzielnie.