Documentation API
Bienvenue dans la documentation de l'API 2MN Services.
APIs Disponibles
Cette API fournit plusieurs services de données géographiques et d'entreprises (France, Algérie, Canada) :
| API | Périmètre | Données | Statut |
|---|---|---|---|
| 🗺️ Géo France | Communes, départements, régions, EPCI | 34 935 communes | ✅ Production |
| 🏢 Entreprises | Recherche d'entreprises françaises | Proxy API gouv.fr | ✅ Production |
| 🔢 NAF/APE | Codes d'activité par métier | 10+ métiers | ✅ Production |
| 🇩🇿 Algérie | Wilayas, daïras, communes | 69 wilayas · 1 541 communes | ✅ Production |
| 🇨🇦 Canada/Québec | Provinces → régions → MRC → villes | 1 281 municipalités | ✅ Production |
🗺️ API Géographique
Clone de geo.api.gouv.fr
- Recherche de communes par nom, code postal, coordonnées
- Liste des communes par département, région ou EPCI
- Support du format GeoJSON
- Données complètes : population, superficie, altitude, etc.
Endpoints principaux :
-
GET /communes- Rechercher des communes -
GET /communes/{code}- Détails d'une commune -
GET /departements/{code}/communes- Communes d'un département -
GET /regions/{code}/communes- Communes d'une région -
GET /epcis/{code}/communes- Communes d'un EPCI
🏢 API Entreprises
Recherche d'entreprises françaises
- Recherche par localisation (code postal, département, commune)
- Filtrage par activité (code NAF/APE)
- Filtres avancés : statut, effectif, catégorie, date de création
- Intégration API Recherche d'Entreprises (api.gouv.fr)
Endpoints principaux :
-
GET /api/entreprises/recherche- Rechercher des entreprises -
GET /api/villes- Rechercher des villes
🔢 API NAF/APE
Gestion des codes NAF/APE
- Recherche de codes par métier
- Liste des métiers supportés
- Codes connexes pour chaque métier
Endpoints principaux :
-
GET /api/naf/code?professionalField={metier}- Obtenir le code NAF
🇩🇿 API Algérie
Données administratives de l'Algérie
- 69 wilayas (58 + 11 nouvelles en 2025)
- 571 daïras, 1 541 communes
- Noms en arabe et français
- Codes historiques et actuels
Endpoints principaux :
-
GET /algerie/wilayas- Liste des wilayas -
GET /algerie/wilayas/{code}/communes- Communes d'une wilaya -
GET /algerie/search?q={terme}- Recherche globale
🇨🇦 API Canada / Québec
Hiérarchie administrative complète du Canada
- 10 provinces + 3 territoires (v1 : Québec complet)
- 17 régions administratives du Québec
- 90 MRC / territoires équivalents
- 1 281 municipalités, 41 arrondissements (dont les 19 de Montréal)
- Résolution code postal → ville/région
Endpoints principaux :
-
GET /ca/provinces- Provinces canadiennes -
GET /ca/provinces/qc/regions- Régions administratives du Québec -
GET /ca/provinces/qc/municipalites/66023/arrondissements- Arrondissements de Montréal -
GET /ca/search?q=laval- Recherche globale -
GET /ca/postal/H2Y1C6- Code postal → ville/région
🚀 Démarrage Rapide
Installation
bash
# Cloner le projet
git clone <repository-url>
cd api-entreprises
# Installer les dépendances
npm install
# Configurer les variables d'environnement
cp .env.example .env
# Éditer .env avec vos configurations
# Importer les données des communes (pour l'API Geo)
npm run import:communes
# Démarrer le serveur
npm startVérification
bash
# Health check
curl https://2mnservices.alwaysdata.net/health
# Test API Geo
curl https://2mnservices.alwaysdata.net/communes?nom=Paris&limit=1📁 Guide d'Installation Détaillé
Pour une installation complète avec toutes les options de configuration, consultez :
📖 Guide d'installation →
🔒 Authentification
Certaines routes nécessitent une authentification JWT :
http
POST /api/auth/login
Content-Type: application/json
{
"email": "votre@email.com",
"password": "votre_mot_de_passe"
}Utilisation du token :
http
Authorization: Bearer <votre_token_jwt>⚡ Performance
- Cache intelligent : 1 heure pour les données géographiques
- Temps de réponse moyen : < 10ms pour les données en cache
- Rate limiting : 100 requêtes par 15 minutes par IP
🛠️ Technologies
- Node.js + Express.js - Framework web
- MongoDB + Mongoose - Base de données
- JWT - Authentification
- Winston - Logging
📝 Licence
Licence MIT - Voir le fichier LICENSE
🤝 Support
Pour toute question ou problème : support@2mn.services