Zum Hauptinhalt springen

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.

EndpunktLiefert
GET /api/v1/brandsIhre Marken (ID, Name, Domain, Markt).
GET /api/v1/brands/{brandId}/scoresScore-Verlauf: Datum, Engine, Score, Konfidenzbereich, Erwähnungsrate.
GET /api/v1/brands/{brandId}/answersAntworten: Prompt, Engine, erwähnt oder nicht, Rang, Stimmung, Wettbewerber, Antworttext.
GET /api/v1/brands/{brandId}/sourcesZitierte Quellen: Domain, URL, Anzahl Antworten, eigene oder Wettbewerber.
GET /api/v1/brands/{brandId}/competitorsWettbewerbsvergleich: Marke, Score, Share of Voice.
GET /api/v1/brands/{brandId}/recommendationsMaß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.