Zum Hauptinhalt springen

Unternehmensanalyse-Briefing

Geben Sie eine Website und ein Ziel an und erhalten Sie ein strukturiertes Briefing zum Unternehmen, mit dem Ihr eigenes KI-Modell oder Ihr Team sofort arbeiten kann: was das Unternehmen verkauft und an wen, der Markt und die Sprache der Käufer, echte Wettbewerber, was Käufer in öffentlichen Diskussionen fragen und einwenden, sowie ein fertiges Playbook für das gewählte Ziel. Jede Sachangabe verweist auf den Beleg, aus dem sie stammt.

Ein Briefing dient genau einem Ziel:

focusAusgelegt für
reddit_promotiondie Bewerbung des Unternehmens auf Reddit: relevante Communities, Suchanfragen, die passende Threads zutage fördern, Fragen und Einwände von Käufern, sichere Aussagen
seo_webdie Bewerbung des Unternehmens in der Suche: kommerzielle Suchanfragen nach Suchintention, wer die Ergebnisse heute besetzt, Content-Lücken
competitor_inteldie Analyse des Unternehmens als Wettbewerber: Positionierung, Preise, Funktionen, worüber sich seine Kunden beschweren

Ein zweites Ziel für dasselbe Unternehmen ist eine zweite Anfrage. Innerhalb von 7 Tagen nutzt sie das Einlesen der Website und das Unternehmensprofil aus dem ersten Briefing erneut; so startet sie schneller, und beide Briefings beschreiben das Unternehmen gleich. Der Auftrag zeigt "core_reused": true.

Die Unternehmensanalyse wird für einen Schlüssel auf Anfrage freigeschaltet: Schreiben Sie an support@omev.be. Das Briefing wird vom üblichen Guthaben des Schlüssels abgerechnet.

Tiefe und Preis​

depthPreis pro geliefertem BriefingWas es enthält
standard (Voreinstellung)$0.99das Unternehmensbriefing ohne die Stimme der Zielgruppe: 3–6 Wettbewerber und die Standardsuche; die Abschnitte zur Käuferstimme sind als nicht enthalten markiert
extended$1.99alles aus standard, dazu die Stimme der Zielgruppe (bis zu 300 gelesene Käuferkommentare, bei kleinen Nischen ergänzt um Foren und weitere Quellen), 7–8 Wettbewerber und eine breitere Suche

Sie zahlen einmal pro Briefing, beim ersten Herunterladen eines fertigen Ergebnisses, und zwar nach seiner Vollständigkeit:

Vollständigkeit des BriefingsBerechnung
75 % oder mehrder volle Preis
40–74 %70 % des Preises
15–39 %30 % des Preises
unter 15 %kostenlos

Ein Teilbetrag wird auf ganze Cent abgerundet. Der Auftrag zeigt completeness_percent und charged_usd. Ein fehlgeschlagenes Briefing, eine Website, die wir nicht lesen können, ein abgebrochener Auftrag und wiederholte Downloads desselben Briefings werden nicht berechnet. Ein Domain-Bericht enthält das erweiterte Briefing zusammen mit der Recherche zu Communitys und KI-Sichtbarkeit.

Ein Briefing starten​

curl -sS https://llmapi.omev.be/v1/cig/jobs/create \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://vessi.com",
"focus": "reddit_promotion",
"depth": "standard",
"client_ref": "acme-client-17",
"idempotency_key": "acme-17-vessi-reddit-2026-09"
}'
FeldErforderlichBedeutung
urljadie Website des Unternehmens; eine öffentliche http/https-Adresse
focusjaeiner der Werte reddit_promotion, seo_web, competitor_intel
depthneinstandard (Voreinstellung) oder extended
marketneinein Land oder eine Region, zum Beispiel "US", oder eine Liste mit bis zu 10, zum Beispiel ["EU", "DE"]
languageneinein Sprachcode wie "en" oder eine Liste mit bis zu 6, zum Beispiel ["en", "de"]
voiceneinin wessen Namen die vorgeschlagenen Antworten sprechen: brand (Voreinstellung) oder community_member; OmevAI veröffentlicht nie etwas
max_age_daysnein1–1830; ältere Diskussionsthreads werden aus dem Playbook ausgelassen
client_refneinIhre eigene Kennzeichnung für den Endkunden (Agenturen: Ausgaben pro Kunde aufschlüsseln)
idempotency_keynein8–200 Zeichen; bei Wiederholung wird derselbe Auftrag zurückgegeben, statt einen neuen zu starten
callback_urlneineine öffentliche https-Adresse, die wir aufrufen, wenn das Briefing fertig ist (siehe Benachrichtigung)
callback_secretnein16–200 Zeichen; damit wird jede Benachrichtigung signiert

