Zum Hauptinhalt springen

Web lists

Web lists – geprüfte Listen von Unternehmen, Websites und Communities. Beschreiben Sie in einfachen Worten, was Sie brauchen – Unternehmen, Websites oder Communities –, fügen Sie die Bedingungen hinzu, die jeder Eintrag erfüllen muss, und erhalten Sie eine Liste, in der jeder Eintrag gegen jede Bedingung geprüft wurde, mit einem Zitat aus der Quelle, das jeden Treffer belegt. Ergänzen Sie die Liste anschließend um die Fakten, die Sie brauchen (Preismodell, kostenlose Testphase, Integrationen, Hauptsitz…), und exportieren Sie sie in eine Datei.

Entwickelt für Lead-Listen, Marktübersichten, Partnerrecherche sowie Listen von Websites oder Communities: Sie zahlen für Einträge, die Ihre Bedingungen erfüllen, nicht für die, die wir geprüft und verworfen haben. In der API wird eine Liste über ihre set_id angesprochen.

Web lists werden für einen Schlüssel auf Anfrage freigeschaltet: Schreiben Sie an support@omev.be. Ergebnisse werden vom üblichen Guthaben des Schlüssels abgerechnet.

Preis​

WasPreis
Ein angenommener Eintrag in einer Liste$0.0225
Ein gefundener Anreicherungswert (ein Feld für einen Eintrag)$0.0045

Sie zahlen, sobald Ergebnisse geliefert werden: für jeden in die Liste aufgenommenen Eintrag und für jeden tatsächlich gefundenen Anreicherungswert. Abgelehnte Kandidaten, not_found-Werte und wiederholte Downloads werden nicht berechnet. Ein Eintrag wird einmal pro Liste berechnet, auch über find-more-Fortsetzungen hinweg. estimate, get, results, exclude, export und cancel sind kostenlos.

Zuerst einen Preis abfragen​

curl -sS https://llmapi.omev.be/v1/sets/estimate \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"operation": "search", "target_count": 25}'

operation ist search (mit target_count) oder enrich (mit entity_field_values, der Anzahl der Einträge mal der Anzahl der Felder). Die Antwort zeigt den Höchstbetrag, der Ihnen berechnet werden kann:

{
"quote": {
"operation": "search", "currency": "USD",
"lines": [{"kind": "accepted_entity", "unit_price_usd": "0.0225",
"max_units": "25", "max_total_usd": "0.5625"}],
"max_total_usd": "0.5625",
"note": "accepted entities are charged on the accepted count, not the target"
}
}

Eine Liste erstellen​

curl -sS https://llmapi.omev.be/v1/sets/search \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entity_type": "company",
"query": "Podcast editing software for small businesses",
"criteria": [
{"description": "Offers a self-serve paid plan", "kind": "must"},
{"description": "Has a free trial", "kind": "should"},
{"description": "Is a freelance agency, not a software product", "kind": "must_not"}
],
"target_count": 25,
"scope": {"markets": ["US"], "languages": ["en"]},
"idempotency_key": "acme-17-podcast-tools-2026-09"
}'
FeldErforderlichBedeutung
queryjawonach Sie suchen, 5–2.000 Zeichen
entity_typeneinwas die Liste enthält: company (Standard), website oder community
criterianeinbis zu 8 Bedingungen, jede description bis zu 300 Zeichen; kind ist must (Standard), must_not oder should (bevorzugt, nicht erforderlich); optional id
target_countneinwie viele Einträge angenommen werden sollen, Standard 25, maximal 100
scope.marketsneinbis zu 5 Ländercodes, Standard ["US"]
scope.languagesneinbis zu 5 Sprachen, Standard ["en"]
idempotency_keyneinbis zu 200 Zeichen, im Body oder im Header Idempotency-Key; bei Wiederholung wird derselbe Auftrag zurückgegeben

Die Antwort ist der Auftrag:

