Schweizer Kaufsignale in Clay und n8n
Clay, n8n, Ihr Sequencer und Ihr CRM können bereits Firmen anreichern und weiterleiten. Prospex liefert die Schweizer Firmenliste, die Sie brauchen: Firmen, die zu Ihrem Markt passen, die Gründe für die Übereinstimmung, fehlende Fakten und die jüngste Aktivität.
Dieser Leitfaden zeigt, wie Sie einen Prospex-Markt als JSON oder CSV abrufen und in Clay oder n8n verwenden. Erstellen Sie den Markt und kopieren Sie die Feed-URL. Ordnen Sie danach die Felder zu, die Ihr Workflow braucht.
Schweizer Firmendaten sind über Register, Amtsblätter, Markendatenbanken und Stellenportale verteilt. Prospex kombiniert diese Quellen, bevor die Liste Ihren Workflow erreicht.
Alles beginnt mit einem Markt
Jeder Feed gehört zu einem Markt und spiegelt die Firmen in seinem Core- oder Explore-Tab. Beschreiben Sie unter /app/markets/, an welche Firmen Sie verkaufen, und nennen Sie Beispielkunden. Bauen Sie daraus den Markt. Core enthält die engsten Treffer. Explore enthält die breiteren Kandidaten. Jede Firma enthält die Gründe für ihre Einstufung.
Der Feed liefert standardmässig Core. Hängen Sie ?tab=explore für Explore an. Hat die URL bereits einen Query-String, hängen Sie &tab=explore an.
Öffnen Sie Connect aus dem Markt heraus. Die Connect-Seite zeigt eine JSON-Feed-URL und eine CSV-Feed-URL. Beide enthalten dasselbe Zugriffstoken.
https://prospex.ch/app/markets/feed/{token}.json
https://prospex.ch/app/markets/feed/{token}.csv
Das eingebettete Token übernimmt die Autorisierung direkt über die URL. Jede Person mit der URL kann den Markt lesen. Legen Sie die URL im Zugangsdatenspeicher Ihrer Automatisierung ab. Bei einer Offenlegung erzeugen Sie das Token auf der Connect-Seite neu. Die alte URL wird sofort ungültig.
Der JSON-Feed
curl -s 'https://prospex.ch/app/markets/feed/{token}.json?limit=5'
Die Antwort enthält Markt-Metadaten, Paginierungsfelder, Verbrauch und ein data-Array. Eine gekürzte Antwort sieht so aus:
{
"version": 1,
"market": {"id": 12, "name": "Romandie, 11–50", "refreshed_at": "…"},
"count": 5,
"total": 214,
"has_more": true,
"next_url": "https://prospex.ch/app/markets/feed/…?limit=5&cursor=…",
"usage": {"rows_today": 5, "daily_limit": 5000},
"data": [ … ]
}
Jedes Element in data steht für eine Firma. Felder, die häufig für Verknüpfungen und Filter verwendet werden, liegen auf der obersten Ebene. Jüngste Ereignisse sind unter signals verschachtelt.
company_id,company_url: die Identität der Firma und die Seite, die ein Mensch öffnet.fitundfit_label:fitist der stabile Wert für Automatisierungsregeln (strong,goododerpossible).fit_labelist die übersetzte Beschriftung für Personen.reasons: warum diese Firma in Ihrem Markt ist, in Sätzen, einer pro Zeile des Arbeitsbereichs.missing: Fakten, die Prospex noch nicht verifiziert hat. Ein fehlender Fakt ist kein Beleg dafür, dass die Firma das Kriterium verfehlt hat.bucket:coreoderexplore.pinned,decided,in_crm:pinnedist wahr für eine Firma, die Sie von Hand behalten haben.decidedist wahr, wenn Sie die Firma angenommen oder abgelehnt haben.in_crmist wahr, wenn sie in Ihr CRM gesendet wurde.signal_count,latest_signal_dateundsignals: die letzten datierten Ereignisse der Firma, jedes mit Typ, Titel, Datum, Prospex-Link und Originalquelle.
Jede Zeile enthält ausserdem Firmenattribute: company_name, company_uid, company_website, company_domain, company_canton, company_city, company_sector, company_sector_code, company_sector_group, company_tagline, company_employee_size und company_audience.
Verwenden Sie company_domain, wenn das andere Tool nach Website schlüsselt. Verwenden Sie company_uid, wenn Sie gegen Schweizer Registerdaten verknüpfen.
Passung und Timing trennen
fit sagt, warum eine Firma zum Markt gehört. signals sagt, was sich dort zuletzt geändert hat. Jede Firma enthält ihr letztes Signaldatum und bis zu drei jüngste Ereignisse. Ein Ereignis enthält seinen Typ, Titel, Datum, Prospex-Link und die Originalquelle.
Verwenden Sie latest_signal_date für einen schnellen Aktualitätsfilter. Öffnen Sie das verschachtelte signals-Array, wenn der Workflow das Ereignis selbst braucht. Zum Beispiel kann ein n8n-Zweig eine Firma mit starker Passung und einer kürzlichen Kapitalerhöhung zur Kontorecherche schicken, zusammen mit der Quell-URL. Eine starke Passung ohne jüngstes Ereignis kann zur späteren Durchsicht im Markt bleiben.
next_url folgen, um zu paginieren
Seiten fassen standardmässig 100 Zeilen und höchstens 500. Gibt es mehr, ist next_url eine vollständige absolute URL. Fordern Sie sie an, und fahren Sie fort, bis next_url leer ist.
url = "https://prospex.ch/app/markets/feed/{token}.json?limit=500"
while url:
page = requests.get(url).json()
yield from page["data"]
url = page["next_url"]
Ein Cursor ist an den Markt-Build gebunden, der ihn erzeugt hat. Wird der Markt zwischen Anfragen aktualisiert, gibt der alte Cursor 400 zurück. Beginnen Sie von der ersten Feed-URL, um die neue Reihenfolge zu lesen.
Clay
Entscheiden Sie, ob Prospex die Tabelle erstellt oder eine bestehende anreichert.
Neue Tabelle aus Prospex erstellen. Rufen Sie den JSON-Feed ab und wählen Sie das data-Array. Nutzen Sie jedes Element darin für eine Tabellenzeile. Ein geplanter Abruf hält die Tabelle auf dem Stand des Marktes.
Prospex mit einer bestehenden Tabelle abgleichen. Importieren Sie das CSV in eine zweite Tabelle und gleichen Sie deren Domain-Spalte mit der Domain Ihrer bestehenden Tabelle ab. Das CSV liefert eine Zeile pro Firma mit festen Kopfzeilen. Arrays werden in Zellen abgeflacht: Reasons verwendet senkrechte Striche, Missing Kommas. Verwenden Sie JSON, wenn der Workflow die vollständigen Ereignisdetails braucht.
Prospex liefert Firmenpassung und jüngste Aktivität. Clay kann die Personen und Kontaktdaten ergänzen.
n8n
Schedule Trigger → HTTP Request → Split Out auf data.
- Fügen Sie einen Schedule Trigger hinzu.
- Fügen Sie einen HTTP Request hinzu und setzen Sie die JSON-Feed-URL aus Prospex ein.
- Aktivieren Sie Paginierung. Verwenden Sie
{{ $response.body.next_url }}als nächste Anfrage-URL und stoppen Sie, wenn{{ $response.body.has_more }}falsch ist. - Fügen Sie Split Out hinzu und wählen Sie
data.
Firmenfelder der obersten Ebene stehen jetzt als {{ $json.company_name }}, {{ $json.company_domain }} und {{ $json.fit }} bereit. Das Feld signals bleibt ein verschachteltes Array. Fügen Sie ein zweites Split Out hinzu, wenn der nächste Knoten ein Element pro Ereignis braucht.
Eine häufige Verzweigung ist ein IF-Node auf {{ $json.fit }}: leiten Sie starke Treffer zur Kontaktanreicherung oder Kontorecherche, und senden Sie den Rest in ein Prüfblatt. Eine andere ist ein Filter auf {{ $json.missing }} mit website: er leitet Firmen, deren missing-Array website enthält, an einen Website-Recherche-Schritt weiter.
Tageslimit
Ein Konto darf 5'000 Zeilen pro Tag abrufen, gezählt über Markt-Feeds, Signal-Downloads und CSV-Exporte. Wenn das Kontingent erschöpft ist, antwortet der Feed mit 429 und einem Retry-After-Header. Die Connect-Seite zeigt den heutigen Verbrauch und die Rücksetzungszeit. Das Budget setzt um Mitternacht Europe/Zurich zurück.
Aktuell fragen Sie den Feed nach Zeitplan ab. Webhook-Zustellung ist geplant.
Der Markt-Feed endet auf Firmenebene. Ergänzen Sie Kontakte und E-Mail-Adressen mit Ihrem Anreicherungstool und leiten Sie qualifizierte Datensätze an Ihren Sequencer oder Ihr CRM weiter. Wenn Sie die zugrundeliegenden Registerpublikationen brauchen, finden Sie die Leitfäden zur Zefix-REST-API und zur SHAB-API hier.