SOV verilerinizi kendi dashboard'larınıza, automasyon akışlarınıza veya BI araçlarınıza çekin. REST endpoint'ler + giden webhook'lar. Pro ve üstü planlar.
Tüm API istekleri Authorization header'ında Bearer token gerektirir. Anahtarınızı buradan alın: /dashboard/settings → API Erişimi.
Authorization: Bearer avt_live_xxxxxxxxxxxxxxxxxxxxxxxxEn son tamamlanmış taramaya göre tüm platformlardaki güncel SOV skorunu döndürür.
curl -H "Authorization: Bearer $SOVTRACKER_KEY" \
https://sovtracker.com/api/v1/sov{
"scan_id": "scan_abc123",
"completed_at": "2026-05-06T12:34:56Z",
"avg_sov": 42,
"platform_breakdown": {
"chatgpt": 60,
"claude": 35,
"gemini": 50,
"perplexity": 25,
"ai_overviews": 40
}
}Son taramaları listele (yeniden eskiye). limit query param (max 50, varsayılan 10).
curl -H "Authorization: Bearer $SOVTRACKER_KEY" \
"https://sovtracker.com/api/v1/scans?limit=20"{
"scans": [
{
"id": "scan_abc123",
"status": "completed",
"scan_type": "manual",
"started_at": "2026-05-06T12:30:00Z",
"completed_at": "2026-05-06T12:34:56Z"
}
]
}Yeni tarama başlat. Aylık kotanızdan düşer. Body opsiyonel.
curl -X POST \
-H "Authorization: Bearer $SOVTRACKER_KEY" \
-H "Content-Type: application/json" \
https://sovtracker.com/api/v1/scans{
"scan_id": "scan_xyz789",
"status": "running",
"estimated_seconds": 60
}Zaman Makinesi: tarihli ham AI cevap arşivi. Her tarama sonucu tam ham cevabıyla arşivlenir — "17 Temmuz 2026'da ChatGPT bu prompt'a ne cevap verdi?". Bu geçmiş sonradan üretilemez; yalnız o gün kaydedildiği için vardır.
keyword_id — kelimeye göre filtrele (UUID)platform — chatgpt | claude | gemini | perplexity | ai_overviewsfrom, to — ISO 8601 tarih aralığılimit — 1-100, varsayılan 50cursor — sayfalama: önceki cevabın meta.next_cursor değericurl -H "Authorization: Bearer $SOVTRACKER_KEY" \
"https://sovtracker.com/api/v1/archive?platform=chatgpt&from=2026-06-01&limit=25"{
"data": [
{
"id": "9f1c...",
"scan_id": "scan_abc123",
"platform": "chatgpt",
"keyword_id": "kw_123",
"prompt_used": "best crm tools for smb",
"raw_response": "The most recommended CRM tools are...",
"brand_mentioned": true,
"mention_count": 2,
"mention_position": 3,
"sentiment": "positive",
"sov_score": 42.5,
"created_at": "2026-07-17T09:12:00Z"
}
],
"meta": {
"count": 1,
"next_cursor": "MjAyNi0wNy0xN1...",
"plan_window_applied": false,
"window_start": "2026-06-01T00:00:00.000Z"
}
}Geçmiş derinliği server tarafında plan bazlı uygulanır: Free yalnız son 7 günü görür; Starter ve üzeri tüm arşivi alır. Pencere istediğiniz aralığı kırptıysa meta.plan_window_applied true olur ve meta.window_start etkin başlangıcı gösterir.
Kendi AI asistanınızı — Claude (Desktop / claude.ai), ChatGPT connector'ları, Cursor veya herhangi bir MCP istemcisi — doğrudan SOV verinize bağlayın. Sunucu Streamable HTTP konuşur ve REST API ile aynı API key ile doğrulanır (Pro ve üstü planlar). Tüm tool'lar salt-okunurdur ve key'in ait olduğu organizasyona scope'ludur.
https://sovtracker.com/api/mcpAPI anahtarınızı buradan alın: /dashboard/settings → API Erişimi — MCP istemcisi bunu her istekte Authorization header'ı olarak gönderir.
get_visibility_summary — son tarama: genel SOV, platform bazlı skor/bahsedilme, önceki taramaya göre trendlist_keywords — takip edilen kelimeler ve güncel durumlarıget_scan_results — bir taramanın satır bazlı sonuçları, platform/kelime filtresiyleget_answer_archive — Zaman Makinesi: tarihli ham AI cevapları (plan geçmiş derinliği uygulanır)get_business_card — işletme kartı durumu: güven skoru, alan grubu tazeliği, aktiflik beyan tarihiget_ai_traffic — son 30 günün AI kaynaklı ziyaretleri, kaynak bazındaYazma veya tarama tetikleme tool'u yoktur — asistanınız her şeyi okuyabilir ama tarama kotanızı harcayamaz.
claude_desktop_config.json dosyasına ekleyin (Claude Code için .mcp.json):
{
"mcpServers": {
"sov-tracker": {
"type": "http",
"url": "https://sovtracker.com/api/mcp",
"headers": {
"Authorization": "Bearer avt_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}claude.ai'de (web) Ayarlar → Connectors → Add custom connector altına aynı URL ile ekleyin. Cursor .cursor/mcp.json içinde aynı JSON şeklini kullanır.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://sovtracker.com/api/mcp"),
{
requestInit: {
headers: { Authorization: "Bearer avt_live_xxx" },
},
}
);
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);
const tools = await client.listTools();
const summary = await client.callTool({
name: "get_visibility_summary",
arguments: {},
});Rate limit: key başına dakikada 60 istek. 401 = eksik/geçersiz key veya Pro altı plan; 429 = rate limit aşıldı.
Olaylar tetiklendiğinde HTTP POST bildirim alın. URL ve olayları buradan ayarlayın: /dashboard/settings → Outbound Webhooks.
scan.completed — tarama tamamlandığındasov.dropped — SOV uyarı eşiğinin altına düştümention.detected — yeni marka bahsi tespit edildicompetitor.overtake — bir rakip öne geçti{
"event": "scan.completed",
"organization_id": "org_abc",
"timestamp": "2026-05-06T12:34:56Z",
"data": {
"scan_id": "scan_xyz",
"avg_sov": 42,
"results_count": 50,
"mentioned_count": 21
}
}Her istek X-Sovtracker-Signature header'ı içerir (raw body'nin HMAC-SHA256 hex çıktısı, webhook secret'ınızla imzalanmış).
import crypto from 'crypto';
function verify(rawBody, headerSig, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(rawBody)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(headerSig)
);
}401 — API key eksik veya geçersiz403 — Plan API erişimi içermiyor (Pro+ gerekli)429 — Aylık tarama kotası bitti500 — Sunucu hatası — exponential backoff ile tekrar deneyinSoru var mı? Burada olmayan bir senaryo? Bize ulaşın.
İletişime Geç