search_companies
Recherche d'entreprises francaises par nom, SIREN, activite, et criteres financiers.
REGLE CRITIQUE — include_fields : des qu'un filtre financier OU donnees publiques est utilise, tu DOIS ajouter include_fields avec les champs correspondants. Mappings : dividendes_min→dividendes_verses, nb_marches_min→nb_marches_titulaire,montant_marches_titulaire, nb_subventions_min→nb_subventions,montant_subventions_total, nb_brevets_min→nb_brevets,nb_brevets_actifs, nb_cessions_min→nb_cessions,derniere_cession_date, a_fusionne→a_fusionne, est_societe_mission→est_societe_mission. Sans include_fields, les valeurs filtrees N'APPARAITRONT PAS dans les resultats.
Utiliser cet outil quand l'utilisateur cherche une entreprise par son nom ou veut explorer un secteur.
Recherche de dirigeant : utiliser dirigeant_nom + dirigeant_prenom pour filtrer les entreprises ayant un dirigeant de ce nom. Ajouter dirigeant_naissance (YYYY-MM, granularite mois ; un YYYY-MM-DD est accepte mais le jour est ignore) pour desambiguiser les homonymes. PERIMETRE : ce filtre matche aussi les dirigeants "remontes" depuis une personne morale representee (resolved_from_pm), donc plus large que les seuls mandats directs. Pour l'empreinte corporate DIRECTE d'UNE personne (mandats directs only, desambiguisation au jour pres, sortie centree personne avec le role par societe), preferer search_director_companies. Filtrer par tranche d'age via age_dirigeant_max et advanced_filters (age_dirigeant_min). Accepte aussi les SIRET a 14 chiffres dans le champ query.
Si l'utilisateur demande des informations sur une entreprise par son nom (ex: "donne moi le CA de Vinci"), utiliser d'abord cet outil pour trouver le SIREN, puis utiliser get_company ou get_financials avec le SIREN obtenu. En cas de resultats multiples, privilegier l'entreprise avec le plus grand effectif sauf si le contexte indique clairement une autre cible.
Suivi dans le temps : apres avoir presente les resultats, si la recherche releve d'un besoin recurrent (veille secteur, pipeline de cibles, criteres d'investissement) plutot que d'une question ponctuelle, PROPOSER a l'utilisateur de la sauvegarder via create_saved_search avec les memes filtres (et enable_alert=true s'il veut etre notifie des nouvelles societes qui entreront dans les criteres). Ne pas sauvegarder sans son accord.
FILTRES : les criteres simples (geographie, secteur, effectif, statut, cotation, site web, procedure collective, dates, dirigeants, groupe, financier de base) sont des parametres de premier niveau. Tous les criteres avances - ratios, CAGR multi-annees, postes de bilan, delais de paiement, signaux publics (marches, subventions, brevets, cessions, fusions, ESS, societes a mission, fonds PE/VC), commissaires aux comptes, comptes confidentiels/consolides - vivent dans l'objet advanced_filters, dont le schema liste et type chaque cle. Lire le schema plutot que de deviner : une cle inconnue est desormais rejetee, elle n'est plus ignoree en silence.
Astuce organigramme : pour obtenir l'organigramme complet d'un groupe, d'abord get_company pour recuperer le siren_groupe, puis search_companies avec siren_groupe pour lister toutes les societes du groupe.
TRI : sort_by parmi relevance (defaut), chiffre_affaires, resultat_net, effectif_moyen, date_creation, capital. sort_order parmi asc, desc (defaut desc). Exemples : "les 10 plus gros CA" → sort_by=chiffre_affaires, "top 10 par capital social" → sort_by=capital, "les plus anciennes" → sort_by=date_creation sort_order=asc.
Fonctionnalites NON disponibles actuellement : filtrage par profil LinkedIn des dirigeants. Si l'utilisateur demande ce filtre, indiquer poliment qu'il sera disponible prochainement.
Par defaut retourne 20 resultats (max 20 free / 100 pro par page). La pagination est reservee au plan Pro.
La reponse inclut un champ "_user_plan" ("free" ou "pro") indiquant le plan de l'utilisateur. Adapter le discours en consequence :
Si _user_plan="pro" : ne JAMAIS mentionner de limitations de plan. include_fields limite a 10 champs par recherche.
Si _user_plan="free" : include_fields est limite a 3 champs maximum par recherche. Tous les champs sont accessibles, mais limites en nombre. Choisir les 3 plus pertinents pour la question. Si des champs sont ignores, ils apparaitront dans include_fields_skipped.
Retourne : siren, denomination, code_ape, code_ape_lib, ville, departement, region, effectif, statut, date_creation, forme_juridique, est_filiale, groupe_parent + les champs demandes via include_fields. Si besoin d'historique multi-annees, enchainer avec get_financials.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre de resultats par page (defaut 20, max selon plan) | |
| query | Yes | Nom, SIREN, mot-cle activite, ou "*" pour rechercher uniquement par filtres | |
| ville | No | Nom de ville. Plusieurs villes separees par virgule. Ex: "Paris,Lyon,Bordeaux" | |
| ca_min | No | CA minimum en euros. Ex: 5000000 pour 5M | |
| cursor | No | Curseur de pagination retourne dans next_cursor de la reponse precedente. Ne pas fournir pour la premiere page. | |
| radius | No | Rayon de recherche en km (1-200) autour de latitude/longitude. Les trois vont ensemble : un triplet incomplet est refuse. | |
| region | No | Region. Ex: "Ile-de-France", "Bretagne", "Auvergne-Rhone-Alpes" | |
| statut | No | Filtre par statut au registre. DISSOLVED = dissoute ou radiee ; une societe en procedure collective reste ACTIVE jusqu'a sa radiation. Le statut ne se deduit PAS de date_radiation, absente sur environ 9,9M des 12,4M societes dissoutes. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| sort_by | No | Tri des resultats. Par defaut "relevance". Ex: "chiffre_affaires" pour trier par CA. | |
| code_naf | No | Code NAF/APE. Exemples courants : - SaaS/Logiciel : 5829C, 6201Z, 6202A - Conseil IT : 6202A, 6209Z - Conseil management : 7022Z - Fintech : 6419Z, 6499Z - Biotech/Pharma : 2120Z, 7211Z - E-commerce : 4791A, 4791B - BTP : 4120A, 4120B - Restauration : 5610A, 5610C Plusieurs codes separes par virgule. | |
| is_cotee | No | true pour les societes cotees en bourse uniquement, false pour les exclure | |
| latitude | No | Latitude du centre pour une recherche par rayon (WGS84). A fournir avec longitude ET radius. | |
| longitude | No | Longitude du centre pour une recherche par rayon (WGS84). A fournir avec latitude ET radius. | |
| sort_order | No | Ordre de tri. Par defaut "desc". Ex: "asc" pour les plus petits CA en premier. | |
| cagr_ca_min | No | Croissance CA min sur 1 an en % (ex: 20 pour +20%) | |
| code_postal | No | Code postal du siege. Ex: "75001", "69001". Plusieurs separes par virgule. | |
| departement | No | Code departement. Ex: "75", "33", "69" | |
| est_filiale | No | true = filiales uniquement, false = entreprises independantes uniquement | |
| has_website | No | true pour ne retourner que les entreprises ayant un site web | |
| effectif_min | No | Effectif minimum (nombre de salaries) | |
| filter_annee | No | Annee de l'exercice financier. Filtre les entreprises dont le dernier bilan publie correspond a cette annee. Ex: 2024 pour ne voir que les bilans 2024. Combiner avec ca_min pour "societes ayant fait 5M de CA en 2024". | |
| siren_groupe | No | SIREN de la tete de groupe. Retourne toutes les societes du meme groupe. Ex: "352383715" pour lister toutes les filiales de LVMH. | |
| dirigeant_nom | No | Nom de famille du dirigeant (recherche exacte). Ex: "GUILLEMOT". Combine avec dirigeant_prenom et dirigeant_naissance pour desambiguiser les homonymes. | |
| groupe_parent | No | Nom du groupe parent (recherche textuelle). Ex: "LVMH", "Bouygues" | |
| plan_en_cours | No | Societes executant un plan (redressement, sauvegarde ou cession). Distinct de procedure_collective : sous plan, la periode d'observation est terminee. | |
| include_fields | No | REQUIS des qu'un filtre financier est utilise. Champs financiers a inclure dans chaque resultat (CSV). Mapping filtre→champ : dividendes_min→dividendes_verses, tresorerie_min→tresorerie, dettes_financieres_min→dettes_financieres, dettes_fournisseurs_min→dettes_fournisseurs, ebitda_min→ebitda, marge_nette_min→marge_nette, marge_ebitda_min→marge_ebitda. Autres champs include_fields : ca, marge_brute, valeur_ajoutee, resultat_exploitation, resultat_net, total_actif, capitaux_propres, dette_nette, bfr, ratio_endettement, capacite_autofinancement, delai_paiement_clients_jours, delai_paiement_fournisseurs_jours, effectif_moyen, croissance_ca, croissance_ca_2ans, croissance_ca_3ans, croissance_ca_5ans, croissance_ebitda, croissance_ebitda_2ans, croissance_ebitda_3ans, croissance_ebitda_5ans, croissance_rn, croissance_rn_2ans, croissance_rn_3ans, croissance_rn_5ans, annee_financiere. Champs groupe (donnees publiques, disponibles sur tous les plans) : est_filiale, est_tete_de_groupe, groupe_parent, siren_groupe, nb_filiales_directes, societe_mere_etrangere. Champs cessions BODACC (donnees publiques) : nb_cessions, derniere_cession_date. Champs signaux BODACC (donnees publiques) : a_fusionne, nb_modifications_capital, nb_transferts_siege, nb_changements_denomination. Champs marches publics (donnees publiques DECP) : nb_marches_titulaire, montant_marches_titulaire. Champs subventions (donnees publiques) : nb_subventions, montant_subventions_total. Champs brevets (donnees publiques INPI) : nb_brevets, nb_brevets_actifs. Champs salons (donnees publiques) : nb_participations_salons. Champs ESS/Mission (donnees publiques) : est_societe_mission, est_ess. Champs participation de fonds (PE/VC) : a_fonds, nom_fonds, siren_fonds, type_fonds, annee_entree_fonds, nb_fonds_actuels. Champs LEI & provenance (cotees) : a_lei, lei, source_esef, source_gleif. Champs compteurs structuraux : nb_dirigeants, nb_etablissements, nb_representants_actifs, nb_fonds_actuels, nb_instruments_financiers. Champs evenements BODACC additionnels : nb_evt_modif_admin. Champs fraicheur evenementielle : derniere_evt_date, dernier_depot_date, dernier_marche_date. Mapping filtre avance→include_fields : capitaux_propres_min→capitaux_propres, total_actif_min→total_actif, dette_nette_min→dette_nette, bfr_min→bfr, resultat_exploitation_min→resultat_exploitation, ratio_endettement_min→ratio_endettement, nb_cessions_min→nb_cessions, nb_marches_min→nb_marches_titulaire, nb_brevets_min→nb_brevets. Sur le plan gratuit : seuls ca, resultat_net, effectif_moyen, croissance_ca, annee_financiere + les champs groupe + les champs BODACC/marches/subventions/brevets/salons/ESS sont disponibles. Verifier _user_plan dans la reponse pour connaitre le plan. Ex: filtre dividendes_min → include_fields="dividendes_verses" | |
| tresorerie_min | No | Tresorerie minimum en euros | |
| advanced_filters | No | ||
| dirigeant_prenom | No | Prenom du dirigeant. A utiliser avec dirigeant_nom. Ex: "Yves" | |
| resultat_net_min | No | Resultat net minimum en euros | |
| age_dirigeant_max | No | Age maximum des dirigeants (annees). Ex: 50 pour moins de 50 ans. Filtre si au moins un dirigeant correspond. | |
| appartient_groupe | No | true = uniquement les societes appartenant a un groupe : filiales declarees OU soupcon de groupe fort (groupe_pont probable). Complement exact de independant_strict (ne pas envoyer les deux en meme temps). | |
| date_creation_min | No | Date de creation minimum (ISO). Ex: "2021-01-01" pour les entreprises creees apres 2021 | |
| groupe_pont_siren | No | SIREN de la tete de groupe INFEREE (soupcon de groupe via dirigeant-pont). Retourne toutes les societes rattachees au meme groupe soupconne (non declare). A distinguer de siren_groupe (lien capitalistique declare). | |
| est_tete_de_groupe | No | true = uniquement les tetes de groupe | |
| independant_strict | No | true = uniquement les societes reellement independantes : exclut les filiales declarees ET les societes avec un soupcon de groupe fort (groupe_pont probable). Les soupcons plus faibles (possible/soupcon) ne sont pas exclus. | |
| dirigeant_naissance | No | Naissance du dirigeant pour desambiguiser les homonymes, granularite mois : format YYYY-MM. Ex: "1975-03" (un YYYY-MM-DD est accepte mais le jour est ignore). Pour une desambiguisation au jour pres, utiliser search_director_companies. | |
| procedure_collective | No | Procedure collective EN COURS (etat courant, pas l'historique). Valeurs: "liquidation", "redressement", "sauvegarde", "conciliation", "autre", "plan_redressement", "plan_sauvegarde", "plan_cession". Plusieurs separes par virgule. Une procedure cloturee ne matche pas : les societes dont la liquidation est close en sont exclues. | |
| societe_mere_etrangere | No | true = filiales de groupes etrangers uniquement |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| _user_plan | No | ||
| pagination | No | ||
| upgrade_hint | No | ||
| _quota_remaining_month | No | ||
| _quota_remaining_today | No | ||
| include_fields_skipped | No |