API ouverte · REST · OpenAPI 3.1

Les outils du connecteur, en HTTP simple.

Même catalogue que le connecteur MCP, même code, mêmes garde-fous. Sans compte, un GET suffit pour obtenir un plan de prospection, des codes NAF, le nombre d'entreprises d'un ciblage et son coût, ou la relecture d'une lettre. Avec une clé créée dans votre espace client : premier fichier gratuit, campagnes, envois.

Points d'entrée
  • GEThttps://nouvelles-entreprises.com/api/v1/

    Point d'entrée : où sont le catalogue et la documentation.

  • GEThttps://nouvelles-entreprises.com/api/v1/outils

    Catalogue : chaque outil, sa description, ses schémas, son URL.

  • GEThttps://nouvelles-entreprises.com/api/v1/outils/{nom}

    Outils en lecture seule, arguments en query.

  • POSThttps://nouvelles-entreprises.com/api/v1/outils/{nom}

    Tous les outils, arguments en JSON dans le corps.

  • GEThttps://nouvelles-entreprises.com/openapi.json

    Document OpenAPI 3.1, généré du catalogue.

  • GEThttps://nouvelles-entreprises.com/openapi.json?variante=gpt

    Variante pour un GPT personnalisé.

Principe

Une autre porte, les mêmes règles

Chaque route exécute l'outil du connecteur, avec les mêmes contrôles d'accès, les mêmes droits et le même journal. Un outil ajouté au connecteur apparaît dans le catalogue et dans le document OpenAPI sans autre déclaration. Le connecteur reste le chemin le plus simple dans Claude ou ChatGPT ; l'API sert aux assistants qui naviguent, aux GPT personnalisés, aux agents et aux développeurs.

  • GET pour les outils en lecture seule, arguments en query ; POST pour tous, arguments en JSON dans le corps.
  • Les outils qui engagent une dépense procèdent en deux appels : un aperçu chiffré et un jeton, puis l'exécution avec ce jeton, après l'accord explicite de l'utilisateur.
  • Une campagne préparée par l'API est inactive : elle se valide et se paie dans l'application, par le lien que rend l'outil, et la page de validation demande l'adresse d'expéditeur si elle manque. Avant cette validation, ni son courrier ni ses relances ne partent, même si le compte a des crédits ou une recharge mensuelle. L'API ne paie jamais.
  • Sans abonnement, un compte parcourt les entreprises déjà livrées par les fichiers de ses campagnes et peut leur écrire : pour chaque campagne, le ciblage et les dates de création de son dernier fichier, figés à son envoi. Pour un nouveau compte, c'est son premier fichier gratuit, un seul par compte. Modifier ensuite un ciblage n'y ajoute rien ; supprimer une campagne en retire les entreprises. La recherche et l'envoi aux nouvelles entreprises au-delà sont inclus dans l'abonnement, comme le courrier automatique des campagnes et leurs relances : une recharge mensuelle seule ne les déclenche pas.
  • Prix hors taxes : 1,50 € HT le pli, abonnement à 59 € HT par mois. L'API elle-même est gratuite.
Sans compte

Des adresses à ouvrir telles quelles

Quatre outils répondent sans compte ni clé. Avec format=texte, la réponse est le texte seul, en Markdown : la forme qu'un assistant lit le mieux.

Plan de prospection pour un métier

https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=courtier%20en%20assurance&format=texte

Activités à viser, ancienneté, zone, angle de la lettre, étapes, et le lien du premier fichier gratuit, activités préremplies.

Codes NAF d'une cible décrite en clair

https://nouvelles-entreprises.com/api/v1/outils/ne_suggerer_ciblage?description=cabinets%20v%C3%A9t%C3%A9rinaires&format=texte

Codes NAF et libellés, à passer tels quels en codes_naf.

Nombre d'entreprises et coût, par départements

https://nouvelles-entreprises.com/api/v1/outils/ne_estimer_volume?codes_naf=6201Z,6202A&departements=69,38&age_max_mois=6&format=texte

Informatique dans le Rhône et l'Isère, créées depuis moins de 6 mois.

Nombre d'entreprises et coût, par rayon

https://nouvelles-entreprises.com/api/v1/outils/ne_estimer_volume?codes_naf=4321A,4322A&adresse=Nantes&rayon_km=30&format=texte

Électriciens et plombiers à 30 km de Nantes ; l'adresse retenue est rappelée dans la réponse.

Nombre d'entreprises et coût, par région

https://nouvelles-entreprises.com/api/v1/outils/ne_estimer_volume?codes_naf=5610A,5610C&region=Occitanie&format=texte

