Bild des Website Contacts ScrapersE-Mails, Telefone und Social Media

Website Contacts Scraper.

Starte mit Firmenwebsites. Sammle veröffentlichte Kontaktkanäle und ordne Profile nach Netzwerk, damit dein Team mehr als einen Domainnamen hat.

Auf Apify starten

So kannst du diesen Scraper nutzen.

Probiere diese Beispiele für Marketing, Wachstum und Wettbewerbsrecherche.

01

Ergänze Kontaktdaten einer Partnerauswahl

Sammle nach der Recherche möglicher Händler deren öffentliche Kontaktkanäle. Prüfe den passenden Kanal für deine Partneranfrage.

Halte öffentliche Kontakte und Social-Links je Domain in einer Tabelle fest.

02

Ergänze die Firmenrecherche einer Agentur

Starte mit einer kategoriebasierten Google-Search-Domainliste. Prüfe Websites, sammle Profile und untersuche Zielgruppe und Positionierung.

Ergänze Quellseiten und eigene Notizen in der Firmenliste.

03

Prüfe Kontakte deiner eigenen Websites

Prüfe bei mehreren Marken E-Mails, Telefone und Social-Links jeder Website. Besprich fehlende Angaben oder veraltete Links mit den Verantwortlichen.

Halte ein Kontaktaudit mit Links zu geprüften Seiten fest.

VOM ERSTEN LAUF ZUM REGELMÄSSIGEN ABLAUF

Ihr erster Lauf, Schritt für Schritt.

  1. Öffnen Sie den Actor auf Apify, wählen Sie Input und wechseln Sie zum JSON-Editor, um eine Konfiguration einzufügen.
  2. Füge zwei bestätigte Website-URLs in startUrls ein. Ersetze die Beispiele durch Firmen aus deiner Liste. Vermeide Social-Profil-URLs, wenn du die Hauptwebsite bereits kennst.
  3. Starte mit acht Seiten je Website und maxResults 2. Lass skipSitesWithoutContacts auf false, damit auch Websites ohne Kontakte sichtbar bleiben. Standardmäßig ist kein Proxy nötig; ergänze ihn bei Bedarf.
  4. Starten Sie den Lauf und prüfen Sie das Protokoll. Kontrollieren Sie die erkannten Ziele und Filter, bevor Sie aus leeren Ergebnissen auf fehlende Daten schließen.
  5. Öffnen Sie Storage → Dataset, prüfen Sie mehrere Datensätze und exportieren Sie verschachtelte Daten als JSON oder einfache Tabellen als CSV.
Konfiguration für den ersten Lauf
{
  "startUrls": ["https://apify.com", "https://www.iana.org"],
  "maxPagesPerSite": 8,
  "maxResults": 2,
  "skipSitesWithoutContacts": false
}

Fügen Sie dies in den JSON-Eingabeeditor des Actors ein. Ersetzen Sie die Beispielziele vor dem Start.

Das aktuelle Eingabeformular auf Apify ansehen

Wählen Sie die passende Suche.

Der Scraper besucht eine Website und priorisiert Seiten mit möglichen öffentlichen Kontaktdaten. Verwende möglichst bestätigte Website-URLs. Abkürzungen über Firmennamen können eine Domain nur erraten und brauchen eine zusätzliche Identitätsprüfung.

SuchmethodeWann es sinnvoll istWas sich ändert
Website-DomainsWann es sinnvoll istDu kennst genau die Entität, deren Daten du sammeln möchtest.Was sich ändertWebsite-URLs oder Domains als Zeichenketten oder Objekte mit url. Jeder Standort wird getrennt gescannt. Namen und Profile können zu geratenen Domains werden; nutzen Sie geprüfte Websites.
Abkürzungen über FirmennamenWann es sinnvoll istDu möchtest passende Ergebnisse finden, bevor du konkrete Ziele auswählst.Was sich ändertEine Website zusätzlich zu oder statt startUrls. Eine Geschäftsadresse kann als Domain gelesen werden; eine geprüfte Website ist eindeutiger.
Crawling-TiefeWann es sinnvoll istDu möchtest eine breitere Abdeckung und kannst einen größeren Lauf zulassen.Was sich ändert1 bis 100 Seiten je Website, Standard 8. Bevorzugt Kontakt, Impressum, Über-uns, Team und Support statt aller Links. Für große Websites erhöhen, nicht für mehr Domains.

Der entscheidende Unterschied

Begrenzt gelieferte Website-Datensätze, nicht E-Mail-Adressen oder Seiten. Je Domain entsteht gewöhnlich eine Zeile mit Kontaktlisten. Leer verarbeitet die ganze Eingabeliste.

Den verwandten Scraper vergleichen

Alle Eingaben erklärt.

