Intégrations
Enrichir Zoho CRM gratuitement avec l'API Recherche d'entreprises (SIREN, NAF, effectif)
SIREN, code NAF, effectif, date de création : enrichissez vos comptes Zoho CRM gratuitement avec l'API Recherche d'entreprises, fonction Deluge incluse.
L'essentiel
L'API Recherche d'entreprises de l'État donne gratuitement, sans clé, le SIREN, le code NAF, la tranche d'effectif, la catégorie et l'état administratif d'une entreprise. Une fonction Deluge d'une trentaine de lignes suffit pour remplir ces champs dans Zoho CRM à chaque création de compte. En édition Enterprise, une règle de workflow la déclenche ; dans les éditions inférieures, un webhook ou Zoho Flow prend le relais.
En bref
- Gratuite, sans clé, limitée à 7 appels par seconde, mise à jour chaque jour.
- Recherche par SIREN, ou par nom et code postal.
- L'effectif arrive en code INSEE, à traduire en tranche lisible : 12 veut dire 20 à 49 salariés.
- Les entreprises non diffusibles ne sont pas accessibles.
- Zia enrichit aussi les fiches, mais sans les données du répertoire SIRENE.
Que fournit l'API, et quels champs créer dans Zoho CRM ?
L'API répond à une simple requête GET sur https://recherche-entreprises.api.gouv.fr/search, avec le paramètre q : un SIREN ou un nom d'entreprise. Des filtres affinent la recherche (code postal, département, code NAF, catégorie, état administratif, tranche d'effectif), avec 25 résultats au plus par page.
| Donnée | Champ renvoyé par l'API | Champ à créer dans le module Comptes |
|---|---|---|
| SIREN | siren | SIREN, texte de 9 caractères |
| SIRET du siège | siege.siret | SIRET du siège, texte de 14 caractères |
| Code NAF | activite_principale | Code NAF, texte, par exemple 62.01Z |
| Tranche d'effectif | tranche_effectif_salarie, en code INSEE | Tranche d'effectif, liste de choix |
| Année de l'effectif | annee_tranche_effectif_salarie | Année de l'effectif, texte de 4 caractères |
| Catégorie | categorie_entreprise : PME, ETI ou GE | Catégorie, liste de choix |
| Date de création | date_creation | Date de création, date |
| État | etat_administratif : A pour active, C pour cessée | État administratif, liste de choix |
| Adresse du siège | siege.adresse, siege.code_postal, siege.libelle_commune | Champs d'adresse de facturation existants |
Les codes de tranche d'effectif suivent la nomenclature de l'INSEE : 00 pour 0 salarié, 01 pour 1 à 2, 02 pour 3 à 5, 03 pour 6 à 9, 11 pour 10 à 19, 12 pour 20 à 49, 21 pour 50 à 99, 22 pour 100 à 199, 31 pour 200 à 249, 32 pour 250 à 499, 41 pour 500 à 999, 42 pour 1 000 à 1 999, 51 pour 2 000 à 4 999, 52 pour 5 000 à 9 999 et 53 pour 10 000 salariés et plus. La valeur NN désigne une unité non employeuse.
L'effectif n'est pas celui du jour : c'est celui de l'année indiquée dans annee_tranche_effectif_salarie. Gardez cette année à côté de la tranche, pour que vos commerciaux sachent de quand date le chiffre.
Comment écrire la fonction Deluge ?
La fonction reçoit l'identifiant du compte. Elle cherche par SIREN quand il est connu, sinon par nom et code postal. Par prudence, une recherche par nom ne remplit pas la fiche : elle propose un SIREN, qu'un commercial valide.
// Zoho CRM : fonction liée à une règle de workflow sur les comptes (argument idCompte)
compte = zoho.crm.getRecordById("Accounts", idCompte);
siren = ifnull(compte.get("SIREN"), "").replaceAll(" ", "");
parSiren = siren.length() == 9;
if(parSiren)
{
requete = "q=" + siren;
}
else
{
requete = "q=" + encodeUrl(compte.get("Account_Name")) + "&code_postal=" + ifnull(compte.get("Billing_Code"), "");
}
reponse = invokeurl
[
url :"https://recherche-entreprises.api.gouv.fr/search?" + requete + "&per_page=1"
type :GET
];
resultats = ifnull(reponse.get("results"), list());
if(resultats.size() == 0)
{
info "Aucune entreprise trouvée";
return;
}
entreprise = resultats.get(0);
maj = Map();
if(!parSiren)
{
// Recherche par nom : la fonction propose, un commercial valide
maj.put("SIREN_propose", entreprise.get("siren") + " " + entreprise.get("nom_complet"));
zoho.crm.updateRecord("Accounts", idCompte, maj);
return;
}
if(entreprise.get("siren") != siren)
{
info "SIREN introuvable : " + siren;
return;
}
tranches = {"NN":"Non employeuse","00":"0 salarié","01":"1 à 2","02":"3 à 5","03":"6 à 9","11":"10 à 19","12":"20 à 49","21":"50 à 99","22":"100 à 199","31":"200 à 249","32":"250 à 499","41":"500 à 999","42":"1 000 à 1 999","51":"2 000 à 4 999","52":"5 000 à 9 999","53":"10 000 et plus"};
siege = entreprise.get("siege");
maj.put("SIRET_siege", siege.get("siret"));
maj.put("Code_NAF", entreprise.get("activite_principale"));
maj.put("Tranche_effectif", tranches.get(ifnull(entreprise.get("tranche_effectif_salarie"), "NN")));
maj.put("Annee_effectif", entreprise.get("annee_tranche_effectif_salarie"));
maj.put("Categorie_entreprise", entreprise.get("categorie_entreprise"));
maj.put("Date_creation", entreprise.get("date_creation"));
maj.put("Etat_administratif", if(entreprise.get("etat_administratif") == "A", "Active", "Cessée"));
maj.put("Enrichi_le", zoho.currentdate);
info zoho.crm.updateRecord("Accounts", idCompte, maj);
Quatre points méritent l'attention :
- Les champs personnalisés : créez-les avant d'activer la fonction, avec les noms d'API utilisés dans le code.
- La traduction des tranches : la table tranches convertit le code INSEE en libellé, et chaque libellé doit exister dans la liste de choix.
- Le SIREN proposé : la meilleure correspondance par nom n'est pas toujours la bonne entreprise. Un humain tranche.
- Les crédits d'API : la lecture et la mise à jour du compte consomment des crédits Zoho CRM (API Zoho CRM : crédits, limites et quotas (v8)). L'appel à l'API de l'État, lui, est gratuit.
Pour aller plus loin et noter chaque prospect avec l'IA, voyez l'agent de qualification (Agent IA : qualifier chaque nouveau lead dans Zoho CRM).
Comment déclencher la fonction selon votre édition ?
Les fonctions Deluge dans les règles de workflow demandent l'édition Enterprise. Les éditions inférieures ont deux autres chemins.
| Édition de Zoho CRM | Déclencheur | Où tourne le code |
|---|---|---|
| Enterprise et Ultimate | Règle de workflow sur les comptes | Fonction Deluge dans Zoho CRM |
| Professional | Règle de workflow avec un webhook | Fonction Zoho Catalyst, qui appelle l'API puis met à jour le compte |
| Standard et Professional | Zoho Flow, sur la création d'un compte | Fonction personnalisée en Deluge dans Zoho Flow |
Dans tous les cas, déclenchez à deux moments : à la création du compte, et quand le champ SIREN change. Un SIREN ajouté après coup enrichit ainsi la fiche sans action manuelle.
Zoho Flow est inclus dans Zoho One, et son offre gratuite compte 100 tâches par mois : assez pour tester sur un petit volume. Le détail de ce que chaque édition permet est dans Éditions Zoho CRM : ce que chacune permet techniquement.
Comment enrichir les comptes existants en masse ?
Pour une base déjà remplie, une fonction planifiée reprend les comptes par lots, chaque nuit. Trois règles la rendent sûre :
- Des lots courts. Une fonction planifiée dispose de 15 minutes. Traitez quelques centaines de comptes par passage, repérés grâce au champ Enrichi_le, et reprenez la nuit suivante.
- Un rythme sous la limite de l'API. L'API de l'État accepte 7 appels par seconde. Une boucle séquentielle limite déjà le débit ; un traitement en parallèle doit être bridé.
- Des mises à jour groupées. zoho.crm.bulkUpdate met à jour jusqu'à 100 comptes en un appel, et économise des crédits d'API.
Un ordre de grandeur : 10 000 comptes à 7 appels par seconde demandent près de 24 minutes d'appels, donc au moins deux passages. Au-delà de quelques dizaines de milliers de comptes, passez sur Zoho Catalyst, qui découpe le travail en tâches de 15 minutes et gère les relances (Deluge : dépasser les limites de 10 s, 30 s et 15 min).
Quelles limites connaître, RGPD compris ?
- Les entreprises non diffusibles sont absentes. Un entrepreneur qui a demandé la non-diffusion de ses données n'apparaît pas : sa fiche se complète à la main, avec ce qu'il vous a lui-même donné. Les entreprises dont l'immatriculation au RCS a été refusée sont absentes aussi.
- Les données sont déclaratives et datées. L'effectif et la catégorie correspondent à une année de référence, et la base reflète ce que les entreprises ont déclaré. Elle est mise à jour chaque jour.
- Pas de clé, mais un débit plafonné. Au-delà de 7 appels par seconde, attendez-vous à des refus : prévoyez une nouvelle tentative plutôt qu'un échec définitif.
- Les dirigeants sont des données personnelles. L'API peut renvoyer leurs noms. Les copier dans le CRM les fait entrer dans votre traitement de prospection : gardez seulement ce qui sert, informez les personnes et inscrivez le traitement dans votre registre.
La fonction de cet article ne copie aucun dirigeant : seules des données sur l'entreprise entrent dans la fiche.
API gratuite, Zia ou Pappers : que choisir ?
Trois façons d'enrichir une fiche coexistent dans l'écosystème Zoho. Elles ne fournissent pas les mêmes données.
| Critère | API Recherche d'entreprises | Enrichissement de Zia | Extension Pappers, par Vivasoft |
|---|---|---|---|
| Prix | Gratuit | Inclus dans Zoho CRM, dans la limite d'un quota | Extension payante |
| Édition de Zoho CRM | Toutes, avec le bon déclencheur | Dès Standard | Enterprise et au-delà |
| Volume | 7 appels par seconde | 500 enrichissements par licence, 50 000 au plus | Selon l'offre de l'extension |
| SIREN, code NAF, effectif | Oui | Non | Oui, depuis Pappers |
| Code à écrire | Une fonction | Aucun | Aucun |
Pour une base de clients français, l'API gratuite couvre l'essentiel. Zia complète avec des données venues du web, mais sans le répertoire SIRENE (L'IA dans Zoho : ce que Zia fait et ce qu'il faut construire). L'extension Pappers convient à qui veut une solution prête à l'emploi, sans code, en édition Enterprise. Les autres connecteurs utiles pour une entreprise française sont recensés dans le panorama.
Mettre l'enrichissement en place en quelques heures
Créer les champs, brancher le bon déclencheur selon votre édition, reprendre la base existante : c'est un petit chantier, pas un projet.
Banque d'heures Zoho, par SquadNovia
Nous créons les champs, installons la fonction ou son équivalent pour votre édition, enrichissons vos comptes existants par lots et vous laissons une procédure de contrôle. Des heures prépayées, à utiliser sur ce chantier ou sur d'autres développements Zoho.
Questions fréquentes
L'API Recherche d'entreprises est-elle vraiment gratuite ?
Oui, sans clé ni inscription, dans la limite de 7 appels par seconde.
Peut-on chercher une entreprise sans son SIREN ?
Oui, par son nom, avec un filtre sur le code postal. Mais la meilleure correspondance n'est pas toujours la bonne : faites valider le SIREN proposé.
Pourquoi certaines entreprises sont-elles introuvables ?
Les entreprises non diffusibles, et celles dont l'immatriculation au RCS a été refusée, ne sont pas accessibles par l'API.
Que signifie le code 12 dans la tranche d'effectif ?
20 à 49 salariés, selon la nomenclature de l'INSEE. Le code NN désigne une unité non employeuse.
Faut-il l'édition Enterprise de Zoho CRM ?
Pour une fonction déclenchée par une règle de workflow, oui. En Professional, passez par un webhook et Zoho Catalyst ; en Standard, par Zoho Flow.
Zia ne fait-il pas déjà cet enrichissement ?
Zia enrichit les fiches avec des données du web, mais pas avec le répertoire SIRENE : ni SIREN, ni code NAF, ni tranche d'effectif INSEE.
Sources
Pages consultées le 21 octobre 2026.
- Annuaire des entreprises : code source de l'API de recherche, mise à jour quotidienne
- Documentation des paramètres et des limites de l'API, reprise par le serveur MCP Recherche d'entreprises
- INSEE : codes des tranches d'effectif salarié
- Zoho CRM : comparaison des éditions, PDF
- Zoho CRM : fonctionnalités perdues en passant d'Enterprise à Standard
- Zoho CRM : limites des fonctions
- Zoho Flow : offres
- Marketplace Zoho : Pappers for Zoho CRM