MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

io.insourcia/insourcia

Search French companies: financials, directors, ownership, M&A and insolvency events.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
307 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
21

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 307 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name Insourcia.

  • Pass
    Lists tools

    tools/list returned 21 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 307 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 307 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    121 of 159 parameters have a description (76%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-08-27T15:15:06.40087Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using io.insourcia/insourcia

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http io-insourcia-insourcia https://mcp.insourcia.io/mcp

Capabilities

Tools 21

create_saved_search

Création d'une recherche sauvegardée pour l'utilisateur, visible dans l'app Insourcia (page /news - Veille). Utiliser cet outil quand l'utilisateur veut SAUVEGARDER une recherche pour la suivre dans le temps (veille marché, suivi d'un secteur, pipeline de cibles) - pas pour une recherche ponctuelle (utiliser search_companies). Fonctionnement : - Les filtres acceptés sont les MÊMES que search_companies (query texte libre + filtres geographie/secteur/financier/dirigeants + advanced_filters JSON). Au moins un critère est requis. - Idempotent : si une recherche sauvegardée ACTIVE du même nom existe déjà pour l'utilisateur, elle est renvoyée telle quelle (already_exists=true), sans doublon et sans modifier son alerte. - Alerte quotidienne ACTIVE PAR DÉFAUT (enable_alert=false pour s'en passer) : elle notifie l'utilisateur (page /news + email) quand de NOUVELLES sociétés entrent dans les critères de la recherche. À la creation, une notification initiale récapitule les 90 derniers jours ; ensuite seules les entrées futures déclenchent. - Alerte refusée (watch_limit_reached) seulement au garde-fou technique de sociétés suivies. Réponse : { id, name, url (page /news), result_count (nombre de sociétés matchant actuellement, null si indisponible), filters (filtres normalisés stockés, absent sur le hit idempotent), already_exists, alert_enabled }.

Discovered
get_account

Compte et régime de facturation : billing_model=credits et bloc credits (solde, crédits offerts du mois, expiration) ; sans billing_model, quota d'unités (« au quota » des coûts) : plan, sociétés restantes sur 24 h et 30 jours. Ne consomme rien.

Discovered
get_company

Fiche complète d'une société française identifiée par son SIREN. Le paramètre sirens sert jusqu'à 10 fiches en une requête. COÛT en crédits : 1 par société servie, presse incluse ; score et estimation 5 chacun (abonnements) ; même société relue sous 24 h : 0 crédit ; un lot coûte comme N appels ; au quota : 1 unité par société distincte. Contenu : 1. Identité - forme juridique, dates de création et d'immatriculation, date_cloture_exercice, capital, siege complet, activite (NAF, objet_social, description), effectif, LEI si présent ; successeur si radiée. 2. Financier - date_cloture et type_bilan (K consolidé, C social, S simplifié : un CA K n'est pas comparable à un CA C), CA, croissance, résultat net, marges, EBITDA, dette nette, effectif moyen. 3. Contact - site web et page LinkedIn de la société. 4. Gouvernance - dirigeants principaux. 5. IFRS - agrégats consolidés des cotées. 6. Signaux - cotation, procédures collectives, fusions, modifications de capital, transferts de siege, changements de denomination, ESS, société à mission, dernier dépôt, radiation. 7. Score crédit - grade AAA à D, probabilités de défaut 3/6/12 mois, facteurs ; détail dans get_credit_risk. Null si non scorée. En crédits : sur include_fields seulement. 8. Cessions - historique (date, type, cédant, cessionnaire, prix). 9. Données publiques - marchés publics, subventions, brevets, salons. 10. Estimation financière (compte de résultat confidentiel seulement ; voir inclure_estimation) - fourchette de CA, confiance, tranche de marge d'EBE, probabilité de déficit. C'est une ESTIMATION : la présenter comme telle, jamais comme un chiffre déposé. 11. Presse - actualite_presse : 5 derniers articles. Pour approfondir : get_financials (historique), get_directors (mandats), get_events (annonces BODACC), get_company_graph (structure).

Discovered
get_company_graph

Cartographie des entités autour d'UNE société (par SIREN) : graphe orienté construit sur les mandats RCS/RNE et les liens de groupe. Pour la structure d'un groupe : holdings, filiales, sociétés sœurs, dirigeants communs. Complémentaire de get_directors (mandats d'une société) et de search_director_companies (mandats directs d'un dirigeant). Réponse : nodes[] (entreprises "co:<siren>", personnes "pp:<nom>|<prenom>|<AAAA-MM>", parents étrangers "co:ext:<slug>") et edges[] orientées : - mandat_pm : société dirigeante -> société dirigée - filiale : mère -> filiale (associé unique RNE) - parent_ultime : parent ultime (GLEIF) -> société - mandat_pp : personne -> société dirigée À savoir : - Pas de pourcentage de détention. Les commissaires aux comptes sont exclus. - depth=1 (défaut) : liens directs. depth=2 : expansion depuis les parents et sociétés dirigeantes, jamais depuis les filiales. - Les dirigeants de la racine tirent leurs autres sociétés (holdings personnelles, SCI, structures sœurs). expand_persons=false donne un graphe purement capitalistique. Un mandataire professionnel (plus de 50 mandats, ou cabinet comptable) n'est pas étendu : voir meta.truncated.hub_directors. - Plafonds par nœud et max_nodes : meta.truncated signale un graphe partiel. Filtres : include_personnes, include_sci, include_ceased, expand_persons. La racine n'est jamais filtrée. Pour plusieurs sociétés, le paramètre sirens sert 3 graphes en une requête (2 en depth=2), à depth=1 par défaut : une traversée coûte 3 à 5 secondes et ne se parallélise pas. COÛT en crédits : 1 par société demandée, 2 en depth=2, à la profondeur servie (1 par défaut), jamais pour les nœuds ; même société relue sous 24 h : 0 crédit ; au quota : 1 unité par société distincte.

Discovered
get_credit_risk

Score de risque crédit d'UNE société française (par SIREN). Retourne le grade de risque (AAA -> D), la probabilité de défaut à 3/6/12 mois (taux du grade, master-scale), la position de la société dans la fourchette de son grade (bas / milieu / haut) et les facteurs principaux (5 par défaut, jusqu'à 10 avec factors_limit). Chaque facteur porte son sens (aggravant / atténuant), son poids (part de l'écart au risque moyen, 0 à 1) et la valeur de la société quand elle est affichable ; other_factors regroupe le reste. En crédits : réservé aux abonnements, 5 crédits par société scorée, même société relue sous 24 h : 0 crédit. Au quota : 1 unité par société distincte, ouvert à tous. Réponses possibles : - société scorée : { scorable:true, risk:{ grade, grade_default_rate, grade_position, factors, other_factors, coverage, as_of, model } } - société non scorée (pas de comptes récents) : { scorable:false, risk:null } - SIREN inconnu : erreur 404. Cas d'usage : risque fournisseur, due diligence. Pour scorer un portefeuille, le paramètre sirens rend jusqu'à 10 scores en une requête.

Discovered
get_directors

Détail des dirigeants d'une société avec structure hiérarchique. Retourne les dirigeants classés par importance (décisionnaires en premier). Deux types d'entrées : - **PP** (personne physique) : nom, prenom, role, annee de naissance, date_debut_mandat, date_fin_mandat, linkedin_url - **PM** (personne morale) : denomination, SIREN, role, date_debut_mandat, date_fin_mandat, avec un tableau représentants[] listant les personnes physiques qui la représentent (nom, prenom, role dans la PM, dates de mandat) Inclut les commissaires aux comptes (role="CAC") avec leur date de debut/fin de mandat. Utile pour identifier le mandataire actif vs sortant. linkedin_url est le profil LinkedIn de la personne physique, présent uniquement quand un profil a été apparié avec certitude (nom + prénom + date de naissance). La clef est absente quand aucun profil n'est confirmé : c'est le cas courant, pas une anomalie. Par défaut, seuls les mandataires actifs sont retournés. Utiliser include_inactive=true pour inclure l'historique. Pour plusieurs sociétés, le paramètre sirens sert jusqu'à 10 sociétés en une requête. Le lot rend les 20 premiers mandataires de CHAQUE société et signale celles qu'il a tronquées : limit et offset n'ont pas de sens sur dix sociétés à la fois, et l'appel unitaire reste là pour dérouler l'historique complet d'une seule. COÛT en crédits : 0,5 par société servie, même société relue sous 24 h : 0 crédit ; au quota : 1 unité par société distincte.

Discovered
get_events

Timeline unifiée des événements d'UNE société (par SIREN). Flux chronologique décroissant qui réunit : - une ligne par annonce BODACC de modification (forme juridique, dirigeants, siege, activite, capital, denomination, dissolution), avec libellé, sous_type et source_url vers l'avis officiel ; - une ligne par dépôt des comptes (un par exercice) et par immatriculation ; - les cessions (y compris côté cédant d'une vente) et les procédures collectives ; - la radiation, l'augmentation de capital, la creation ; - une ligne par année de marchés publics, les subventions ; - sur 12 mois, les mouvements de dirigeants (dirigeant_entry, dirigeant_exit, dirigeant_change), les changements de note crédit (changement_note) et de dénomination (changement_denomination), et les transferts de siège et changements d'activité SIRENE (modification_administrative, avec un libellé explicite). Pour plusieurs sociétés, le paramètre sirens sert jusqu'à 10 timelines en une requête, 20 événements par société et sans pagination. Pour de la prospection multi-SIREN sans liste de départ, utiliser search_events. COÛT en crédits : 0,5 par société servie, même société relue sous 24 h : 0 crédit ; au quota : 1 unité par société distincte.

Discovered
get_financials

Historique financier détaillé d'une société sur plusieurs exercices. COÛT en crédits : 1 par société servie, 2 en detail=full ; même société relue sous 24 h : 0 crédit ; au quota : 1 unité par société distincte. Réponse de ~10 à 45 Kio. Dernier exercice seul : search_companies en include_fields. Pour plusieurs sociétés, le paramètre sirens sert jusqu'à 10 historiques en une requête (3 en detail=full). Le lot part en compact sauf demande explicite, et ne pagine pas. Niveau de détail : - compact (~40 champs par exercice) : compte de résultat complet, bilan abrégé PCG, ratios (trésorerie, dette nette, BFR, marges, endettement, CAF, délais de paiement), dividendes, effectif moyen. - full (~140 champs) : tous les postes ; au quota, abonnements seuls (403 sinon). - fields : ajoute quelques champs à compact sans gonfler la réponse, ex fields=["roe","bfr_jours_ca","autonomie_financiere"]. Plus de 130 disponibles : ratios, postes détaillés, immobilisations brutes, réserves, croissances (cagr_ebitda_3ans...). type_bilan : K consolidé, C social, S simplifié. Quand la fenêtre mélange plusieurs types, un seul est gardé et type_bilan_mixte l'indique ; type_bilan force un type. Les cotées ont en plus un bloc ifrs. Compte de résultat confidentiel : ni CA ni EBE déposé. Abonnements : inclure_estimation=true ajoute estimation_financiere (fourchette de CA et d'EBE, confiance, tranche, proba de déficit) et estimation_financiere_exercices, des montants ESTIMÉS jamais déposés, 5 crédits par société ; sans abonnement, sections_skipped (403 au quota) ; sinon estimation_disponible seul. dividende_estime est aussi une estimation. Rendu : _layout décrit par section l'ordre PCG des lignes, leur libellé (line.label), leur indentation (level) et leur nature (kind) ; exercices[annee][line.key] porte la valeur, null = poste absent. not_applicable_pcg signale un bilan de banque ou d'assurance. Montants en euros.

Discovered
get_news

Veille quotidienne de l'utilisateur : le fil d'actualité de ses sociétés surveillées, tel qu'il apparaît sur la page /news de l'app Insourcia. Utiliser cet outil pour répondre à "quoi de neuf sur ma veille ?", "qu'est-ce qui a bougé sur mes sociétés ?", "résume-moi ma veille de la semaine", ou avant de rédiger un point hebdomadaire. Contenu : les alertes réellement délivrées (email/push) ET l'activité des sociétés des listes de veille (changements de dirigeants, annonces BODACC : procédures collectives, cessions, radiations..., articles de presse), fusionnées et dédupliquées, les plus récentes d'abord. Couvre toutes les listes de l'utilisateur, tous espaces confondus (source.espace indique lequel). Chaque ligne est HYBRIDE : "label" donne la phrase française prête à lire (identique à l'app) et "type"/"before"/"after"/"siren"/"date" donnent les champs structurés pour filtrer ou raisonner. "date" est le jour de DÉTECTION (axe de fraîcheur) ; "effective_date", quand présent, est la date d'effet juridique. unread_only=true ne renvoie que ce que l'utilisateur n'a pas encore lu. "read_key" identifie chaque ligne : la passer à mark_news_read pour la marquer lue. truncated=true signale plus de signaux que la limite demandée ; since_days et event_types permettent de resserrer (pas de pagination sur ce fil). Si counts_are_partial=true, "total" et "unread_count" sont des PLANCHERS et non des totaux : le fil est composé sur une fenêtre bornée (les 100 dernières notifications et les 100 derniers événements), et cette fenêtre était pleine. hidden_by_plan, quand présent, compte les signaux non retournés parce que le plan actuel ne donne accès qu'aux 10 signaux les plus récents, exactement comme la page /news. Un fil ainsi tronqué n'est pas complet, et hidden_by_plan dit de combien. Réponse : { news: [...], total, unread_count, last_seen_at, since_days, truncated, url (page /news) }. news vide = aucun signal sur la période, ce n'est pas une erreur.

Discovered
list_saved_searches

Liste des recherches sauvegardées de l'utilisateur (page /news - Veille de l'app Insourcia). Utiliser cet outil : - AVANT create_saved_search, pour vérifier qu'une veille équivalente n'existe pas déjà et éviter les doublons de nom. - Pour répondre à "quelles veilles ai-je ?" / "quelles sont mes recherches sauvegardées ?". Réponse : { saved_searches: [{ id, name, filters (filtres normalisés stockés), result_count (nombre de sociétés matchant, null si indisponible), alert_enabled (alerte quotidienne nouvelles sociétés active ou non), url (page /news), created_at }], total }. Les recherches sont triées de la plus récente à la plus ancienne. Liste vide = aucune veille configurée.