Verwenden Sie in JSON die genauen Feldnamen unten. Geben Sie Listenwerte im Apify-Formular einzeln ein und verwenden Sie Zahlen und Wahrheitswerte im richtigen Datentyp.

Standardwert und Vorbelegung sind verschieden. Der Standardwert gilt, wenn du eine Einstellung auslässt; die Vorbelegung ist ein Beispiel im Apify-Formular. Prüfe Ziele und Limits vor jedem Lauf. Manche Einstellungen haben keinen Standardwert im Schema. Du musst trotzdem mindestens ein unterstütztes Ziel angeben.

Ziele und Suchbegriffe2
startUrls
ListeIm Formular vorausgefüllt: ["https://apify.com","https://www.iana.org"]

Website-URLs oder Domains als Zeichenketten oder Objekte mit url. Jeder Standort wird getrennt gescannt. Namen und Profile können zu geratenen Domains werden; nutzen Sie geprüfte Websites.

url
Text

Eine Website zusätzlich zu oder statt startUrls. Eine Geschäftsadresse kann als Domain gelesen werden; eine geprüfte Website ist eindeutiger.

Grenzen, Details und Proxys7
maxPagesPerSite
GanzzahlStandard: 8

1 bis 100 Seiten je Website, Standard 8. Bevorzugt Kontakt, Impressum, Über-uns, Team und Support statt aller Links. Für große Websites erhöhen, nicht für mehr Domains.

maxResults
Ganzzahl

Begrenzt gelieferte Website-Datensätze, nicht E-Mail-Adressen oder Seiten. Je Domain entsteht gewöhnlich eine Zeile mit Kontaktlisten. Leer verarbeitet die ganze Eingabeliste.

skipSitesWithoutContacts
Wahr oder falschStandard: false

true lässt gelesene Websites ohne Kontakte weg; false behält leere Kontaktzeilen zur Abdeckungsprüfung. Unerreichbare oder gesperrte Seiten sind separate Fehler, kein Nachweis fehlender Kontakte.

maxConcurrency
GanzzahlStandard: 5

1 bis 20 Websites gleichzeitig, Standard 5. Parallelisiert verschiedene Hosts, nicht mehr Seiten derselben Website. Behalten Sie eine Pause je Website bei.

delayMs
GanzzahlStandard: 300

Pause zwischen Anfragen an dieselbe Website in Millisekunden. Andere parallele Websites werden nicht pausiert. Standard 300 ist ein guter Ausgangspunkt.

requestTimeoutSecs
GanzzahlStandard: 20

5 bis 120 Sekunden Wartezeit je Seite, Standard 20. Für langsame Seiten erhöhen, für schnelle Listen senken. Kein Zeitlimit für den ganzen Actor.

proxyConfiguration
ObjektStandard: {"useApifyProxy":false}

Für gewöhnliche öffentliche Unternehmensseiten optional; Standard ohne Proxy. Bei großen Listen oder verweigerten Seiten testen und Fehler nicht als leere Websites einstufen.

Erweiterte Einstellungen und Wiederaufnahme3
resume
Wahr oder falschStandard: true

Speichert den Fortschritt etwa alle 30 Sekunden für Neustarts oder Migrationen durch Apify. Lassen Sie es normalerweise aktiviert.

continueFromLastRun
Wahr oder falschStandard: false

Setzt unerledigte Arbeit des vorherigen Laufs mit passender Eingabe fort. Bisherige Daten bleiben in dessen Dataset. Nutzen Sie false für neue oder regelmäßige Erhebungen.

impersonate
TextStandard: chrome131

Browser-Identität der Anfragen. Behalten Sie den Actor-Standard bei, außer bei der Diagnose sofortiger Sperren. Sie verändert den Fingerabdruck der Anfrage, nicht die angefragten Daten.

Diese Referenz folgt den Eingabefeldern des Actors. Prüfen Sie das aktuelle Formular, bevor Sie einen produktiven Ablauf ändern. Das aktuelle Eingabeformular auf Apify ansehen.

Konfigurationen zum Kopieren.

Jedes Beispiel ist ein eigener Lauf. Beginnen Sie klein, prüfen Sie die Ergebnisse und erweitern Sie dann. Passen Sie Ziele, Länder und Zeiträume an Ihre Frage an.

Eine bestätigte Firmenliste prüfen

Sammle öffentliche Kontakte von vier bekannten Domains mit bis zu acht Seiten je Website. Behalte leere Zeilen für die Abdeckungsprüfung. Ersetze die Beispiele vor dem Start durch deine Rechercheliste.

Eine bestätigte Firmenliste prüfen
{
  "startUrls": [
    "https://apify.com",
    "https://www.iana.org",
    "https://www.python.org",
    "https://www.getdbt.com"
  ],
  "maxPagesPerSite": 8,
  "maxResults": 4,
  "skipSitesWithoutContacts": false
}

