Basile
French B2B database for companies and contacts, built from official registers (INSEE, Infogreffe, BODACC) plus public web sources.
От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение
Что умеет
- Basile Count: Renvoie le NOMBRE TOTAL de résultats pour des filtres. GRATUIT : aucun crédit débité, et le total est EXACT (non plafonné). À appeler TOUJOURS en premier — les outils de recherche/export
- Basile Search People: Cherche des PERSONNES/contacts (dirigeants légaux + profils LinkedIn) dans Basile. Renvoie { total, leads[], pagination.nextToken }. Utilise nextToken pour paginer. limit défaut
- Basile Search Companies: Cherche des ENTREPRISES (registre légal + LinkedIn + Google My Business) dans Basile. Renvoie { total, establishmentsTotal, leads[], pagination.nextToken }. limit défaut 25, m
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
French B2B database for companies and contacts, built from official registers (INSEE, Infogreffe, BODACC) plus public web sources.
Use it from Claude or any MCP client to:
- count matching companies or people (free)
- search and filter French companies and contacts
- fetch a company or person by ID
- suggest activity / NAF codes
- export a small CSV from the conversation
Auth: OAuth with a Basile account. An API-access plan is required. The MCP is billed like the REST API (count is free; returned records consume credits).
Docs: https://docs.basile.cc
Product: https://www.basile.cc
MCP endpoint: https://mcp.basile.cc/mcp
France only. Not a global lead database.
Список инструментов сервера (7)
Технические названия из tools/list. Нужны только разработчикам.
| basile_count | Renvoie le NOMBRE TOTAL de résultats pour des filtres. GRATUIT : aucun crédit débité, et le total est EXACT (non plafonné). À appeler TOUJOURS en premier — les outils de recherche/export, eux, coûtent 1 crédit par fiche. Companies : renvoie aussi `establishmentsTotal` = nb de POINTS DE VENTE (fiches Google) derrière les sociétés dédupliquées (ex. 420 sociétés mais 800 points de vente). FORME DES FILTRES : - Filtre texte = {"include":[...], "exclude":[...]} — include = OR, exclude = NOT. - Plusieurs filtres différents = ET entre eux. - People : filtres numériques = range objet {">=":n,"<=":n} (ops >, >=, <, <=). - Companies : filtres numériques = champs simples `_min` / `_max` (ex. capital_min, headcount_max). |
| basile_search_people | Cherche des PERSONNES/contacts (dirigeants légaux + profils LinkedIn) dans Basile. Renvoie { total, leads[], pagination.nextToken }. Utilise nextToken pour paginer. limit défaut 25, max 1000. La page > 1 nécessite un abonnement actif (402 sinon). ⚠️ COÛT : 1 crédit par fiche renvoyée (donc limit=25 → 25 crédits), à chaque appel, sans déduplication d'un appel à l'autre. Compte d'abord avec basile_count (gratuit), et ne demande que le nombre de fiches réellement utile. Le `total` renvoyé ici est plafonné à 100 000 : pour un volume exact, utiliser basile_count. FORME DES FILTRES : - Filtre texte = {"include":[...], "exclude":[...]} — include = OR, exclude = NOT. - Plusieurs filtres différents = ET entre eux. - People : filtres numériques = range objet {">=":n,"<=":n} (ops >, >=, <, <=). - Companies : filtres numériques = champs simples `_min` / `_max` (ex. capital_min, headcount_max). FILTRES PEOPLE (POST /people/find) : Communs (2 sources Legal + LKI) : activity (secteur/métier de l'entreprise de la personne — IDs concept via basile_activity_suggest, ou préfixes naf:/lki:/gmb:), result_full_name, result_last_name, result_first_name, result_role (intitulé de poste, TEXTE → mettre toutes les variantes ; ex. CEO+PDG+Directeur Général…), result_city, region (RÉGION française canonique, ex "Île-de-France" — couvre Legal+LKI), result_country, result_country_code (ex. "FR"), employer. Legal-only (activer = exclut LinkedIn) : mandate_role (gerant|president|dg|dgd|administrateur|commissaire_comptes|associe|directeur_non_dg|autre), result_used_first_name, result_postal_code, siren, legal_name, nationality, nationality_code, result_is_legal_entity (bool), result_is_current (bool, mandat actuel), result_age (range), result_total_companies_count (range). LinkedIn-only (activer = exclut Legal) : current_seniority (C-Level|Director|VP|Head|Manager|Senior|Partner|Owner|Founder|Entry|Training|Unpaid), current_job_functions, skills, languages, education, past_title, past_employer, tenure_bucket, past_tenure_bucket, current_tenure_years (range, ancienneté au poste ACTUEL en années — plus fin que tenure_bucket), connection_count (range), linkedin_url (retrouver un profil par son URL/handle LinkedIn — à coupler avec source:"LKI"). Taille de l'employeur (MULTI-SOURCE, n'exclut aucune source) : company_headcount (range) — effectif de la société ACTUELLE du contact, croisant l'effectif exact du registre légal et la bande de taille déclarée sur LinkedIn. C'est LE filtre pour « dirigeants de PME de 50 à 200 personnes » ; ne pas le confondre avec un filtre sur les entreprises. Les fiches sans effectif connu sont exclues (~21 % sur un échantillon FR). Pilotage source : source ("Legal"|"LKI"), with_legal_data (bool), with_linkedin_profile (bool), hide_legal_entities (bool, RECOMMANDÉ par défaut pour ne lister que de vraies personnes). CONSEILS : secteur → activity direct, taille d'entreprise → company_headcount direct. NE JAMAIS enchaîner une recherche entreprises puis une recherche personnes pour filtrer par secteur ou par taille : ces deux filtres font le travail en UNE requête. Le workflow entreprises→personnes est un fallback, réservé au cas où l'on part d'entreprises nommées ou de fiches Google. France → result_country_code:{include:["FR"]}. Dirigeants actifs → result_is_current:true. NB : le total people = somme LKI+Legal (peut sur-compter une personne présente dans les 2 sources) → meta.totalBySource + totalEstimated l'indiquent ; compter avant d'extraire. |
| basile_search_companies | Cherche des ENTREPRISES (registre légal + LinkedIn + Google My Business) dans Basile. Renvoie { total, establishmentsTotal, leads[], pagination.nextToken }. limit défaut 25, max 1000. `total` = sociétés (dédupliquées par domaine) ; `establishmentsTotal` = POINTS DE VENTE (fiches Google). Pour exporter les points de vente : basile_export avec mode:"locations". ⚠️ COÛT : 1 crédit par fiche renvoyée (limit=25 → 25 crédits), à chaque appel. Compte d'abord avec basile_count (gratuit et exact) ; le `total` renvoyé ici est plafonné à 100 000. FORME DES FILTRES : - Filtre texte = {"include":[...], "exclude":[...]} — include = OR, exclude = NOT. - Plusieurs filtres différents = ET entre eux. - People : filtres numériques = range objet {">=":n,"<=":n} (ops >, >=, <, <=). - Companies : filtres numériques = champs simples `_min` / `_max` (ex. capital_min, headcount_max). FILTRES COMPANIES (POST /companies/find) : Généraux (3 sources Legal+LKI+GMB) : name (contains), activity (métier unifié — le plus puissant ; IDs via basile_activity_suggest), with_email (bool, uniquement les entreprises dont le domaine a au moins un email crawlé). Legal-only : naf_code (préfixe ".x" possible, ex "41.x"), headquarters_naf_code, headquarters_department_code (ex "75","13"), headquarters_postal_code, legal_form (accepte code court SARL/SAS/SASU/EURL/SA/SCI…, code INSEE 5710, OU libellé complet), legal_category (code INSEE), siren, capital_min/capital_max, publishable (bool), creation_date_min/creation_date_max (année ex "2015"), created_since_months (nombre — entreprises créées dans les N derniers mois, ex 3 ; plus précis que creation_date pour « créées récemment »). Région : utiliser region (NOM canonique, ex "Île-de-France") ou headquarters_department_code (ex "75"). ⚠️ headquarters_region_code (code INSEE) est IGNORÉ (no-op, pas de résolveur) — ne pas l'utiliser. Legal+LKI (exclut GMB) : headquarters_city, headquarters_country_code (ex "FR"), headcount_min/headcount_max (effectif). LinkedIn-only : domain (contains), tech_stack (techno du site, ex "Shopify"/"WordPress"). ⚠️ followers : pas de données → ne pas utiliser. ⚠️ industry_main / company_type = LinkedIn, lacunaires/peu fiables → pour un secteur préférer activity ou naf_code. GMB-only : rating_min/rating_max (0-5), reviews_min/reviews_max, is_opening (bool, ouvert dimanche). Spécial : company_ceased (bool) — METTRE false par défaut (entreprises actives uniquement). Pilotage source : source ("Legal"|"LKI"|"GMB"), with_legal_data (bool), with_linkedin_page (bool). CONSEILS : métier → activity (IDs via basile_activity_suggest) sinon naf_code. France → headquarters_country_code:{include:["FR"]} ou headquarters_department_code. |
| basile_activity_suggest | Autocomplete d'ACTIVITÉ/MÉTIER → renvoie des IDs de concept unifiés (NAF + catégories Google + industries LinkedIn). À utiliser pour remplir le filtre `activity` (people ET companies). Ex. q="restaurant", q="plomberie". |
| basile_suggest | Autocomplete pour trouver les valeurs valides avant de filtrer. Champs people : people_cities, people_companies (employeurs), people_roles, people_skills, people_languages, people_education, people_names, people_nationalities, people_seniorities, people_tenure_buckets, people_age_bounds, people_mandate_count_bounds. Champs companies : company_name, company_city, company_legal_form, company_siren. (Pour l'activité/métier, utilise plutôt basile_activity_suggest.) |
| basile_get_entity | Récupère la fiche d'une personne ou entreprise par son _id (issu d'un search). full=true → toutes les colonnes enrichies (même schéma que l'export CSV). ⚠️ COÛT : 1 crédit par appel, y compris si la fiche a déjà été payée dans un search précédent (il n'y a pas de registre « déjà payé »). Ne pas boucler dessus sur une liste de résultats : pour plusieurs fiches, basile_export coûte pareil et renvoie tout d'un coup. |
| basile_export | Exporte un CSV COMPLET (~70-79 colonnes) pour des filtres OU une liste d'ids. CONSOMME le quota d'export du plan. Companies : `mode` = "companies" (1 ligne / entreprise, défaut) OU "locations" (1 ligne par POINT DE VENTE / établissement Google — à utiliser quand establishmentsTotal > total). ⚠️ Compte d'abord (basile_count). Le CSV est renvoyé INLINE : limité à 500 lignes (un chat ne peut pas avaler un gros CSV). Au-delà → affine/segmente, ou lance l'export depuis l'app web (fichier téléchargeable). maxRows = plafond/export du plan ; capped = il reste des résultats au-delà. |