Discovered
list_watched_companies

Liste des sociétés surveillées par l'utilisateur dans ses listes de veille (page /lists de l'app Insourcia). Utiliser cet outil : - AVANT watch_company, pour vérifier si une société est déjà surveillée et connaître les listes existantes (leur nom exact). - Pour répondre à "quelles sociétés je surveille ?" / "qu'y a-t-il dans ma liste X ?". list_name (optionnel) restreint à une liste précise (nom exact). Sans list_name, toutes les listes de l'utilisateur sont retournées. Un list_name qui ne matche aucune liste renvoie companies: [] et total: 0 (ce n'est pas une erreur : simplement aucune société surveillée sous ce nom). Réponse : { companies: [{ siren, company_name, naf_code, region, list_id, list_name, added_at }] (aplaties toutes listes confondues, plus récentes d'abord), lists: [{ id, name, company_count, alert_enabled, monitoring }], total, url (page /lists) }.

Discovered
mark_news_read

Marque comme lus des signaux précis de la veille de l'utilisateur (page /news de l'app Insourcia). Utiliser cet outil quand l'utilisateur indique avoir traité des signaux ("ok j'ai vu", "marque-les comme lus"). Fonctionnement : - Prend les "read_key" renvoyées par get_news, telles quelles ; leur format varie selon le type de signal et n'est pas reconstructible. - Idempotent : une clé déjà lue est ignorée (comptée dans already_read), sans erreur ni doublon. - Marquage cible uniquement : il n'existe volontairement pas de "tout marquer lu" via l'API, pour ne pas effacer par erreur la file de tri de l'utilisateur. - N'efface rien : la ligne reste visible dans l'app, elle passe simplement de "nouveau" à "lu". - Ne modifie pas la date de dernière visite de l'utilisateur sur /news. Réponse : { marked_read, already_read, unread_remaining, url (page /news) }.

Discovered
resolve_companies

Rapprochement EN LOT de fiches mal identifiées (CRM, tableur, export CSV) vers leur SIREN. À utiliser pour une LISTE de sociétés à identifier ("retrouve les SIREN de ces 200 clients"). Pour UNE société cherchée par son nom, search_companies, qui rend des résultats classés ; celui-ci rend une décision, et refuse de trancher quand il n'est pas sûr. Chaque fiche revient avec un status : - resolved : SIREN certain. - review : plusieurs candidats plausibles ou nom trop générique ; les candidats sont retournés et le choix revient à l'utilisateur. - no_match : aucune correspondance. reason explique un review : ambiguous_candidates, weak_name_overlap, shared_domain (site partagé par un réseau ; domain_company_count dit combien de sociétés, fournir un nom ou un code postal), missing_name, invalid_domain, domain_no_match, lookup_failed (panne à rejouer, PAS une absence de correspondance). Conseils : domain (domaine ou URL) résout seul quand il désigne une seule société. Le code postal double quasiment le taux de rapprochement. Un mot en trop dans le nom ("Carrefour Massy") nuit plus qu'un nom tronqué. Un siren, siret ou numéro de TVA français est résolu sans recherche. COÛT en crédits : 0 (limite par minute seule) ; au quota : 1 unité par société distincte fournie (records[].siren) ou résolue. Retourne results[] (ordre d'entrée, avec l'id fourni) et summary{total, resolved, review, no_match}.

Discovered
reveal_director_email

Révèle l'email PROFESSIONNEL d'un dirigeant identifié (après get_directors). Qui paie est choisi automatiquement, paid_with le dit : - un compte FullEnrich, Dropcontact, Apollo ou Lusha connecté dans les paramètres Insourcia, s'il y en a un (paid_with=connected_account ; provider dit lequel) ; - sinon (paid_with=insourcia_included), les crédits de l'organisation ; au quota, les révélations incluses à l'abonnement (épuisées : coordinate_credits_exhausted). En crédits, abonnements seuls (subscription_required) ; ni l'un ni l'autre : no_payment_source. COÛT, crédits Insourcia : 100 par email vérifié trouvé ; rien si rien n'est trouvé ou si l'adresse n'est pas prouvée (catch-all, paid_with=insourcia_unproven), ni pour relire un dirigeant déjà révélé dans les 3 mois. Solde insuffisant : insufficient_credits. COÛT, compte connecté : aucun crédit Insourcia ; 1 crédit de ce compte par email trouvé, catch-all compris. Rien si rien n'est trouvé (sauf Lusha et Apollo : un crédit peut être débité dès que la personne est trouvée, même sans email), ou si ce dirigeant a déjà été révélé (3 mois chez FullEnrich, 15 minutes chez Apollo et Lusha). Erreurs : connected_account_key_invalid (à reconnecter), connected_account_out_of_credits. OUTIL UNITAIRE, sans variante par lot : boucler sur une liste consomme des crédits et déclenche une limite horaire. deliverability_proven=false : domaine catch-all, boîte non prouvée. email=null (not_found, rejected_by_verification) : inutile de réessayer. Nom hors get_directors : refusé sans frais (not_a_director). Avec Dropcontact, ou sans profil LinkedIn connu, l'outil rend status="pending" et un retrieval_token ; le rappeler avec ce SEUL paramètre après retry_after_seconds, tant que pending (jeton valable 15 min, sans frais). Ni téléphone ni email personnel. L'appelant devient responsable de traitement : informer la personne au premier contact (_notice), respecter toute opposition. Reconstituer un fichier est interdit.

Discovered
search_companies

Recherche de sociétés françaises par nom, SIREN/SIRET, activite ou critères (géographie, secteur, effectif, financier, dirigeants). Pour une société citée par son nom : trouver le SIREN ici, puis get_company ou get_financials. Effectif et statut départagent les homonymes. - Le siren est dans chaque résultat : ne pas les repasser par resolve_companies (fiches sans identifiant). - Valeurs : include_fields, jusqu'à 20 champs (5 au quota), facturés selon leur classe ; réservés (abonnements, fiche) : include_fields_reserved. Nom inconnu : include_fields_unknown. Historique multi-années : get_financials. - Filtres simples au premier niveau, les deux bornes côte à côte (effectif_min et effectif_max ; idem ca, resultat_net, tresorerie, cagr_ca, date_creation, age_dirigeant). Critères avancés (ratios, CAGR, bilan, délais, signaux publics, fonds, CAC, comptes) dans advanced_filters ; une clé inconnue est rejetée (400). - Dirigeant : dirigeant_nom + dirigeant_prenom (+ dirigeant_naissance). Inclut les dirigeants remontés via une personne morale ; mandats directs d'une personne : search_director_companies. - Tri : sort_by (relevance, chiffre_affaires, resultat_net, effectif_moyen, date_creation, capital) et sort_order. - Cessions : le filtre nb_cessions_min (advanced_filters) repère les sociétés à lire dans get_events. 20 résultats par page max ; pagination par cursor (au quota : abonnements), 1 000 résultats par recherche (au-delà : 400 search_depth_exceeded) ; total exact. COÛT en crédits : 0,1 par résultat, +0,1 par champ public servi (2 au plus par résultat), +5 par donnée Insourcia (score, dividende estimé, site internet...), une fois par groupe (abonnements) ; au quota : 1 unité par recherche ; la réponse donne _user_plan et le solde. Pour suivre la recherche dans le temps : create_saved_search. Retourne l'identité de base de chaque société (siren, denomination, NAF, localisation, effectif, statut) + include_fields.

Discovered
search_director_companies

Mandats directs d'un dirigeant : toutes les sociétés où il exerce un mandat direct, le dirigeant étant identifie de façon non ambiguë par nom + prénom + date de naissance exacte. C'est le pivot "personne -> sociétés", complément de search_directors (trouver la personne) et get_directors (dirigeants d'une société). Cas d'usage M&A : tracer le périmètre de sociétés d'un fondateur/dirigeant (holdings, SCI, filiales) sans confondre les homonymes. Paramètres TOUS REQUIS : nom, prenom, date_naissance (format YYYY-MM-DD). La date de naissance est obligatoire : c'est elle qui distingue la bonne personne de ses homonymes. L'obtenir au préalable via search_directors ou get_directors (champ date_naissance). Réponse : dirigeant { nom, prenom, date_naissance, annee_naissance } + data[] = entreprises { siren, denomination, role, ville, departement, code_ape, forme_juridique } + pagination { total, returned, limit }. Résultat vide = aucun mandat direct trouvé pour cette identité exacte (vérifier la date_naissance). Note : ne couvre que les mandats DIRECTS de la personne physique (exclut les dirigeants remontés depuis une PM représentée, resolved_from_pm). C'est la différence de périmètre avec search_companies(dirigeant_nom/prenom/naissance), qui filtre plus large (inclut ces remontées, granularité mois) et retourne des sociétés, pas les mandats directs d'un dirigeant. Pour la structure de détention capitalistique d'une société, voir get_company_graph. COÛT en crédits : 0,1 par société retournée ; au quota : 1 unité par recherche.

Discovered
search_directors

Recherche de personnes (dirigeants) à travers toutes les sociétés françaises, par nom de famille. À la différence de search_companies (qui retourne des ENTREPRISES et accepte dirigeant_nom/dirigeant_prenom comme filtres), search_directors retourne directement des PERSONNES avec leur société de rattachement. Cas d'usage : "toutes les sociétés où siège un dirigeant nommé DUPONT", cartographie d'un réseau de mandats. Paramètres : nom (REQUIS, nom de famille), prenom (optionnel, désambiguïse), role (optionnel, ex "Président", "Gérant", "Administrateur"). Par défaut seuls les mandats actifs ; include_inactive=true pour inclure les anciens mandats. Réponse : data[] = personnes { nom, prenom, civilite, role, role_description, date_naissance, annee_naissance, lieu_naissance, type_personne, linkedin_url, entreprise { siren, denomination, ville, departement, code_ape } }. linkedin_url n'est présent que si un profil a été apparié avec certitude ; son absence est le cas courant, pas une anomalie. pagination { total (nb sociétés matchées), limit, returned }. Homonymes : un même nom+prénom recouvre souvent plusieurs personnes distinctes. date_naissance est le champ qui les distingue : deux dates différentes = deux personnes ; date absente = identité non confirmée ; même date = même personne. La date est diffusée au MOIS (jour normalisé à 01), conformément au régime de diffusion du registre : deux personnes nées le même mois restent indistinguables. Pour lister TOUTES les sociétés d'une personne donnée une fois sa date de naissance connue, enchaîner avec search_director_companies (nom + prénom + date_naissance). Pour la fiche complète d'un dirigeant d'une société donnée, utiliser get_directors avec le SIREN. COÛT en crédits : 0,1 par personne retournée ; au quota : 1 unité par recherche.

Discovered
search_events

Recherche unifiée d'événements de société (multi-SIREN), basée sur notre index ES. Renvoie des ÉVÉNEMENTS individuels (pas des sociétés) : { date, type, siren, denomination, data }. Couvre 8 types : cession (cessions de fonds), procedure (procédures collectives), depot_comptes, augmentation_capital, marche_public, subvention, radiation, creation. Ce n'est PAS le fil de veille : pour les signaux récents des sociétés suivies (nouveau bilan, score crédit, dissolution...), utiliser get_news. Couvre les événements BODACC (cessions, procédures collectives, radiations, créations) ainsi que les dépôts de comptes, augmentations de capital, marchés publics et subventions dérivés des scalaires silver. RÈGLE : préciser au moins un filtre region / departement / ville / code_naf, OU un filtre d'événement (date_min, date_max, cedant_siren, cessionnaire_siren, prix_min/max, tribunal, procedure_type), sinon 400. IMPORTANT : passer UN SEUL type quand la question porte sur un type précis. Les filtres de cadrage (existence de l'événement, fenêtre de dates) ne sont poussés dans la requête que dans ce cas ; avec plusieurs types ils s'excluraient mutuellement, et la recherche se rabat sur un tri général dont on ne lit que les premières pages : une question pointue y paraît vide. Cas d'usage : - "Cessions de fonds > 1M en Île-de-France depuis 2024" → type="cession", region="Île-de-France", date_min="2024-01-01", prix_min=1000000 - "Procédures collectives à Lyon" → type="procedure", ville="Lyon" - "Liquidations prononcées à Marseille en juillet 2026" → type="procedure", procedure_type="liquidation", ville="Marseille", date_min="2026-07-01", date_max="2026-07-31" - "Marchés publics récents dans le BTP" → type="marche_public", code_naf="4120A" COÛT en crédits : 0,1 par événement retourné ; au quota : 1 unité par recherche.

Discovered
set_list_monitoring

Coupe (monitoring=false) ou rétablit (true) la veille d'une liste, contenu gardé. Coupée : plus d'alerte, hors plafond de sociétés surveillées. Rétablie : toute la liste compte, refus watch_limit_reached au-delà ; sur un abonnement en crédits, le mois de ses sociétés est débité (0,1 chacune). Réponse : { list_id, list_name, monitoring, changed, url }

Discovered
unwatch_company

Retrait d'une société de la surveillance : l'enlève d'une liste de veille de l'utilisateur (page /lists de l'app Insourcia). Inverse de watch_company. Utiliser cet outil quand l'utilisateur veut ARRÊTER de suivre une société ("je ne suis plus intéressé par X", "enlève X de ma veille", "nettoie ma liste"). Fonctionnement : - Sans list_name, la société est retirée de TOUTES les listes de l'utilisateur - c'est le sens naturel de "arrête de surveiller X". Avec list_name, seule cette liste est nettoyée. - Idempotent : si la société n'est dans aucune liste (ou si la liste nommée n'existe pas), l'appel renvoie removed=false sans erreur. - La liste elle-même n'est jamais supprimée, même si elle devient vide. Une alerte active sur la liste reste active pour les autres sociétés. - Le retrait fonctionne même pour une société absente de l'index (radiée, disparue) : ce qui a pu être ajouté peut toujours être enlevé. list_watched_companies donne le nom exact des listes et les sociétés qu'elles contiennent. Réponse : { siren, company_name (null si non renseignée), removed, removed_from: [{ list_id, list_name }], url (page /lists) }.

Discovered
watch_company

Mise sous surveillance d'une société : l'ajoute à une liste de veille de l'utilisateur, visible dans l'app Insourcia (page /lists). Utiliser cet outil quand l'utilisateur veut SUIVRE une société dans le temps (cible d'acquisition, concurrent, client, fournisseur à risque) - pas pour une simple consultation (utiliser get_company). Fonctionnement : - list_name désigne la liste cible ; la liste "Surveillance" est utilisée par défaut et créée automatiquement si besoin (idem pour toute liste nommée qui n'existe pas encore). - Idempotent : si la société est déjà dans la liste, l'appel renvoie already_watched=true sans créer de doublon. - Alerte quotidienne ACTIVE PAR DÉFAUT quand la liste est créée par cet appel (enable_alert=false pour s'en passer ; sur une liste existante, enable_alert=true l'active) : l'utilisateur est notifié des événements FUTURS touchant les sociétés de la liste (annonces BODACC : procédures collectives, cessions...) ; dirigeants : option à cocher dans l'app. Pas de replay de l'historique. - Coût : abonnement, 0,1 crédit par société et par mois, débité à l'ajout (insufficient_credits : rien n'est ajouté) ; sans abonnement, non débité. Garde-fou technique : watch_limit_reached à 1 000 000 sociétés par organisation. Réponse : { siren, company_name (ou null), list_id, list_name, url (page /lists), already_watched, already_watched_by, alert_enabled }.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected307 ms21