Restauration en Occitanie, créées depuis moins de 3 mois (réglage par défaut).

Paramètres

OutilParamètreValeur
ne_guide_prospectionmetiertexte, requis : le métier de la personne qui prospecte
ne_suggerer_ciblagedescriptiontexte, requis, 3 à 500 caractères : les entreprises à viser, en clair
ne_estimer_volumecodes_nafliste de codes NAF sans point (6201Z) ; vide : toutes activités
departementsliste de codes de départements (69, 2A) ; vide : France entière
regionnom ou code INSEE de la région, ignoré avec des départements ou un rayon
adresse, rayon_kmcentre et rayon (5 à 100 km) ; le rayon prime sur les départements
latitude, longitudecentre en coordonnées, à la place de l'adresse
formes_juridiquesei, sas, sarl, sa, sci, societe-civile, association, copropriete, snc-commandite, cooperative-mutuelle, gie
age_min_mois, age_max_moisancienneté depuis l'immatriculation ; défaut 0 à 3 mois
ne_relire_lettrelettretexte, requis ; variables {{raisonSociale}}, {{dirigeant}}, {{ville}}

Listes : valeurs séparées par des virgules (codes_naf=6201Z,6202A), ou clé répétée. Nombres avec un point décimal. Un paramètre inconnu est refusé (400, avec la liste des paramètres acceptés) plutôt qu'ignoré : une faute de frappe donnerait sinon un chiffre pour la France entière. Les paramètres utm_* d'un lien partagé sont ignorés. Schémas complets : https://nouvelles-entreprises.com/api/v1/outils.

Premier fichier

Du conseil au premier fichier

Sans compte, ne_estimer_volume rend dans donnees.lien_fichier_gratuit un lien vers le formulaire du premier fichier gratuit, ciblage prérempli ; ne_guide_prospection aussi, dès que le plan nomme des activités (la zone reste à choisir). La personne vérifie, donne son adresse email et reçoit la liste des entreprises de sa cible créées depuis le 1er du mois précédent, ou de la tranche d'ancienneté demandée. Sans carte bancaire, et un seul par compte, même si la campagne d'essai est supprimée ensuite.

Forme du lien

https://nouvelles-entreprises.com/creer-cible?naf=6201Z,6202A&location=departement&locationValue=69,38&ageMin=0&ageMax=6&utm_source=assistant-ia&utm_medium=api&utm_campaign=essai-prerempli

Avec une clé, ne_recevoir_fichier_gratuit envoie le même fichier à l'adresse du compte, sans passer par le site, et ne_preparer_campagne prépare ensuite la campagne de courrier. Sans abonnement, ne_rechercher_entreprises et ne_envoyer_courriers portent sur les entreprises de ce fichier, sur son ciblage et ses dates de création, figés à son envoi : modifier ensuite le ciblage n'y ajoute rien. La recherche et l'envoi aux nouvelles entreprises au-delà sont inclus dans l'abonnement.

Avec un compte

Une clé, ou un jeton OAuth

Clé d'accès

Le titulaire la crée dans son espace client (Mon compte, section « Assistants connectés »), une fois l'adresse du compte confirmée : il ouvre le lien de connexion reçu à cette adresse, que la section propose d'envoyer si besoin. Elle n'est affichée qu'une fois, donne un accès complet au compte, envoi de courriers compris, et se révoque au même endroit. Elle passe dans l'en-tête Authorization: Bearer, jamais dans l'URL ni dans les arguments (400).

OAuth 2.1

Clients publics, PKCE S256 obligatoire, enregistrement dynamique ; l'utilisateur autorise l'accès sur notre écran, adresse du compte confirmée par un lien reçu par email. Métadonnées : https://nouvelles-entreprises.com/.well-known/oauth-authorization-server. Ressource : https://nouvelles-entreprises.com/api/mcp. Portées : lecture, envoi, offline_access. Un jeton obtenu pour ChatGPT (/api/mcp/chatgpt) ne vaut pas ici.

État du compte

curl https://nouvelles-entreprises.com/api/v1/outils/ne_statut_compte \
  -H "Authorization: Bearer $NE_CLE"

Premier fichier gratuit

curl -X POST https://nouvelles-entreprises.com/api/v1/outils/ne_recevoir_fichier_gratuit \
  -H "Authorization: Bearer $NE_CLE" -H "Content-Type: application/json" \
  -d '{"codes_naf": ["6201Z", "6202A"], "departements": ["69"]}'

Préparer une campagne (inactive)

