Cette API RESTful fournit un accès programmatique aux données complètes des médicaments français issues de la Base de Données Publique des Médicaments (BDPM). Elle permet de rechercher des médicaments par nom, code CIS ou CIP, d'obtenir des informations sur les génériques, d'accéder aux documents officiels (RCP et notices patients) et à l'ensemble de la base de données.
Informations complètes sur 15 800+ médicaments (dénomination, forme pharmaceutique, voies d'administration, statut AMM, titulaire, etc.)
Composition détaillée (substances actives, dosages)
Présentations commerciales (CIP7/CIP13, prix, honoraires de dispensation, prix public = prix + honoraires, taux de remboursement)
Groupes génériques et médicaments associés
Conditions de prescription et de délivrance
RCP (Résumés des Caractéristiques du Produit) et notices patients - Documents officiels en JSON sectionné par rubrique (identifiants stables, lien direct vers la posologie), récupérés à la demande depuis la BDPM puis mis en cache ; chaque réponse porte l'attribution Etalab 2.0 (source + miseAJour)
Les données sont issues directement de la BDPM, dont les contenus (dénominations, libellés, textes des RCP et notices) sont restitués tels quels. Seule la forme est normalisée : conversion des prix en nombres décimaux, structuration par médicament (composition, génériques, présentations, conditions), assainissement du balisage HTML des documents (retrait des scripts et styles, texte intact), et exclusion des lignes sources malformées, dont le suivi est disponible via /v1/diagnostics.
Les données sont mises à jour automatiquement deux fois par jour (6h et 18h) depuis les sources officielles de la BDPM, garantissant une fraîcheur optimale des informations. Les documents (RCP/notices) sont récupérés à leur première demande puis servis depuis un cache permanent, chaque réponse indiquant sa date de mise à jour ANSM (miseAJour)
| Endpoint | Description |
|---|---|
| /v1/medicaments?search={q} | Recherche multi-mots - Trouve tous les médicaments contenant tous vos termes (1-6 mots, logique AND) |
| /v1/medicaments/{cis} | Recherche par code CIS - Code identifiant de spécialité unique |
| /v1/medicaments/{cis}/rcp | RCP du médicament - Résumé des Caractéristiques du Produit en JSON sectionné par rubrique (4.2 = posologie) |
| /v1/medicaments/{cis}/notice | Notice patient - Notice d'information en JSON sectionné par rubrique |
| /v1/medicaments?cip={code} | Recherche par code CIP - Via présentation commerciale |
| /v1/generiques?libelle={nom} | Génériques par libellé - Trouve tous les groupes génériques contenant vos termes |
| /v1/generiques/{groupID} | Groupe générique par ID - Identifiant de groupe unique avec médicaments détaillés |
| /v1/presentations/{cip} | Présentations par CIP - Détails de présentation commerciale |
| /v1/medicaments?page={n} | Pagination - 10 médicaments par page par défaut, configurable via pageSize (1–200) |
| /v1/medicaments/export | Base complète - Ensemble des données (~20MB) |
| /v1/diagnostics | Diagnostics - Rapports de qualité des données |
Les recherches par nom /v1/medicaments?search={q} et par libellé /v1/generiques?libelle={nom} utilisent un système de recherche multi-mots avec logique AND (tous les mots doivent être présents, maximum 6 mots), insensible à la casse et aux accents : « comprime » trouve « COMPRIMÉ » et inversement.
Les recherches sont plafonnées : 250 résultats maximum pour /v1/medicaments?search= et 100 résultats maximum pour /v1/generiques?libelle=. Au-delà, l'API retourne une erreur 400 vous invitant à affiner la recherche ; utilisez /v1/medicaments/export pour l'ensemble des données.
L'API inclut un système de rate limiting pour garantir une utilisation équitable (1000 jetons/IP avec recharge de 3 jetons/seconde) et fournit des réponses en JSON avec cache HTTP intelligent.
Il n'y a pas encore de discussion