API NAF/APE
Cette API permet de récupérer les codes NAF (Nomenclature d'Activités Française) ou APE (Activité Principale Exercée) pour différents métiers et secteurs d'activité.
🎯 Qu'est-ce que le NAF/APE ?
- NAF : Nomenclature d'Activités Française - Classification des activités économiques
- APE : Activité Principale Exercée - Code attribué à chaque entreprise
- Le code APE est issu de la nomenclature NAF
-
Format : 4 chiffres + 1 lettre (ex:
43.32A)
🔗 Endpoints
GET /api/naf/code
Récupère le code NAF d'un métier ou secteur d'activité.
Paramètres :
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
professionalField | string | ✅ | Le métier recherché |
Exemples de requêtes :
# Serrurerie
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=serrurerie"
# Plomberie
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=plomberie"
# Électricité
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=electricite"Format de réponse :
{
"metier": "serrurerie",
"codeNAF": "4332B",
"description": "Travaux de menuiserie métallique et serrurerie",
"codesConnexes": [
{
"code": "4332A",
"description": "Travaux d'isolation",
"division": "Travaux de construction spécialisés"
},
{
"code": "4321A",
"description": "Travaux d'installation électrique",
"division": "Travaux d'installation électrique"
}
]
}Champs de la réponse :
| Champ | Type | Description |
|---|---|---|
metier | string | Métier demandé |
codeNAF | string | Code NAF principal |
description | string | Description du code NAF |
codesConnexes | array | Codes NAF connexes (activités similaires) |
🛠️ Métiers supportés
Voici la liste des métiers actuellement supportés par l'API :
1. Serrurerie
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=serrurerie"Code NAF : 4332B
Utilisation : Entreprises de serrurerie, installation de portes blindées, dépannage de serrures
2. Menuiserie
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=menuiserie"Code NAF : 4332B
Utilisation : Menuisiers, pose de fenêtres, portes intérieures, aménagements sur mesure
3. Électricité
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=electricite"Code NAF : 4321A
Utilisation : Électriciens, installation électrique, dépannage, mise aux normes
4. Chauffage
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=chauffage"Code NAF : 4322A
Utilisation : Chauffagistes, installation et entretien de chaudières, radiateurs
5. Plomberie
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=plomberie"Code NAF : 4322A
Utilisation : Plombiers, installation sanitaire, dépannage de fuites, salle de bain
6. Climatisation
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=climatisation"Code NAF : 4322B
Utilisation : Professionnels de la climatisation, installation et entretien de systèmes de climatisation
7. Peinture
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=peinture"Code NAF : 4334Z
Utilisation : Peintres en bâtiment, rénovation intérieure/extérieure
8. Sol
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=sol"Code NAF : 4333Z
Utilisation : Professionnels du revêtement de sol, carrelage, parquet, moquette
9. Étanchéité
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=etancheite"Code NAF : 4391A
Utilisation : Spécialistes de l'étanchéité, toitures terrasses, sous-sols
10. Désinsectisation
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=desinsectisation"Code NAF : 8122Z
Utilisation : Entreprises de désinsectisation, dératisation, désinfection
📋 Codes NAF courants
| Code NAF | Description |
|---|---|
4332A | Travaux d'isolation |
4332B | Travaux de menuiserie métallique et serrurerie |
4321A | Travaux d'installation électrique |
4322A | Travaux de plomberie et installation thermique |
4322B | Travaux d'installation équipements thermiques et climatisation |
4333Z | Travaux de revêtement des sols et des murs |
4334Z | Travaux de peinture et vitrerie |
4391A | Travaux de charpente |
4391B | Travaux de couverture |
4391C | Travaux d'étanchéification |
8122Z | Autres activités de nettoyage des bâtiments |
45.20B | Entretien et réparation de véhicules automobiles |
56.30Z | Débits de boissons |
56.21Z | Services des traiteurs |
📖 Liste complète : Nomenclature NAF/APE - INSEE
⚠️ Codes d'erreur
| Code HTTP | Message | Description |
|---|---|---|
400 | Paramètre manquant | Le paramètre professionalField est requis |
404 | Métier non trouvé | Le métier n'existe pas dans la base de données |
500 | Erreur serveur | Une erreur est survenue lors du traitement |
💡 Bonnes pratiques
1. Validation des entrées
// Vérifiez que le paramètre est fourni
if (!professionalField) {
// Gérer l'erreur
}
// Normalisez la valeur (minuscules, sans accents)
const normalized = professionalField
.toLowerCase()
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '');2. Gestion des erreurs
try {
const response = await fetch(
`https://2mnservices.alwaysdata.net/api/naf/code?professionalField=${encodeURIComponent(metier)}`
);
if (!response.ok) {
if (response.status === 404) {
console.error('Métier non trouvé');
} else {
console.error(`Erreur HTTP: ${response.status}`);
}
return null;
}
const data = await response.json();
return data;
} catch (error) {
console.error('Erreur réseau:', error);
return null;
}3. Mise en cache
Les codes NAF changent rarement, mettez en cache les réponses :
// Exemple avec localStorage
const cacheKey = `naf_${metier}`;
const cached = localStorage.getItem(cacheKey);
if (cached) {
return JSON.parse(cached);
}
const data = await fetchNAFCode(metier);
localStorage.setItem(cacheKey, JSON.stringify(data));
return data;🔗 Utilisation avec l'API Entreprises
Combinez les deux APIs pour une recherche complète :
// 1. Récupérer le code NAF
const nafData = await fetch(
`https://2mnservices.alwaysdata.net/api/naf/code?professionalField=serrurerie`
).then(r => r.json());
// 2. Rechercher les entreprises avec ce code
const entreprises = await fetch(
`https://2mnservices.alwaysdata.net/api/entreprises/recherche?` +
`codeNaf=${nafData.codeNAF}&` +
`codePostal=75001&` +
`actif=true`
).then(r => r.json());
console.log(`${entreprises.total} serruriers trouvés à Paris`);📚 Ressources
📝 Exemples d'intégration
JavaScript / TypeScript
interface NAFResponse {
metier: string;
codeNAF: string;
description: string;
codesConnexes: Array<{
code: string;
description: string;
division: string;
}>;
}
async function getNAFCode(metier: string): Promise<NAFResponse | null> {
try {
const response = await fetch(
`https://2mnservices.alwaysdata.net/api/naf/code?professionalField=${encodeURIComponent(metier)}`
);
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
return await response.json();
} catch (error) {
console.error('Erreur:', error);
return null;
}
}
// Utilisation
const codeSerrurerie = await getNAFCode('serrurerie');
console.log(codeSerrurerie?.codeNAF); // "4332B"PHP
<?php
function getNAFCode($metier) {
$url = 'https://2mnservices.alwaysdata.net/api/naf/code?professionalField=' . urlencode($metier);
$response = file_get_contents($url);
if ($response === false) {
return null;
}
return json_decode($response, true);
}
// Utilisation
$code = getNAFCode('plomberie');
echo $code['codeNAF']; // "4322A"
?>Python
import requests
import urllib.parse
def get_naf_code(metier):
url = f"https://2mnservices.alwaysdata.net/api/naf/code?professionalField={urllib.parse.quote(metier)}"
response = requests.get(url)
if response.status_code == 200:
return response.json()
return None
# Utilisation
code = get_naf_code("electricite")
print(code["codeNAF"]) # "4321A"🆘 Support
Pour ajouter un nouveau métier ou signaler un problème :
- 📧 Email : support@2mn.services
- 🐛 Issues : GitHub