curl -X POST https://nouvelles-entreprises.com/api/v1/outils/ne_preparer_campagne \
  -H "Authorization: Bearer $NE_CLE" -H "Content-Type: application/json" \
  -d '{"codes_naf": ["6201Z", "6202A"], "departements": ["69"],
       "lettre": "Bonjour {{dirigeant}}, …", "courriers_par_mois": 100}'
# Même ciblage que le premier fichier : la lettre s'ajoute à cette campagne.
# → donnees.lien_validation : la page de validation, compte connecté (1 heure)
# Rien ne part avant cette validation, même avec des crédits ou une recharge mensuelle.

Envoi ponctuel, en deux appels

# Prérequis : adresse d'expéditeur (ne_configurer_expediteur) et crédits sur le compte
# Sans abonnement : entreprises déjà livrées par les fichiers du compte seulement
# 1er appel : aperçu chiffré, rien ne part
curl -X POST https://nouvelles-entreprises.com/api/v1/outils/ne_envoyer_courriers \
  -H "Authorization: Bearer $NE_CLE" -H "Content-Type: application/json" \
  -d '{"entreprise_ids": ["…"], "lettre": "…"}'
# → donnees.destinataires, donnees.cout_cents, donnees.confirmation (jeton, 15 minutes)

# 2e appel, identique, avec le jeton : seulement après l'accord explicite de l'utilisateur
curl -X POST https://nouvelles-entreprises.com/api/v1/outils/ne_envoyer_courriers \
  -H "Authorization: Bearer $NE_CLE" -H "Content-Type: application/json" \
  -d '{"entreprise_ids": ["…"], "lettre": "…", "confirmation": "<jeton>"}'

Les 17 outils

OutilCompteMéthodesPortée OAuth
ne_guide_prospectionnonGET, POST—
ne_suggerer_ciblagenonGET, POST—
ne_estimer_volumenonGET, POST—
ne_relire_lettrenonGET, POST—
ne_statut_compterequisGET, POSTlecture
ne_configurer_expediteurrequisPOSTenvoi
ne_acheter_creditsrequisPOSTenvoi
ne_lister_accesrequisGET, POSTlecture
ne_revoquer_accesrequisPOSTenvoi
ne_rechercher_entreprisesrequisGET, POSTlecture
ne_envoyer_courriersrequisPOSTenvoi
ne_recevoir_fichier_gratuitrequisPOSTenvoi
ne_preparer_campagnerequisPOSTenvoi
ne_lister_campagnesrequisGET, POSTlecture
ne_modifier_campagnerequisPOSTenvoi
ne_suivi_courriersrequisGET, POSTlecture
ne_enregistrer_retourrequisPOSTenvoi

Rôle de chaque outil : page du connecteur ; descriptions complètes et schémas : le catalogue.

Réponses

Format des réponses et des erreurs

texte est la réponse rédigée de l'outil, en Markdown, à montrer ou résumer ; donnees, son contenu structuré. Avec ?format=texte ou Accept: text/markdown, le corps est le texte seul.

200 · valeurs d'exemple

{
  "outil": "ne_estimer_volume",
  "ok": true,
  "texte": "Ciblage : activités 6201Z, 6202A · Rhône, Isère · créées il y a moins de 6 mois\n\n**31 entreprises** correspondent à ce ciblage aujourd'hui.\n…",
  "donnees": {
    "total": 31,
    "total_borne": false,
    "cout_vague_cents": 4650,
    "ciblage": "activités 6201Z, 6202A · Rhône, Isère · créées il y a moins de 6 mois",
    "lien_fichier_gratuit": "https://nouvelles-entreprises.com/creer-cible?naf=6201Z,6202A&location=departement&locationValue=69,38&ageMin=0&ageMax=6&utm_source=assistant-ia&utm_medium=api&utm_campaign=essai-prerempli",
    "entreprises_fichier_gratuit": 31
  }
}

400 · paramètre mal orthographié

