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
| Was | Preis |
|---|---|
| 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"
}'
| Feld | Erforderlich | Bedeutung |
|---|---|---|
query | ja | wonach Sie suchen, 5–2.000 Zeichen |
entity_type | nein | was die Liste enthält: company (Standard), website oder community |
criteria | nein | bis zu 8 Bedingungen, jede description bis zu 300 Zeichen; kind ist must (Standard), must_not oder should (bevorzugt, nicht erforderlich); optional id |
target_count | nein | wie viele Einträge angenommen werden sollen, Standard 25, maximal 100 |
scope.markets | nein | bis zu 5 Ländercodes, Standard ["US"] |
scope.languages | nein | bis zu 5 Sprachen, Standard ["en"] |
idempotency_key | nein | bis 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:
| Feld | Bedeutung |
|---|---|
entity_id | der Eintrag in dieser Liste; verwenden Sie ihn für die Anreicherung |
entity_type, name, domain, url | worum es sich handelt: ein Unternehmen, eine Website oder eine Community |
relevance_score | 40–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_criteria | jede 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-moremit{"set_id": "oset_…", "additional": 25}startet einen neuen Auftrag, der bis zuadditionalEinträ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/importmit{"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/excludemit{"set_id": "oset_…", "kind": "domain", "value": "example.com"}hält einen Eintrag aus späteren Läufen dieser Liste heraus.kindistdomain,entity,url_prefixoderlist.
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"
}'
| Feld | Erforderlich | Bedeutung |
|---|---|---|
targets | ja | bis zu 1.000 Ziele, jeweils {"entity_id": "…"} oder {"url": "https://…"} |
fields | ja | bis zu 10 Felder; Ziele × Felder dürfen 500 pro Auftrag nicht überschreiten |
idempotency_key | nein | wie 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
| Code | Wann |
|---|---|
400 | ungü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 |
401 | fehlender oder ungültiger API-Schlüssel |
403 | der Schlüssel darf dieses Produkt nicht nutzen |
404 | unbekannter Auftrag oder unbekannte Liste, oder eine, die zu einem anderen Konto gehört |
404 EXPORT_NOT_FOUND | unbekannter Export oder ein Export eines anderen Kontos |
409 IDEMPOTENCY_CONFLICT | der idempotency_key wurde bereits mit einem anderen Body verwendet |
410 | der eingestellte Aufruf /v1/sets/intelligence |
429 | zu 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.