Einige Websites gründlicher durchsuchen

Erhöhe das Budget für zwei Domains auf 20 Seiten, wenn Kontakte verteilt sind. Der Actor priorisiert wahrscheinliche Kontaktseiten; auch ein größeres Budget ist ein begrenzter Crawl, nicht jede URL der Website.

Einige Websites gründlicher durchsuchen
{
  "startUrls": ["https://apify.com", "https://www.getdbt.com"],
  "maxPagesPerSite": 20,
  "maxResults": 2,
  "skipSitesWithoutContacts": false,
  "maxConcurrency": 2,
  "delayMs": 500
}

Nur Websites mit Kontakten exportieren

Setze skipSitesWithoutContacts für eine Kontaktliste auf true. Prüfe zuerst einen Lauf mit false: Ohne leere Zeilen ist der Export praktischer, aber die Abdeckung weniger sichtbar.

Nur Websites mit Kontakten exportieren
{
  "startUrls": [
    "https://apify.com",
    "https://www.iana.org",
    "https://www.python.org",
    "https://www.getdbt.com"
  ],
  "maxPagesPerSite": 8,
  "maxResults": 4,
  "skipSitesWithoutContacts": true
}

Ausführen, prüfen, exportieren, wiederholen.

Erwarte einen Datensatz je Website mit Arrays öffentlicher E-Mails, Telefonnummern und Social-Profile. Leere Arrays können fehlende Kontakte, blockierte Seiten oder JavaScript-Inhalte bedeuten, die dieser HTTP-Scraper nicht rendert. Prüfe Logs und Quellen vor Schlussfolgerungen. Verifiziere erratene Domains vor dem Join mit deiner Firmenliste.

  1. Prüfen Sie Dataset und SUMMARY. Vergleichen Sie die Anzahl mit Ihrer Grenze, kontrollieren Sie fehlgeschlagene oder übersprungene Eingaben und einige Quelllinks.
  2. Behalten Sie Original-IDs und ergänzen Sie collected_at und run_id beim Speichern. Nutzen Sie CSV für einfache Spalten und JSON für Listen oder verschachtelte Details.
  3. Speichern Sie die geprüfte Konfiguration als Apify Task und planen Sie sie ein. Lassen Sie continueFromLastRun für regelmäßige Momentaufnahmen auf false. Bereinigen Sie Duplikate anhand der Quell-ID und behalten Sie Beobachtungsdaten.
  4. Warten Sie in Make oder n8n auf einen abgeschlossenen Lauf, lesen Sie dessen Dataset und ordnen Sie Felder Sheets oder dem Warehouse zu. Versorgen Sie Looker Studio über eine Berichtstabelle; nutzen Sie dbt für Transformation und Tests.
  5. Dasselbe JSON funktioniert mit der Actor-API von Apify. Nennen Sie in Claude mit Apify MCP diesen Actor, lassen Sie das Schema prüfen und geben Sie vor dem Start Ziele, Märkte und Grenzen an.

Wiederaufnahme ist keine neue Momentaufnahme

resume schützt den aktuellen Lauf bei einem Neustart durch Apify. continueFromLastRun setzt einen früheren Lauf mit derselben Konfiguration fort; vorhandene Daten bleiben im alten Dataset. Führen Sie beide Datasets zusammen und erhöhen Sie erreichte Grenzen. Starten Sie neu, um heutige Änderungen zu erfassen.

Die Anleitungen für Sheets, Claude, Looker und BigQuery lesen
Diesen Actor über die API starten

Speichere eine Konfiguration oben als input.json. Setze APIFY_TOKEN im Terminal auf deinen Apify-API-Token und sende die Datei als Anfrageinhalt.

Lauf starten
curl --fail-with-body --request POST \
  --url "https://api.apify.com/v2/actors/jmlp~web-contact-scraper/runs" \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header "Content-Type: application/json" \
  --data-binary @input.json

Die Antwort enthält eine Run-ID und defaultDatasetId, keine fertigen Ergebnisse. Warte auf einen erfolgreichen Abschluss, setze DATASET_ID auf diese Dataset-ID und rufe die Einträge ab. Nutze bei großen Datensätzen limit und offset zur Paginierung.

Datensatz abrufen
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Apifys API-Referenz für Start und Export
Optionen für den Datenexport

Wenn die Ergebnisse nicht stimmen.

Ändern Sie jeweils nur eine Einstellung, behalten Sie eine kleine Grenze und prüfen Sie die Zusammenfassung vor einer Erweiterung.

Ein Firmenname hat zur falschen Website geführt.

Website-URLs oder Domains als Zeichenketten oder Objekte mit url. Jeder Standort wird getrennt gescannt. Namen und Profile können zu geratenen Domains werden; nutzen Sie geprüfte Websites.

