Zielgruppenanalyse
Geben Sie ein Thema oder die Website einer Marke an und erhalten Sie, was echte Menschen in öffentlichen Kommentaren und Diskussionen darüber sagen: welche Worte sie verwenden, welche Fragen sie stellen, was sie von einem Produkt erwarten, wo sie Creatorn widersprechen, was in bestehenden Inhalten fehlt und welche Themen wachsen. Jede Erkenntnis wird über unabhängige Threads hinweg gezählt und mit den Kommentaren verknüpft, aus denen sie stammt, sodass Ihr Team oder Ihr eigenes KI-Modell sie überprüfen kann.
Ein Rechercheauftrag liest eine Stichprobe von bis zu 500 angenommenen Kommentaren und macht daraus alle neun unten aufgeführten Produkte (Sichten auf dieselben Daten). Jeder Auftrag enthält alle neun; Sie können das Produkt angeben, das Ihnen am wichtigsten ist.
Wert von products | Was Sie erhalten |
|---|---|
audience_keywords | Formulierungen der Zielgruppe, nach Bedeutung gruppiert (Häufigkeit in Kommentaren, nicht Suchvolumen) |
audience_questions | wiederkehrende Fragen mit Varianten, Phase im Funnel und der Angabe, ob Creator sie bereits beantworten |
website_requirements | was eine Website sagen oder zeigen muss: Funktionen, Integrationen, Preise, Belege, Einwände; jeweils markiert als must, should oder could |
comparison_intelligence | wie die Zielgruppe benannte Produkte vergleicht: Kriterien, Wechselauslöser, Vertrauenslücken |
content_brief_from_audience | ein Content-Briefing: Arbeitstitel, Abschnitte, zu beantwortende Fragen, Einwände, FAQ, zu vermeidende Aussagen |
audience_content_gaps | Nachfrage, die bestehende Antworten schlecht abdecken, mit dem zu erstellenden Inhalt |
creator_vs_audience_gap | wo Kommentierende den Aussagen von Creatorn widersprechen, sie infrage stellen oder Bedingungen hinzufügen |
buyer_expectations | was Käufer als selbstverständlich voraussetzen (must_have) und was ein Produkt abhebt (differentiator) |
trend_from_audience | Themen, die rising, stable oder declining sind, normiert auf 1.000 relevante Threads |
Die Zielgruppenanalyse wird für einen Schlüssel auf Anfrage freigeschaltet: Schreiben Sie an support@omev.be. Aufträge werden vom üblichen Guthaben des Schlüssels abgerechnet.
Preis
| Was | Preis |
|---|---|
| Ein Rechercheauftrag, alle neun Produkte enthalten | $0.99 |
Der Preis wird einmal berechnet, wenn jobs/create den Auftrag annimmt. Ein Auftrag, der mit
NO_DATA endet (nicht genug relevante öffentliche Diskussion), ist kostenlos; ein Auftrag mit
COMPLETED_PARTIAL wird voll berechnet. Ein wiederholtes jobs/create mit demselben
idempotency_key liefert denselben Auftrag und wird nicht erneut berechnet.
estimate, jobs/get, jobs/result und jobs/cancel sind kostenlos.
Die Anfrage zuerst prüfen
estimate validiert den Body, zeigt den normalisierten Umfang und den Preis und startet
keine Arbeit. Der Aufruf nimmt denselben Body wie jobs/create; idempotency_key ist hier
optional.
curl -sS https://llmapi.omev.be/v1/audience-intelligence/estimate \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schema_version": "1.2",
"products": ["audience_questions", "buyer_expectations"],
"topic": {"name": "waterproof sneakers for commuting"},
"audience": {"description": "city commuters who walk in the rain"},
"scope": {"platforms": ["youtube", "reddit"], "languages": ["en"], "markets": ["US"]}
}'
{
"request_id": "…",
"supported": true,
"normalized_scope": {
"markets": ["US"], "languages": ["en"],
"from": "2026-03-31T10:00:00Z", "to": "2026-09-27T10:00:00Z",
"platforms": ["reddit", "youtube"]
},
"sample": {"target_accepted_comments": 500, "consent_required": false},
"quote": {
"customer_cost_usd": "0.99000000", "currency": "USD", "tier": "single",
"products": ["audience_content_gaps", "audience_keywords", "audience_questions", "…"],
"valid_until": "2026-09-27T11:00:00Z"
},
"estimated_completion_seconds": {"min": 20, "typical": 240, "max": 1800},
"warnings": []
}
quote.customer_cost_usd ist der Preis des Auftrags. supported: false oder ein Hinweis in
warnings bedeutet, dass eine Datenquelle vorübergehend nicht verfügbar ist: Versuchen Sie
es später erneut.
Einen Rechercheauftrag starten
curl -sS https://llmapi.omev.be/v1/audience-intelligence/jobs/create \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schema_version": "1.2",
"idempotency_key": "acme-17-sneakers-2026-09",
"products": ["audience_questions", "buyer_expectations"],
"topic": {"name": "waterproof sneakers for commuting"},
"audience": {"description": "city commuters who walk in the rain"},
"scope": {"platforms": ["youtube", "reddit"], "languages": ["en"], "markets": ["US"]}
}'
| Feld | Erforderlich | Bedeutung |
|---|---|---|
schema_version | ja | 1.0, 1.1 oder 1.2; verwenden Sie 1.2 |
idempotency_key | ja für jobs/create | 8–200 Zeichen; bei Wiederholung wird derselbe Auftrag zurückgegeben, statt einen neuen zu starten |
product oder products | nein | das Produkt, das Ihnen am wichtigsten ist, oder eine Liste von Produkten aus der Tabelle oben; höchstens eines der beiden Felder. Der Auftrag erstellt in jedem Fall alle neun |
topic.name | name oder website_url | das Thema, 3–300 Zeichen |
topic.website_url | name oder website_url | die Website einer Marke; der Markenname wird von der Website gelesen |
topic.description | nein | bis zu 2.000 Zeichen, die das Thema präzisieren |
topic.include_terms, topic.exclude_terms | nein | jeweils bis zu 50 Begriffe, um zu erweitern oder einzugrenzen, was als relevant gilt |
audience.description | nein | wen Sie hören möchten, 3–2.000 Zeichen |
audience.roles, audience.company_size | nein | zusätzliche Hinweise für Geschäftszielgruppen |
scope.platforms | nein | beliebige aus youtube, reddit, linkedin, tiktok, instagram, threads, facebook, twitter, web |
scope.languages | nein | Sprachen der Kommentare, Standard ["en"], bis zu 10 |
scope.markets | nein | Ländercodes wie ["US"]; leer bedeutet weltweit |
scope.period | nein | {"days": 7…365} (Standard 180) oder {"from": "…Z", "to": "…Z"} in UTC, 7–365 Tage auseinander |
entities | nein | zu vergleichende Produkte oder Unternehmen: {"name": "…", "kind": "product", "aliases": ["…"]}; ohne sie nutzt comparison_intelligence die Vergleiche, die in den Kommentaren gefunden werden |
creator_seeds | nein | zu lesende Kanäle oder Communities: {"platform": "youtube", "url": "https://…"}; eine Reddit-Community ist https://www.reddit.com/r/<name>, ein einzelner Reddit-Thread ist eine Thread-URL mit "kind": "publication" |
source_mode | nein | discover (Standard) findet Quellen selbst; seeds_only liest nur Ihre creator_seeds |
data_mode | nein | refresh_if_needed (Standard) verwendet aktuelle Daten für denselben Umfang erneut und ergänzt sie; fresh erhebt neu; corpus_only verwendet nur Daten, die bereits für Ihr Konto erhoben wurden |
output | nein | max_signals (1–100, Standard 30), max_evidence_per_signal (1–20, Standard 5), include_short_quotes und include_markdown (beide standardmäßig true) |
limits | nein | max_creators (Standard 30, bis 100), max_publications (Standard 300, bis 1.000), max_comments (Standard 15.000, bis 50.000), deadline_seconds (Standard 1.800, 60–3.600) |
Wichtige Standardwerte:
- Mit nur
topic.website_urlliest der Auftrag alle Plattformen und zusätzlich unabhängige Foren und Blogs. - Mit
topic.nameund ohnescope.platformsliest der Auftrag nur YouTube. Geben Sie die benötigten Plattformen an.
Die Antwort ist 202 mit dem Auftrag:
{
"request_id": "…",
"job": {"id": "aij_…", "status": "QUEUED", "stage": "VALIDATE", "progress": 0,
"created_at": "…", "deadline_at": "…", "currency": "USD", "warnings": []},
"idempotent_replay": false,
"poll_after_seconds": 3
}
Den Auftrag verfolgen
Ein Auftrag dauert in der Regel einige Minuten und endet spätestens nach
limits.deadline_seconds. Fragen Sie den Status alle 5–10 Sekunden ab.
curl -sS https://llmapi.omev.be/v1/audience-intelligence/jobs/get \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "aij_…"}'
job.progress läuft von 0 bis 100; job.coverage_so_far zeigt die bisher erhobenen
Mengen.
status | Bedeutung |
|---|---|
QUEUED, RUNNING | wartet oder läuft |
WAITING_PROVIDER, RETRY_WAIT | wartet auf eine Datenquelle oder wiederholt; fragen Sie weiter ab |
COMPLETED | der Bericht ist fertig |
COMPLETED_PARTIAL | ein Bericht ist fertig, aber die Stichprobe ist kleiner als geplant; siehe warnings und product_readiness |
NO_DATA | es wurde nicht genug relevante öffentliche Diskussion gefunden; es gibt keinen Bericht |
BUDGET_EXHAUSTED, EXPIRED, FAILED | der Auftrag endete ohne vollständigen Bericht; stop_reason und public_error_code nennen den Grund |
CANCELLED | Sie haben den Auftrag abgebrochen |
Um einen Auftrag zu stoppen, senden Sie {"job_id": "aij_…"} an
/v1/audience-intelligence/jobs/cancel. Die Antwort ist 202, während der Auftrag stoppt,
oder 200, wenn er bereits abgebrochen ist.
Den Bericht herunterladen
curl -sS https://llmapi.omev.be/v1/audience-intelligence/jobs/result \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "aij_…"}'
Bevor der Auftrag endet, liefert der Aufruf 409 JOB_NOT_READY. Ein Auftrag, der ohne
Bericht endete (zum Beispiel NO_DATA), liefert {"job": {…}, "report": null}.
Der Bericht:
| Feld | Inhalt |
|---|---|
status, products | der Endstatus und die erstellten Produkte |
product_results | ein Objekt pro Produkt, mit dem Produktnamen als Schlüssel; jedes enthält eine Liste items in der Form dieses Produkts |
product_readiness | pro Produkt: sufficient, insufficient_sample oder no_evidence, mit Begründung |
summary | eine kurze Zusammenfassung in einfacher Sprache |
research_question, scope | was untersucht wurde: Thema, Zielgruppe, Zeitraum, angefragte und tatsächlich beobachtete Plattformen |
methodology | wessen Meinungen die Stichprobe abbildet, wie Quellen ausgewählt wurden, Einschränkungen |
coverage | erhobene, angenommene und ausgeschlossene Kommentare, eindeutige Threads, Plattformen, der größte Anteil einer einzelnen Quelle |
signals | die zugrunde liegenden Erkenntnisse: type (Frage, Problem, Erwartung, Einwand, Vergleich, Trend…), label, strength (anecdotal, emerging, recurring, strong), Zählungen und evidence_ids |
evidence | die Kommentare hinter den Erkenntnissen: Plattform, Veröffentlichung, Kommentartext, Relevanz |
contradictions, warnings | widersprüchliche Erkenntnisse und alles, was den Bericht einschränkt |
rendered_markdown | derselbe Bericht als Markdown, wenn output.include_markdown auf true steht |
Gezählt werden eindeutige Diskussions-Threads, nicht einzelne Kommentare, sodass ein
einzelner lauter Thread ein Thema nicht groß erscheinen lassen kann. Behandeln Sie
anecdotal-Erkenntnisse als Hinweise, nicht als Fakten.
Berichte bleiben 90 Tage nach Ende des Auftrags verfügbar; danach liefert der Aufruf
410 RESULT_EXPIRED.
Enge Themen
Ein Auftrag zielt auf 500 angenommene Kommentare, das Maximum. Für eine Nische, in der es so
viele nicht gibt, können Sie zum selben Preis eine kleinere Stichprobe von 200–499 Kommentaren
akzeptieren:
Setzen Sie sample_policy.mode auf narrow, sample_policy.target_accepted_comments auf
den Zielwert und fügen Sie sample_policy.narrow_topic_consent mit dem registrierten
Einwilligungstext, dem Zeitpunkt der Annahme und der Richtlinienversion hinzu. Wenden Sie
sich an support@omev.be, um den genauen Wortlaut zu erhalten, bevor
Sie dies in ein Produkt einbauen.
Fehler
| Code | Wann |
|---|---|
401 | fehlender oder ungültiger API-Schlüssel |
403 | der Schlüssel darf dieses Produkt nicht nutzen |
404 | unbekannter Auftrag oder ein Auftrag, der zu einem anderen Konto gehört |
409 JOB_NOT_READY | der Bericht wurde angefordert, bevor der Auftrag beendet war |
409 IDEMPOTENCY_CONFLICT | der idempotency_key wurde bereits mit einem anderen Body verwendet |
409 JOB_ALREADY_TERMINAL | ein Abbruch wurde für einen bereits beendeten Auftrag gesendet |
410 RESULT_EXPIRED | der Bericht ist älter als 90 Tage |
422 INVALID_ARGUMENT | ein Feld fehlt oder liegt außerhalb des zulässigen Bereichs; der Body nennt das Feld |
429 | zu viele Anfragen oder zu viele Aufträge in der Warteschlange; wiederholen Sie nach einer kurzen Pause |
Bei 409, 410 und 422 enthält der Body den oben gezeigten Dienstcode. Andere Status
liefern den gemeinsamen Fehler-Body, siehe Fehler.