● En production Statut API JSON

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 ?

🔗 Endpoints

GET /api/naf/code

Récupère le code NAF d'un métier ou secteur d'activité.

Paramètres :

ParamètreTypeObligatoireDescription
professionalFieldstring✅Le métier recherché

Exemples de requêtes :

bash
# 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 :

json
{
  "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 :

ChampTypeDescription
metierstringMétier demandé
codeNAFstringCode NAF principal
descriptionstringDescription du code NAF
codesConnexesarrayCodes NAF connexes (activités similaires)

🛠️ Métiers supportés

Voici la liste des métiers actuellement supportés par l'API :

1. Serrurerie

bash
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

bash
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é

bash
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=electricite"

Code NAF : 4321A
Utilisation : Électriciens, installation électrique, dépannage, mise aux normes


4. Chauffage

bash
curl "https://2mnservices.alwaysdata.net/api/naf/code?professionalField=chauffage"

Code NAF : 4322A
Utilisation : Chauffagistes, installation et entretien de chaudières, radiateurs


5. Plomberie

bash
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

bash
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

bash
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

bash
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é

bash
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

bash
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 NAFDescription
4332ATravaux d'isolation
4332BTravaux de menuiserie métallique et serrurerie
4321ATravaux d'installation électrique
4322ATravaux de plomberie et installation thermique
4322BTravaux d'installation équipements thermiques et climatisation
4333ZTravaux de revêtement des sols et des murs
4334ZTravaux de peinture et vitrerie
4391ATravaux de charpente
4391BTravaux de couverture
4391CTravaux d'étanchéification
8122ZAutres activités de nettoyage des bâtiments
45.20BEntretien et réparation de véhicules automobiles
56.30ZDébits de boissons
56.21ZServices des traiteurs
📖 Liste complète : Nomenclature NAF/APE - INSEE

⚠️ Codes d'erreur

Code HTTPMessageDescription
400Paramètre manquantLe paramètre professionalField est requis
404Métier non trouvéLe métier n'existe pas dans la base de données
500Erreur serveurUne erreur est survenue lors du traitement

💡 Bonnes pratiques

1. Validation des entrées

javascript
// 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

javascript
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 :

javascript
// 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 :

javascript
// 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

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
<?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

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 :