Des signaux d'achat suisses dans Clay et n8n
Clay, n8n, votre séquenceur et votre CRM savent déjà enrichir et acheminer des entreprises. Prospex fournit la liste d'entreprises suisses dont ils ont besoin: les entreprises qui correspondent à votre marché, les raisons de cette correspondance, les données manquantes et l'activité récente.
Ce guide montre comment tirer un marché Prospex en JSON ou CSV et l'exploiter dans Clay ou n8n. Créez le marché et copiez l'URL du flux. Mappez ensuite les champs dont votre workflow a besoin.
Les données d'entreprises suisses sont réparties entre registres, feuilles officielles, bases de marques et sites d'emploi. Prospex combine ces sources avant que la liste n'atteigne votre workflow.
Partir d'un marché
Chaque flux appartient à un marché et reflète les entreprises de son onglet Core ou Explore. Dans /app/markets/, décrivez les entreprises auxquelles vous vendez et ajoutez des clients en exemple. Construisez ensuite le marché. Les correspondances les plus proches apparaissent dans Core, les candidats plus larges dans Explore. Chaque entreprise inclut les raisons de son classement.
Le flux renvoie Core par défaut. Ajoutez ?tab=explore pour Explore. Si l'URL contient déjà une chaîne de requête, ajoutez &tab=explore.
Ouvrez Connect depuis le marché. La page Connect affiche une URL de flux JSON et une URL de flux CSV. Les deux contiennent le même jeton d'accès.
https://prospex.ch/app/markets/feed/{jeton}.json
https://prospex.ch/app/markets/feed/{jeton}.csv
Le jeton intégré dans l'URL assure l'autorisation. Toute personne disposant de l'URL peut lire le marché. Rangez-la dans le coffre de votre automatisation. En cas de fuite, régénérez le jeton depuis la page Connect. L'ancienne URL devient immédiatement invalide.
Le flux JSON
curl -s 'https://prospex.ch/app/markets/feed/{jeton}.json?limit=5'
La réponse contient les métadonnées du marché, les champs de pagination, la consommation et un tableau data. Une réponse abrégée se présente ainsi:
{
"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": [ … ]
}
Chaque élément de data représente une entreprise. Les champs couramment utilisés pour les jointures et les filtres sont au premier niveau. Les événements récents sont imbriqués sous signals.
company_id,company_url: l'identité de l'entreprise et la page qu'un humain ouvre.fitetfit_label:fitest la valeur stable pour les règles d'automatisation (strong,goodoupossible).fit_labelest le libellé traduit destiné aux humains.reasons: pourquoi cette entreprise est dans votre marché, en phrases, une par ligne de l'espace de travail.missing: les faits qui restent à vérifier par Prospex. Un fait manquant ne prouve pas que l'entreprise a échoué au critère.bucket:coreouexplore.pinned,decided,in_crm:pinnedvaut vrai pour une entreprise gardée à la main.decidedvaut vrai quand vous avez accepté ou rejeté l'entreprise.in_crmvaut vrai quand elle a été envoyée dans votre CRM.signal_count,latest_signal_dateetsignals: les derniers événements datés de l'entreprise, chacun avec son type, son titre, sa date, son lien Prospex et sa source d'origine.
Chaque ligne porte aussi les attributs de l'entreprise: 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 et company_audience.
Utilisez company_domain quand l'autre outil est indexé par site web. Utilisez company_uid pour joindre des données du registre suisse.
Distinguer l'adéquation du timing
fit indique pourquoi une entreprise appartient au marché. signals indique ce qui y a changé récemment. Chaque entreprise inclut sa date de dernier signal et jusqu'à trois événements récents. Un événement contient son type, son titre, sa date, son lien Prospex et sa source d'origine.
Utilisez latest_signal_date pour un filtre de récence rapide. Ouvrez le tableau signals imbriqué quand le workflow a besoin de l'événement lui-même. Par exemple, une branche n8n peut envoyer une entreprise à forte correspondance ayant une augmentation de capital récente vers la recherche de compte, avec l'URL source. Une forte correspondance sans événement récent peut rester dans le marché pour une relecture ultérieure.
Suivre next_url pour paginer
Les pages font 100 lignes par défaut et 500 au maximum. Quand il y en a davantage, next_url est une URL absolue complète. Demandez-la et continuez jusqu'à ce que next_url soit vide.
url = "https://prospex.ch/app/markets/feed/{jeton}.json?limit=500"
while url:
page = requests.get(url).json()
yield from page["data"]
url = page["next_url"]
Un curseur est lié à la construction du marché qui l'a créé. Si le marché se rafraîchit entre deux requêtes, l'ancien curseur renvoie 400. Reprenez depuis la première URL du flux pour lire le nouvel ordre.
Clay
Choisissez si Prospex crée la table ou enrichit une table existante.
Créer une nouvelle table depuis Prospex. Récupérez le flux JSON et sélectionnez le tableau data. Créez ensuite une ligne par entreprise. Rafraîchissez la table selon un calendrier pour qu'elle reflète le marché.
Associer Prospex à une table existante. Importez le CSV dans une seconde table, puis faites correspondre sa colonne Domain au domaine de votre table existante. Le CSV fournit une ligne par entreprise avec des en-têtes fixes. Les tableaux sont aplatis en cellules: Reasons utilise des barres verticales et Missing des virgules. Utilisez le JSON quand le workflow a besoin du détail complet des événements.
Prospex fournit l'adéquation et l'activité récente. Clay peut ajouter les personnes et les coordonnées.
n8n
Schedule Trigger → HTTP Request → Split Out sur data.
- Ajoutez un Schedule Trigger.
- Ajoutez un HTTP Request et collez l'URL du flux JSON depuis Prospex.
- Activez la pagination. Utilisez
{{ $response.body.next_url }}comme URL de requête suivante et arrêtez quand{{ $response.body.has_more }}est faux. - Ajoutez Split Out et sélectionnez
data.
Les champs d'entreprise de premier niveau sont désormais disponibles, par exemple avec {{ $json.company_name }} et {{ $json.company_domain }}. L'adéquation se lit avec {{ $json.fit }}. Le champ signals reste un tableau imbriqué. Ajoutez un second Split Out quand le nœud suivant a besoin d'un élément par événement.
Un branchement courant est un nœud IF sur {{ $json.fit }}: acheminez les correspondances fortes vers l'enrichissement de contacts ou la recherche de compte, et envoyez le reste vers une feuille de relecture. Vous pouvez aussi ajouter un Filter sur {{ $json.missing }} contenant website: il envoie les entreprises dont le tableau missing contient website vers une étape de recherche de site.
Limite quotidienne
Un compte peut tirer 5'000 lignes par jour, comptées sur les flux de marché, les téléchargements de signaux et les exports CSV. Lorsque le quota est épuisé, le flux renvoie 429 avec un en-tête Retry-After. La page Connect affiche la consommation du jour et l'heure de réinitialisation. Le budget se réinitialise à minuit Europe/Zurich.
Pour l'instant, interrogez le flux selon un calendrier. La livraison par webhook est prévue.
Le flux de marché s'arrête au niveau de l'entreprise. Ajoutez les contacts et les adresses e-mail avec votre outil d'enrichissement, puis acheminez les fiches qualifiées vers votre séquenceur ou votre CRM. Si vous avez besoin des publications du registre elles-mêmes, consultez les guides API REST Zefix et API FOSC.