Bevor ein Briefing startet, prüfen wir, ob das Guthaben Ihres Schlüssels seinen Preis deckt. Ist das nicht der Fall, lautet die Antwort 402 INSUFFICIENT_BALANCE, und es wird nichts gestartet.

Die Antwort ist 202 mit dem Auftrag:

{
"job": {"id": "cig_…", "status": "queued", "stage": "", "focus": "reddit_promotion",
"depth": "standard", "client_ref": "acme-client-17", "charged_usd": 0},
"idempotent_replay": false,
"poll_after_seconds": 10
}

Viele Websites auf einmal​

Senden Sie bis zu 50 Briefings in einem Aufruf. Jedes Element akzeptiert dieselben Felder wie ein einzelnes Briefing.

curl -sS https://llmapi.omev.be/v1/cig/jobs/batch \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [
{"url": "https://vessi.com", "focus": "reddit_promotion", "client_ref": "acme-17"},
{"url": "https://vessi.com", "focus": "seo_web", "client_ref": "acme-17"},
{"url": "https://allbirds.com", "focus": "competitor_intel", "client_ref": "acme-17",
"callback_url": "https://hooks.example.com/omev", "callback_secret": "a-long-random-secret"}
]
}'

Die Antwort ist 202 mit einem Eintrag pro Element, in derselben Reihenfolge. Ein fehlerhaftes Element erhält ein eigenes error und hält die anderen nicht auf:

{
"items": [
{"index": 0, "job": {"id": "cig_…", "status": "queued", …}, "idempotent_replay": false},
{"index": 1, "job": {"id": "cig_…", "status": "queued", …}, "idempotent_replay": false},
{"index": 2, "error": {"code": "INVALID_URL", "message": "…"}}
],
"poll_after_seconds": 10
}

Das Guthaben muss alle gültigen Elemente zusammen decken; andernfalls gibt der Aufruf 402 INSUFFICIENT_BALANCE zurück, und kein Element wird gestartet. Zwei Ziele für dieselbe Website in einem Aufruf teilen sich ein einziges Einlesen der Website.

Den Auftrag verfolgen​

Ein standard-Briefing dauert 10–25 Minuten, ein extended-Briefing bis zu etwa einer Stunde: Der Dienst liest die Website, führt Suchen durch, prüft Wettbewerber und liest Käuferdiskussionen. Fragen Sie den Status alle 15–30 Sekunden ab.

curl -sS https://llmapi.omev.be/v1/cig/jobs/get \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "cig_…"}'

status ist queued, running und danach einer der Werte completed, partial, failed, cancelled. Während der Ausführung zeigt stage, wo die Arbeit gerade steht, zum Beispiel site_read, business_mix, profile_extract, research_plan, market_frame, competitors, search, communities, audience, claim_verify, synthesis, thread_tone, moderation. Ein Briefing, das ein früheres Einlesen der Website wiederverwendet, zeigt site_core_reused statt der ersten drei. Betrachten Sie die Liste als Orientierung: Es können neue Schritte hinzukommen.

partial ist ein geliefertes Briefing, bei dem ein Teil nicht abgeschlossen wurde; der Grund steht in evidence_base.limitations, und evidence_base.coverage.completeness zeigt jeden Abschnitt mit dem Gefundenen, seinem Ziel und seinem Minimum. Bei failed gibt error.code die Ursache an, zum Beispiel site_unreadable, wenn die Website automatisierte Zugriffe blockiert.

Um einen Auftrag abzubrechen, senden Sie denselben Body an /v1/cig/jobs/cancel.

Benachrichtigung, wenn ein Briefing fertig ist​

Mit callback_url müssen Sie den Status nicht abfragen. Sobald der Auftrag completed, partial, failed oder cancelled erreicht, senden wir einen POST an diese Adresse:

{"event": "cig.job.finished", "job": {"id": "cig_…", "status": "completed", …}}
HeaderBedeutung
X-Omev-Event-Iddie Auftrags-ID; damit können Sie wiederholte Zustellungen ignorieren
X-Omev-Signaturesha256= und der hexadezimale HMAC-SHA256 des unveränderten Bodys, berechnet mit Ihrem callback_secret (nur gesendet, wenn Sie einen geheimen Schlüssel angegeben haben)

