AI-Visibility-Tracking-API
Tracking-Projekte erstellen, Runs starten, Scores plus Cited Sources abfragen.
Die Tracking-API ist der API-Layer rund um das Modul AI Visibility Tracking — sie misst, wie deine Marke in ChatGPT, Perplexity, Claude, Gemini und Co. erscheint. Alle Endpoints liegen unter /v1/... und sind team-scoped via auth:sanctum.
UI-Kontext: AI-Visibility tracken · Modul-Doku: AI Visibility Tracking.
Projekte (Wizard + Runtime)
Tracking-Projekte werden über einen 5-stufigen Wizard angelegt: Analyse dispatchen → Status pollen → Aktivieren → Run starten → Scores lesen. Der Wizard ist atomic — die activate-Aktion legt Keywords, Prompts, Competitors gemeinsam an und schaltet das Projekt scharf.
| Method | Endpoint | Beschreibung | Credits |
|---|---|---|---|
| GET | /v1/tracking-projects |
Alle Team-Projekte | — |
| POST | /v1/tracking-projects/analyze |
Wizard Step 1+2: Domain/Keyword analysieren — Body: {mode:"domain"|"keyword", domain?, keyword?, name?, language?, country?} → 202 + project_id |
— |
| GET | /v1/tracking-projects/{id} |
Detail mit KPIs | — |
| PUT | /v1/tracking-projects/{id} |
Settings: {name?, brand_name?, brand_aliases[], tracking_frequency?, llm_platforms[], track_aio?, reality_check_enabled?} |
— |
| GET | /v1/tracking-projects/{id}/analysis-status |
Wizard-Polling: {analysis_status, analysis_phase, suggested_keywords, suggested_competitors, suggested_prompts} |
— |
| POST | /v1/tracking-projects/{id}/activate |
Wizard Step 5 atomic — Body: {keywords[], competitors[], prompts[], platforms[], frequency, with_search?, reality_check_enabled?, personas[]} |
— |
| POST | /v1/tracking-projects/{id}/run |
Tracking-Run starten (async) | — |
| GET | /v1/tracking-projects/{id}/runs |
Run-Historie (?limit=&offset=) |
— |
Keywords + Prompts
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/tracking-projects/{id}/keywords |
?active_only=true |
| POST | /v1/tracking-projects/{id}/keywords |
Body: {keyword, language?, country?, is_active?} |
| PUT/DELETE | /v1/tracking-keywords/{id} |
Update / Löschen |
| GET | /v1/tracking-projects/{id}/prompts |
Liste |
| POST | /v1/tracking-projects/{id}/prompts |
Body: {prompt_text, prompt_category?, persona_label?, commercial_intent?} |
| PUT/DELETE | /v1/tracking-prompts/{id} |
Update / Löschen |
| POST | /v1/tracking-projects/{id}/prompts/import |
CSV/Excel-Bulk — multipart file, optional mapping[col]=index |
Cited Sources (Outreach-Pipeline)
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/tracking-projects/{id}/cited-sources |
?domain=&outreach_status=&is_own_domain= |
| GET | /v1/tracking-projects/{id}/cited-sources/export |
CSV-Stream — ?from=&to=&status=&platform=&search=&sort= |
| POST | /v1/tracking-projects/{id}/cited-sources/analyze |
Citation-Analyse dispatchen — Body optional {source_ids:[]} → 202 |
| PATCH | /v1/tracking-projects/{id}/cited-sources/{source_id} |
Body: {outreach_status?, notes?} (neu, anfrage_gestellt, verlinkt, abgelehnt, ignoriert) |
Insights & Scores
| Method | Endpoint | Beschreibung | Credits |
|---|---|---|---|
| GET | /v1/tracking-projects/{id}/scores |
Score-Historie (?from=&to=) |
— |
| GET | /v1/tracking-projects/{id}/platform-breakdown |
Score je LLM-Plattform | — |
| GET | /v1/tracking-projects/{id}/insights/low-hanging-fruit |
?days=30&min_possibility=60&limit=5 |
— |
| GET | /v1/tracking-projects/{id}/insights/platform-gap |
?days=30 |
— |
| POST | /v1/tracking-projects/{id}/insights/platform-gap/{platform}/diagnose |
Async Root-Cause | 1 |
| GET | /v1/tracking-projects/{id}/insights/potential-hero |
Prompts mit Hero-Potenzial | — |
| POST | /v1/tracking-projects/{id}/prompts/{prompt}/generate-brief |
Content-Brief via Claude | 3 |
| POST | /v1/tracking-projects/{id}/brand-aliases |
Body: {alias} |
— |
Reality Check (AVI)
Der AI Visibility Index aggregiert 6 Dimensionen (Awareness, Recommendation, Trust, Coverage, Sentiment, Competitive-Edge) zu einem Score 0–100.
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/tracking-projects/{id}/avi |
Neuester AVI mit Tier (red/yellow/green) + Recommendations |
| GET | /v1/tracking-projects/{id}/dimensions |
6-Dim-Scores pro Plattform |
| POST | /v1/tracking-projects/{id}/reality-check-report |
PDF-Generierung async |
| GET | /v1/tracking-projects/{id}/reality-check-report/status |
{status, progress?, download_url?} |
Komplettes Beispiel: Wizard → Run → Scores
TOKEN="$RANKION_API_TOKEN"
BASE="https://rankion.ai/api/v1"
# 1) Analyse starten
PID=$(curl -s -X POST "$BASE/tracking-projects/analyze" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"mode":"domain","domain":"example.com","language":"de","country":"DE"}' \
| jq -r .project_id)
# 2) Polling bis completed
while [ "$(curl -s "$BASE/tracking-projects/$PID/analysis-status" \
-H "Authorization: Bearer $TOKEN" | jq -r .analysis_status)" != "completed" ]; do
sleep 3
done
# 3) Atomic Activate
curl -X POST "$BASE/tracking-projects/$PID/activate" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"keywords":["best crm","crm software"],
"competitors":[{"domain":"hubspot.com"}],
"prompts":[{"prompt":"What is the best CRM?","category":"recommendation"}],
"platforms":["chatgpt","perplexity"],
"frequency":"weekly",
"with_search":true,
"reality_check_enabled":true
}'
# 4) Ersten Run dispatchen
curl -X POST "$BASE/tracking-projects/$PID/run" \
-H "Authorization: Bearer $TOKEN"
# 5) Scores lesen (wenn Run completed)
curl "$BASE/tracking-projects/$PID/scores?from=2026-01-01" \
-H "Authorization: Bearer $TOKEN"
# 6) AVI + Recommendations
curl "$BASE/tracking-projects/$PID/avi" \
-H "Authorization: Bearer $TOKEN"
Hinweise & Pitfalls
- Activate ist atomic. Erst nach
activateiststatus=activeund Runs lassen sich starten — vorher409. - AVI braucht einen Run.
GET /aviohne abgeschlossenen Run liefert404. - Cited-Source-Analyse standardmäßig batched. Ohne
source_idswerden alle bisher unanalyzed Sources verarbeitet. - Reality-Check-Report ist optional. Nur dispatchen wenn
reality_check_enabled=trueim Projekt — sonst Validation-Error.
Verwandt: Projekte-API · Credits · AI Visibility Tracking · AI-Visibility tracken.