Schreibgeschützte Mess-API
Übernehmen Sie Ihre KI-Sichtbarkeitsdaten in eigene Dashboards, Tabellen oder Agentur-Reports. JSON oder CSV, ein Schlüssel pro Integration, nur Daten Ihres Arbeitsbereichs.
Authentifizierung
Erstellen Sie unter Konto, API-Schlüssel einen Schlüssel (nur Eigentümer des Arbeitsbereichs). Senden Sie ihn als Bearer-Token. Der vollständige Schlüssel wird einmal angezeigt; wir speichern nur einen Hash. Widerrufene Schlüssel funktionieren ab der nächsten Anfrage nicht mehr.
curl -H "Authorization: Bearer aeo_YOUR_KEY" \
"https://YOUR-AEODA-DOMAIN/api/v1/brands/BRAND_ID/scores?from=2026-09-01&limit=50"
# CSV
curl -H "Authorization: Bearer aeo_YOUR_KEY" -o scores.csv \
"https://YOUR-AEODA-DOMAIN/api/v1/brands/BRAND_ID/scores?format=csv&delimiter=semicolon"Tarife
Die API ist in Pro und Agency enthalten, der CSV-Export ab Starter. Bei einem Downgrade antworten bestehende Schlüssel mit 403, bis der Arbeitsbereich wieder upgradet.
Bei einem Downgrade werden Schlüssel ausgesetzt und antworten mit 403; nach dem Upgrade funktionieren sie sofort wieder. Schlüssel werden nicht gelöscht.
Endpunkte
Alle Endpunkte sind GET und schreibgeschützt. Basis-URL: Ihre aeoda-Domain.
| Endpunkt | Liefert |
|---|---|
| GET /api/v1/brands | Ihre Marken (ID, Name, Domain, Markt). |
| GET /api/v1/brands/{brandId}/scores | Score-Verlauf: Datum, Engine, Score, Konfidenzbereich, Erwähnungsrate. |
| GET /api/v1/brands/{brandId}/answers | Antworten: Prompt, Engine, erwähnt oder nicht, Rang, Stimmung, Wettbewerber, Antworttext. |
| GET /api/v1/brands/{brandId}/sources | Zitierte Quellen: Domain, URL, Anzahl Antworten, eigene oder Wettbewerber. |
| GET /api/v1/brands/{brandId}/competitors | Wettbewerbsvergleich: Marke, Score, Share of Voice. |
| GET /api/v1/brands/{brandId}/recommendations | Maßnahmenplan: Titel, Priorität, Aufwand, Status. |
Abfrageparameter
from und to: Datum als YYYY-MM-DD (Standard: letzte 30 Tage, begrenzt durch den Verlauf Ihres Tarifs). limit: 1 bis 1000 (Standard 100). cursor: der Wert nextCursor der vorherigen Seite. format: json (Standard) oder csv. delimiter: comma oder semicolon (CSV). lang: Sprache der Empfehlungstitel. Unbekannte Parameter ergeben 400.
Beispiel
{
"data": [
{
"brand": "Northwind Coffee",
"date": "2026-10-01T09:00:00.000Z",
"engine": "all",
"score": 55,
"ci_low": 40,
"ci_high": 70,
"mention_rate": 25,
"sov": 31.5,
"avg_position": 2.4
}
],
"nextCursor": "eyJ0IjoiMjAyNi0xMC0wMSAwOTowMDowMCswMCIsImlkIjoiLi4uIn0",
"range": { "from": "2026-09-01", "to": "2026-10-18" }
}CSV-Format
CSV ist UTF-8 mit Byte-Order-Mark, damit Excel Umlaute korrekt öffnet. Textzellen, die mit = + - @ beginnen, erhalten ein Apostroph, um Formelinjektion zu verhindern. CSV-Antworten werden gestreamt und auf 100.000 Zeilen begrenzt: Bei Erreichen der Grenze (413) den Zeitraum verkleinern.
Rate-Limits und Paginierung
Jeder Schlüssel erlaubt 60 Anfragen pro Minute. Antworten enthalten x-ratelimit-limit und x-ratelimit-remaining; ein 429 enthält retry-after. JSON-Listen werden mit nextCursor paginiert (auf der letzten Seite null).
format=csv hat ein eigenes, niedrigeres Limit: 6 Downloads pro Stunde und Schlüssel; eine Antwort ist auf 50 MB begrenzt (eine letzte Zeile "# truncated" kennzeichnet eine abgeschnittene Datei).
Fehler
- 401Schlüssel fehlt, ist fehlerhaft oder widerrufen.
- 403Der Tarif des Arbeitsbereichs enthält die API nicht.
- 404Die Marke existiert in Ihrem Arbeitsbereich nicht.
- 413CSV-Zeilenlimit überschritten: kürzeren Zeitraum wählen.
- 429Rate-Limit erreicht: retry-after Sekunden warten.