{"schema": "sets_job_ack_v1", "job_id": "osjob_…", "operation": "search",
"status": "queued", "hard_deadline_seconds": 600, "set_id": "oset_…", "target_count": 25}

Bewahren Sie beide Kennungen auf: job_id verfolgt diesen Lauf, set_id benennt die Liste für find-more, exclude und export.

Den Auftrag verfolgen​

curl -sS https://llmapi.omev.be/v1/sets/get \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "osjob_…"}'
{"job": {"id": "osjob_…", "kind": "search", "status": "running",
"created_at": "…", "deadline_at": "…", "completion_reason": null,
"progress": {"processed": 12, "total_or_target": 25}}}

status ist queued, running oder retry_wait und danach einer der Werte completed, partial, failed, cancelled. completion_reason erklärt das Ende: completed, saturated (es gibt weniger passende Einträge als angefragt), deadline_reached, budget_exhausted, cancelled, failed. Fragen Sie den Status alle 5–10 Sekunden ab.

Um einen Auftrag zu stoppen, senden Sie {"job_id": "osjob_…"} an /v1/sets/cancel. Einträge, die vor dem Stopp angenommen wurden, bleiben in der Liste.

Die Liste lesen​

curl -sS https://llmapi.omev.be/v1/sets/results \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_id": "osjob_…", "limit": 100, "offset": 0}'

Ergebnisse sind lesbar, während der Auftrag läuft, sodass Sie früh mit den ersten Einträgen arbeiten können. limit beträgt bis zu 1.000 Zeilen pro Aufruf (Standard 100); blättern Sie mit offset.

Die Hülle enthält status, completion_reason, target_count, accepted_count, rejected_count, unknown_count, coverage, saturation_reason und die Liste results. Jeder Eintrag einer Suche:

FeldBedeutung
entity_idder Eintrag in dieser Liste; verwenden Sie ihn für die Anreicherung
entity_type, name, domain, urlworum es sich handelt: ein Unternehmen, eine Website oder eine Community
relevance_score40–100: jeder Eintrag erfüllt alle Pflichtbedingungen; der Wert wächst mit erfüllten Wunschbedingungen (should), mit der Beweiskraft der Zitate und mit der Zahl unabhängiger Suchen, die ihn gefunden haben
matched_criteriajede erfüllte Bedingung mit criterion, status, source_url, einem wörtlichen evidence-Zitat (bis zu 200 Zeichen) und einem kurzen reason

Die besten Einträge kommen zuerst, sortiert nach relevance_score.

Mehr finden, importieren, ausschließen​

  • /v1/sets/find-more mit {"set_id": "oset_…", "additional": 25} startet einen neuen Auftrag, der bis zu additional Einträge (1–100) zur selben Liste hinzufügt und jeden bereits enthaltenen Eintrag überspringt. Eine Liste enthält höchstens 100 angenommene Einträge.
  • /v1/sets/import mit {"set_id": "oset_…", "items": ["example.com", …]} prüft Ihre eigenen URLs oder Domains (bis zu 1.000) gegen die Bedingungen der Liste. Einträge, die bestehen, werden in die Liste aufgenommen und als angenommene Einträge berechnet.
  • /v1/sets/exclude mit {"set_id": "oset_…", "kind": "domain", "value": "example.com"} hält einen Eintrag aus späteren Läufen dieser Liste heraus. kind ist domain, entity, url_prefix oder list.

Eine Liste anreichern​

Ergänzen Sie Fakten zu Einträgen, die Sie bereits haben, oder zu jeder öffentlichen Website.