Antworten Sie mit einem beliebigen 2xx-Status. Schlägt der Aufruf fehl, versuchen wir es noch zweimal, nach 10 Sekunden und nach 60 Sekunden. Das Ergebnis steht in job.callback_status. Die Benachrichtigung enthält nur den Auftrag; das Briefing laden Sie wie gewohnt über /v1/cig/jobs/result herunter.

Prüfen Sie die Signatur, bevor Sie dem Body vertrauen:

import hashlib, hmac

def is_from_omev(raw_body: bytes, header: str, secret: str) -> bool:
expected = "sha256=" + hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header or "")

Das Briefing herunterladen​

curl -sS https://llmapi.omev.be/v1/cig/jobs/result \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "cig_…"}'

Die Antwort enthält job, profile (das vollständige Briefing) und stage1 (eine kurze Zusammenfassung desselben Briefings mit zehn Feldern). Solange der Auftrag nicht abgeschlossen ist, gibt der Aufruf 409 JOB_NOT_READY zurück.

Das Briefing hat neun Abschnitte:

AbschnittInhalt
metaZiel, Tiefe, Ziel-URL, Markt, Erstellungszeitpunkt
companyProdukt, Positionierung, Geschäftsmix, Funktionen, Angebot, Vertrauenssignale
marketKäuferprofil (ICP), Marktrahmen, Keywords, Suchanfragen von Käufern
problemsProbleme, die die Marke löst, Frustrationen in der Kategorie
brand_perceptionBeschwerden, Lob und Erwähnungen aus öffentlichen Quellen
competitionWettbewerber (direct, adjacent, status_quo) mit dem jeweiligen Grund, warum sie konkurrieren
audienceFragen, Einwände und Erwartungen von Käufern, wörtliche Käuferzitate
playbookder Plan für das Ziel: Communities, Suchanfragen, Botschaften, nächste Schritte, Leitplanken für Aussagen
evidence_basealle Quellen und Zitate, auf denen das Briefing beruht, Abdeckungszahlen, Einschränkungen

Einträge enthalten evidence_ids, die auf evidence_base.evidence verweisen; dort hat jeder Eintrag die Quell-url und das exakte quote. Aussagen sind als stated (vom Unternehmen selbst angegeben), observed (in unabhängigen Quellen beobachtet) oder inferred (unsere Schlussfolgerung) gekennzeichnet. Wenn Sie das Briefing an ein KI-Modell übergeben, weisen Sie es an, nur stated- und observed-Einträge als Fakten darzustellen und niemals etwas zu verwenden, das in playbook.reply_guardrails.do_not_claim aufgeführt ist.

Fehler​

CodeWann
401fehlender oder ungültiger API-Schlüssel
402 INSUFFICIENT_BALANCEdas Guthaben des Schlüssels deckt das Briefing nicht (bzw. nicht alle gültigen Elemente eines Aufrufs für mehrere Websites)
404 JOB_NOT_FOUNDunbekannter Auftrag oder ein Auftrag, der zu einem anderen Konto gehört
409 JOB_NOT_READYdas Ergebnis wurde angefordert, bevor der Auftrag abgeschlossen war
422 INVALID_URLdie Adresse ist keine öffentliche Website
422 INVALID_FOCUS, 422 INVALID_DEPTH, 422 INVALID_VOICEein Wert außerhalb der oben genannten Listen
422 INVALID_MARKET, 422 INVALID_LANGUAGE, 422 INVALID_MAX_AGE, 422 INVALID_IDEMPOTENCY_KEYein Feld außerhalb des zulässigen Bereichs: mehr als 10 Märkte, mehr als 6 Sprachcodes, ein Alter außerhalb von 1–1830 Tagen, ein Schlüssel außerhalb von 8–200 Zeichen
422 INVALID_CALLBACK_URL, 422 INVALID_CALLBACK_SECRETdie Benachrichtigungsadresse ist keine öffentliche https-Adresse, oder der geheime Schlüssel hat nicht 16–200 Zeichen
422 INVALID_REQUEST, 422 BATCH_TOO_LARGEein Aufruf für mehrere Websites ohne Elemente, mit einem Element, das kein Objekt ist, oder mit mehr als 50 Elementen
429zu viele Anfragen; nach einer kurzen Pause erneut versuchen

Jeder Fehler hat dieselbe Form: {"error": {"code": "INVALID_FOCUS", "message": "…"}}. Ein 401 wegen eines falschen Schlüssels und ein 429 funktionieren bei allen OmevAI-APIs gleich; ihr Format finden Sie unter Fehler.