Eine Website enthält Kontaktdaten, aber das Ergebnis ist leer.

Erwarte einen Datensatz je Website mit Arrays öffentlicher E-Mails, Telefonnummern und Social-Profile. Leere Arrays können fehlende Kontakte, blockierte Seiten oder JavaScript-Inhalte bedeuten, die dieser HTTP-Scraper nicht rendert. Prüfe Logs und Quellen vor Schlussfolgerungen. Verifiziere erratene Domains vor dem Join mit deiner Firmenliste.

Einige eingegebene Websites fehlen im Datensatz.

true lässt gelesene Websites ohne Kontakte weg; false behält leere Kontaktzeilen zur Abdeckungsprüfung. Unerreichbare oder gesperrte Seiten sind separate Fehler, kein Nachweis fehlender Kontakte.

Der Lauf war erfolgreich, hat aber keine Ergebnisse

Erfolg bedeutet, dass der Actor die Anfrage bearbeitet hat, nicht dass die Quelle Daten geliefert hat. Prüfen Sie SUMMARY.inputProblem, SUMMARY.problem und das Protokoll auf fehlende Ziele, ungültige Filter oder verweigerte Anfragen. Testen Sie ein bekanntes Ziel mit weniger Filtern.

Weniger Datensätze als erwartet

Prüfen Sie globale Grenzen, Such- und Seitengrenzen, Abdeckung und Duplikate. Mehrere Suchen können denselben Datensatz finden. Die angezeigte Gesamtzahl der Quelle kann öffentlich nicht verfügbare Datensätze enthalten. Prüfen Sie offene Aufgaben, bevor Sie den Bestand als vollständig ansehen.

Nutze die Ergebnisse in deinen Tools.

Google Sheets

Verknüpfe über normalisierte Domain. Lege Kontaktarrays in eigene Spalten mit Notizen zu bevorzugtem Kanal, Relevanz und Quellen.

Anleitung lesen
Claude + MCP

Lass Claude Kanäle nach Netzwerk ordnen und fehlende oder unklare Datensätze markieren. Ein allgemeines Postfach identifiziert keine Person; Veröffentlichung bestätigt keine Zustellbarkeit.

Anleitung lesen
Looker Studio

Zeige Domains mit E-Mail, Telefon oder LinkedIn. Behalte Fehler im Bericht, um fehlende Daten von fehlenden Kontaktkanälen zu unterscheiden.

Anleitung lesen
BigQuery + dbt

Speichere je Domain und Lauf einen Datensatz mit Zeit. Nutze UNNEST für separate E-Mail-, Telefon- und Profiltabellen und behalte Quellbelege.

Anleitung lesen
Prompt für Claude kopieren
Prompt für Claude + Apify MCP
Prüfe jmlp/web-contact-scraper für https://apify.com mit höchstens acht Seiten pro Website. Ordne öffentliche E-Mails, Telefone und Profile, zitiere Seiten und markiere Fehler oder fehlende Kanäle. Behaupte keine bestätigte Zustellbarkeit.

Diese Felder erhältst du.

Behalte Erfassungszeit und Original-IDs, um die Herkunft eines Ergebnisses zu prüfen oder spätere Läufe zu vergleichen.

Bevor du Schlüsse ziehst

Er sammelt veröffentlichte Kontakte, keine privaten Angaben, und prüft keine Zustellbarkeit. Manche Websites liefern nichts. Prüfe Fehler und Quellen vor einer relevanten Ansprache.

domain / url
Duplikatschlüssel und aufgelöste Website-Adresse.
emails / phones
Öffentlich gelistete Adressen und Telefone.
socials / socials_by_network
Öffentliche Profile mit Netzwerkgruppierung.
has_contact
Zeigt, ob mindestens ein öffentlicher Kontakt gefunden wurde.
pages / pages_crawled
Erfassungsabdeckung und besuchte Seiten.
errors
Zu prüfende Erfassungsprobleme.

Häufige Fragen.

Prüft er die E-Mail-Zustellbarkeit?

Nein. Er extrahiert veröffentlichte Adressen. Zustellbarkeitsprüfung ist ein separater Prozess.

Kann ich Google-Search-Ergebnisse anschließen?

Ja. Prüfe Websites, normalisiere Domains und nutze die geprüfte Liste. Kontrolliere rekonstruierte URLs vor der Weitergabe an andere Crawler.

Quelle und aktuelle Produktdetails: JMLPs Website Contacts Actor auf Apify.

Weitere Scraper,
die du nutzen könntest.

Sprechen wir über
dein Projekt.

Sag mir, was du sammeln oder verstehen möchtest. Ich helfe mit einem individuellen Scraper, einer Pipeline oder der Analyse.

Projekt besprechen