{
  "outil": "ne_estimer_volume",
  "ok": false,
  "erreur": "Paramètre inconnu pour `ne_estimer_volume` : departement. Paramètres acceptés : codes_naf, departements, region, adresse, rayon_km, latitude, longitude, formes_juridiques, age_min_mois, age_max_mois (schéma : https://nouvelles-entreprises.com/api/v1/outils)."
}
CodeSignification
200Réponse de l'outil : { outil, ok, texte, donnees }.
400Arguments illisibles : paramètre inconnu, type incorrect, JSON invalide, clé passée dans l'URL ou les arguments.
401Accès requis, ou clé ou jeton refusé. En-tête WWW-Authenticate (défi Bearer, métadonnées OAuth).
403Le jeton n'a pas la portée exigée (lecture ou envoi) ; WWW-Authenticate indique les portées à redemander.
404Outil inconnu ; outils_disponibles liste les noms valables.
405GET sur un outil qui écrit ou dépense : l'appeler en POST (en-tête Allow).
413Corps de plus de 100 000 caractères.
422L'outil a refusé l'appel (ciblage invalide, crédits insuffisants, entreprise hors des fichiers déjà livrés à un compte sans abonnement, envoi déjà en cours…) : le message dit quoi corriger.
429Limite d'appels sans compte atteinte ; Retry-After donne l'attente en secondes.
500Incident : avant de relancer un envoi, vérifier avec ne_suivi_courriers qu'il n'est pas déjà parti.
503Accès momentanément invérifiable ; Retry-After.

Une erreur rend { outil, ok: false, erreur }, parfois donnees. Les réponses ne sont jamais mises en cache (Cache-Control: no-store) ni indexées. Le CORS est ouvert à toute origine, sans cookie : seule compte la clé de l'en-tête Authorization.

Limites

Débit et bornes

Appels sans compte
60 par minute et par adresse IP (un plafond global s'y ajoute). Au-delà : 429 et Retry-After. L'adresse est celle que transmet Cloudflare : un en-tête X-Forwarded-For posé par l'appelant n'y change rien.
ne_suggerer_ciblage
30 suggestions par heure, par adresse IP sans compte, par compte sinon.
ne_envoyer_courriers
50 destinataires par appel avec lettre (plis envoyés pendant l'appel) ; 500 avec campagne_id (lettre de la campagne, en arrière-plan). Un envoi à la fois par compte : une confirmation est refusée (422) pendant qu'un autre envoi se prépare (réservation des crédits, création des plis) ou, avec lettre, pendant que ses plis sont remis au prestataire postal ; un envoi en arrière-plan se poursuit ensuite dans une tâche, pendant laquelle un autre envoi peut être accepté, sans jamais écrire deux fois à la même entreprise. Sans abonnement, entreprises déjà livrées par les fichiers du compte seulement.
ne_rechercher_entreprises
100 résultats par page au plus ; 2 000 résultats par jour et par compte, de quoi choisir des destinataires. Sans abonnement, entreprises déjà livrées par les fichiers du compte seulement.
Corps d'un POST
100 000 caractères au plus.
Jeton de confirmation
15 minutes, pour un seul envoi.
Lien de validation ou de paiement
1 heure, à usage unique.
Enregistrement de client OAuth
30 par heure et par adresse IP (un plafond global s'y ajoute). Au-delà : 429.
Intégrations

GPT personnalisé, agent, assistant qui navigue

GPT personnalisé

Dans l'éditeur du GPT, ajoutez une action et importez https://nouvelles-entreprises.com/openapi.json?variante=gpt : descriptions courtes, une opération POST par outil. Sans authentification, le GPT n'appelle que les outils sans compte. Avec « Clé API », type Bearer, et une clé de votre espace client, il agit sur votre compte : quiconque utilise ce GPT agit alors sur ce compte, gardez-le privé.

Les opérations qui écrivent sont marquées conséquentes : ChatGPT demande confirmation avant chacune. Un GPT abandonne un appel au bout de 45 secondes ; un envoi plus long se poursuit sur le serveur, vérifiez avec ne_suivi_courriers avant de relancer. OAuth n'est pas proposé aux GPT : leur éditeur exige un secret client, notre serveur n'enregistre que des clients publics.

Agent ou programme

Importez https://nouvelles-entreprises.com/openapi.json (OpenAPI 3.1 : une opération GET par outil en lecture seule, une POST par outil, descriptions complètes), ou lisez le catalogue. Un agent qui parle MCP peut aussi se brancher directement sur le connecteur, https://nouvelles-entreprises.com/api/mcp.

Montrez toujours à l'utilisateur l'aperçu chiffré d'un envoi, et ne passez le jeton de confirmation qu'après son accord explicite.

Assistant qui navigue

Certains assistants n'ouvrent qu'une adresse déjà lue, dans la conversation ou dans une page consultée, et de longueur limitée. Les URL de cette page et de llms.txt sont faites pour être reprises telles quelles ; le catalogue en donne d'autres, dont un plan par métier.

Fiche de découverte du connecteur et de l'API : /.well-known/mcp.json.

Ou dans une conversation, sans une ligne de code.

Dans Claude ou ChatGPT, le connecteur donne les mêmes outils à l'assistant : il prépare, vous validez dans l'application. Les données échangées sont décrites dans la politique de confidentialité.