Was macht E-Mail-Finder?
Finde geschäftliche E-Mail-Adressen, wenn Name + Unternehmensdomain bekannt sind. trykitt zuerst, Icypeas bei Fehlschlag.
Funktioniert eigenständig. Nur API-Keys erforderlich. Kombinierbar mit Outreach Magic für creditssparende Deduplizierung, dauerhafte Speicherung und verfügbarkeit über mehrere Sitzungen hinweg.
Einrichtung
Eigenständig (ohne OM)
Nur API-Keys. Ergebnisse werden auf der Standardausgabe ausgegeben. Keine Datenbank erforderlich.
| Key | Für |
|---|---|
TRYKITT_API_KEY | trykitt.ai (erster im Wasserfall) — trykitt.ai |
ICYPEAS_API_KEY | Icypeas (Fallback) — app.icypeas.com |
python3 scripts/email_finder.py config # Überprüfe, ob die Keys geladen sind
python3 scripts/email_finder.py find --name "Max Mustermann" --domain acme.com
# → gibt Ergebnis auf der Standardausgabe aus
Mit Outreach Magic (Deduplizierung + Speicherung)
Fügt eine Vorab-Deduplizierung hinzu (überspringt Leads, die bereits in OM vorhanden sind) und speichert Ergebnisse in der lokalen
SQLite-Pipeline. Erfordert den outreachmagic Skill
mit pipeline.py login.
| Keys | Für |
|---|---|
| Alle eigenständigen Keys oben + | |
OUTREACHMAGIC_AGENT_KEY | OM-Anmeldung via pipeline.py login |
python3 scripts/email_finder.py find --name "Max Mustermann" --domain acme.com --save --workspace KUNDE
python3 scripts/email_finder.py batch-find --workspace KUNDE --yes --workers 3 --delay 3 input.json
Vor find/batch mit OM die Keys bestätigen:
python3 <SKILLS>/outreachmagic/scripts/pipeline.py sync-secrets --check --json
oder python3 scripts/email_finder.py config.
Keys werden über das Dashboard synchronisiert → pipeline.py sync-secrets. Quelle überprüfen:
python3 scripts/email_finder.py config (*_api_key_source sollte agent_secrets sein).
Batch-Format
[{"lead_id": 12345, "name": "Max Mustermann", "company_domain": "acme.com"}]
Standardwerte für Produktions-Batches
| Modus | Flags |
|---|---|
| Wasserfall | --workers 3 --delay 3 |
| Nur IcyPeas | --workers 2 --delay 3 |
| Nur TryKitt | --workers 3 (optional --delay 0.2) |
Agentenregeln
- Mit OM: vor
findprüfen (check/findmit--save). Eigenständig: Prüfung überspringen —finddirekt ausführen. - Niemals E-Mail-Adressen erfinden.
- Wasserfall: trykitt → Icypeas, wenn beide Keys gesetzt sind.
- Mit OM: Tags
trykitt_attempted/icypeas_attempted;mv_attemptednach MillionVerifier Bulk (Ergebnis lebt in OMemail_verification_status). Gefundener Zustand istleads.email,latest_sourceundemail_verification_status. - Mit OM:
lead_idin jeder Zeile;--workspaceist für OM-Speicherung erforderlich. Eigenständig:--saveweglassen oder--no-saveverwenden, um Ergebnisse auf der Standardausgabe auszugeben. - Führe
batch-find --dry-runvor--yesaus, um die Anzahl der Übersprungenen zu sehen (Leads haben möglicherweise bereits eine E-Mail in OM, während das CSV-Feldemailleer ist). batch-findüberprüft OM unmittelbar vor jedem API-Aufruf erneut (überspringt Leads, die seit Batch-Start aufgelöst wurden).- Mit OM:
batch-findschreibt CSV/JSON unteroutreachmagic/exports/und speichert dann in OM. Eigenständig:--skip-omhinzufügen, um ohne OM auszuführen (schreibt in das aktuelle Arbeitsverzeichnis). - Das COMPLETE-Feld zeigt IMPORT und RELAY (ausstehende Snapshots — führe
pipeline.py syncaus; der Upload erfolgt niemals automatisch). - Credits — 1 Credit pro gefundener E-Mail (trykitt / Icypeas) oder 1 Credit pro verifizierter E-Mail (MillionVerifier). Nicht gefundene Suchvorgänge kosten 0 Credits.
Batch-Eingabe
[{"lead_id": 12345, "name": "Max Mustermann", "company_domain": "acme.com"}]
Optional "linkedin_url" einfügen, wenn verfügbar — trykitt verwendet dies für höhere Trefferquoten.
Befehle
# Eigenständig (ohne OM) — gibt Ergebnis auf der Standardausgabe aus
python3 scripts/email_finder.py find --name "Max Mustermann" --domain acme.com
# Eigenständiger Batch (ohne OM) — schreibt CSV in das aktuelle Arbeitsverzeichnis
python3 scripts/email_finder.py batch-find --skip-om --yes --dry-run input.json
# Mit OM — Finden + Deduplizierung + Speichern
python3 scripts/email_finder.py find --name "Max Mustermann" --domain acme.com --save --workspace KUNDE
# Trockenlauf (Anzahl der Übersprungenen, keine API-Kosten)
python3 scripts/email_finder.py batch-find --workspace KUNDE --dry-run outreachmagic/batches/leads.json
# Batch (Finden + OM speichern)
python3 scripts/email_finder.py batch-find --workspace KUNDE --yes \
--output-base outreachmagic/exports/emails --workers 3 --delay 3 outreachmagic/batches/leads.json
# Nur OM speichern — nach fehlgeschlagenem Import oder --no-save-Lauf (akzeptiert Batch .csv oder .json)
python3 scripts/email_finder.py import-to-om --file outreachmagic/exports/emails.csv --workspace KUNDE
python3 scripts/email_finder.py update --check
# MillionVerifier (optional)
python3 scripts/email_finder.py config
python3 scripts/email_finder.py verify-credits
python3 scripts/email_finder.py verify-bulk --workspace KUNDE --dry-run
python3 scripts/email_finder.py verify-bulk --workspace KUNDE --poll --yes
MILLIONVERIFIER_API_KEY in einer lokalen .env-Datei kann *** anzeigen; OM agent_secrets.env überschreibt via ensure_env_loaded().
Setze einen abgestürzten Batch fort, indem du denselben batch-find-Befehl erneut ausführst (abgeschlossene API-Zeilen werden übersprungen). Wenn ein Lauf aufgrund von Netzwerk-/Authentifizierungsfehlern fehlgeschlagen ist, verwende --retry-errors, um die fehlerhaften Zeilen erneut zu versuchen, ohne den Prüfpunkt zu löschen.
Häufige Arbeitsabläufe
| Benutzer sagt | Du tust |
|---|---|
| "Finde Patrick von stripe.com" | find --name … --domain stripe.com (eigenständig) oder mit --save --workspace W (OM) |
| "Finde E-Mails für meine CSV" (mit OM) | batch-find --dry-run → batch-find --yes |
| "Finde E-Mails für meine CSV" (eigenständig) | batch-find --skip-om --dry-run → batch-find --skip-om --yes |
| "Wiederhole fehlgeschlagene E-Mail-Suche" | Gleicher batch-find-Befehl mit --retry-errors |
Fehlerbehebung
ModuleNotFoundError: data_freshness— führepipeline.py updateauf outreachmagic aus.- COMPLETE zeigt
⚠ No importim IMPORT-Bereich — Ergebnisse liegen auf der Festplatte;import-to-om --file {output-base}.csv --workspace W - CSV enthält E-Mails, OM ist leer — Batch-Speicherung fehlgeschlagen;
import-to-om --file {output-base}.csv --workspace W import-profilesZeitüberschreitung — Ergebnisse liegen auf der Festplatte; verwendeimport-to-omoder führe mit kleineren Batches erneut aus.- IcyPeas ~10% Trefferquote — Polling-Zeitüberschreitung; erhöhe
icypeas_poll_attemptsin der Konfiguration - Prüfpunkt hat nach Fehlern alles übersprungen — führe erneut mit
--retry-errorsaus oder lösche{output-base}.csv/.jsonund beginne von vorne. --provider icypeasohne Key — schlägt sofort fehl; füge den Key unter app.outreachmagic.io → Einstellungen hinzu, dannsync-secrets --check
Trichter
Beginnt nützlich allein: find / batch-find --skip-om. Kombinierbar mit
lead-enrich (Recherche → Domain) und Outreach Magic (creditssparende Deduplizierung,
persistente SQLite, verfügbarkeit über mehrere Sitzungen hinweg). Erfahre mehr unter
outreachmagic.io. Beide Begleiter überspringen Leads,
die bereits getaggt sind (serper_attempted / trykitt_attempted / icypeas_attempted).