curl -sS https://llmapi.omev.be/v1/sets/enrich \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"targets": [{"entity_id": "…"}, {"url": "https://example.com"}],
"fields": [
{"field": "pricing_model"},
{"field": "has_free_trial"},
{"field": "offers_white_label", "instruction": "Does the company sell a white-label version?", "output_type": "boolean"}
],
"idempotency_key": "acme-17-podcast-enrich-1"
}'
FeldErforderlichBedeutung
targetsjabis zu 1.000 Ziele, jeweils {"entity_id": "…"} oder {"url": "https://…"}
fieldsjabis zu 10 Felder; Ziele × Felder dürfen 500 pro Auftrag nicht überschreiten
idempotency_keyneinwie bei der Suche

Vorgefertigte Felder: company_description, product_category, pricing_start, pricing_model, has_free_trial, has_public_api, founding_year, headquarters_country, supported_integrations, primary_platforms.

Ein eigenes Feld ist {"field": "<name>", "instruction": "<up to 500 characters>", "output_type": "string"}; output_type ist string, number, boolean, string_list oder object. Käuferprofile, Wettbewerber, Suchanfragen von Käufern, Communities, Pain Points und Zielgruppenthemen sind keine Anreicherungsfelder: Bestellen Sie dafür ein Unternehmensanalyse-Briefing oder einen Domain-Bericht.

In results enthält jeder Eintrag fields, und jedes Feld hat status (found, not_found, unavailable, error), value und evidence. false ist eine echte gefundene Antwort. Nur found-Werte werden berechnet.

Unternehmensprofile sind nicht mehr Teil von Web lists: Der Aufruf /v1/sets/intelligence antwortet mit 410, und Ergebnisse früher abgeschlossener Aufträge bleiben über /v1/sets/results abrufbar.

Eine Liste in eine Datei exportieren​

Der Export ist kostenlos und braucht zwei Aufrufe. Legen Sie zuerst den Export an; format ist csv (Standard), jsonl oder json:

curl -sS https://llmapi.omev.be/v1/sets/export \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"set_id": "oset_…", "format": "csv"}'
{"export_id": "osexp_…", "format": "csv", "row_count": 25, "status": "ready"}

Laden Sie dann die Datei mit der export_id herunter:

curl -sS https://llmapi.omev.be/v1/sets/export \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"export_id": "osexp_…"}' \
-o list.csv

Die Antwort ist die Datei selbst als Anhang mit dem Namen <set_id>.<format>: CSV (text/csv), JSON Lines (application/x-ndjson, ein Eintrag pro Zeile) oder JSON (application/json, die Einträge unter results). CSV-Spalten: entity_id, entity_type, name, domain, url, relevance_score, matched_criteria (ein JSON-Array der erfüllten Bedingungen mit ihren Belegen).

Danach folgt je eine Spalte pro Anreicherungsfeld, das Sie für die Liste angefordert haben, in derselben Reihenfolge: der gefundene Wert (yes/no bei Ja-Nein-Feldern, Listeneinträge durch ; getrennt), leer, wenn kein Wert gefunden wurde. In JSON und JSON Lines stehen dieselben Werte unter fields. Websites, die Sie ohne Suche angereichert haben, sind ebenfalls enthalten.

Fehler​

CodeWann
400ungültiges JSON, ein Feld außerhalb des zulässigen Bereichs, eine ungültige Bedingung oder ein nicht unterstützter entity_type; der Body ist auf 256 KiB begrenzt
401fehlender oder ungültiger API-Schlüssel
403der Schlüssel darf dieses Produkt nicht nutzen
404unbekannter Auftrag oder unbekannte Liste, oder eine, die zu einem anderen Konto gehört
404 EXPORT_NOT_FOUNDunbekannter Export oder ein Export eines anderen Kontos
409 IDEMPOTENCY_CONFLICTder idempotency_key wurde bereits mit einem anderen Body verwendet
410der eingestellte Aufruf /v1/sets/intelligence
429zu viele Anfragen oder zu viele Aufträge in der Warteschlange; wiederholen Sie nach einer kurzen Pause

Das gemeinsame Format und Hinweise zu Wiederholungen finden Sie unter Fehler.