Wrapper de l'API Sirene de l'Insee pour les développements sur plateforme .Net.
L'API Sirene donne accès aux informations concernant les entreprises et les établissements enregistrés au répertoire interadministratif Sirene depuis sa création en 1973, y compris les unités fermées.
La recherche peut être unitaire, multicritère, phonétique et porter sur les données courantes et historisées.
- Les services actuellement disponibles interrogent :
- les Unités légales (SIREN)
- les Établissements (SIRET)
- Le service Informations permet de connaître les dates de dernières mises à jour.
- Le service Liens de succession informe sur les prédécesseurs et les successeurs des établissements.
Pour plus d'infos, consulter les Informations générales et la Documentation technique.
Utilisation de l'Api Sirene 3.11 qui est la version de référence depuis le 30 avril 2024.
Le répertoire Sirene est en version 4.
Pour plus d'infos, consulter les Évolutions
La bibliothèque InseeApiSirene.Net est compatible avec les environnements suivants :
- .NET Framework 4.6.1+
- .NET Core 2.0+
- .NET 5.0+
- Mono 5.4+
- Xamarin.iOS 10.14+
- Xamarin.Android 8.0+
- UWP 10.0.16299+
Le package Insee.Net est disponible sur NuGet.org.
dotnet add package InseeApiSireneUn compte est nécéssaire pour avoir accès à une clé d'API (X-INSEE-Api-Key-Integration) pour se connecter à l'API Sirene.
Pour obtenir cette clé, vous devrez créer un compte (gratuit) sur le portail API de l'Insee, puis créer une application (en mode "simple") et enfin souscrire à l'API Sirene pour l'application.
Pour plus d'infos, consulter le guide pas à pas ou la documentation.
L'usage de l'API Sirene est soumis à une limite de 30 interrogations par minute.
L'Insee se réserve le droit de changer cette limite en cas de nécessité.
Pour plus d'infos, consulter les Conditions générales d'utilisation de l'API Sirene et la Charte d'utilisations du catalogue des API de l'Insee.
using (var oSireneApi = new SireneApi("01234567-89ab-cdef-0123-456789abcdef")) // A remplacer par votre propre clé d'API
{
oSireneApi.Timeout = 30; // Timeout en secondes des appels à l'API
oSireneApi.CompressionGzip = true; // Active la compression Gzip lors des appels à l'API (réduction de la taille des données échangées), la décompression sera éffectuée localement (augmentation des ressources).
var oReponseSynchrone = oSireneApi.Fonction();
var oReponseSynchroneEnCsv = oSireneApi.FonctionCsv();
var oReponseAsynchrone = await oSireneApi.FonctionAsync();
var oReponseAsynchroneEnCsv = await oSireneApi.FonctionCsvAsync();
}Initialisable à l'instanciation de l'API ou à tout moment via les propriétés de l'instance.
- MasquerValeurNulles : Détermine si l'API doit renvoyer les champs dont les données sont nulles.
- Timeout : Timeout en secondes des appels à l'API.
- CompressionGzip = Active la compression Gzip lors des appels à l'API (réduction de la taille des données échangées), la décompression sera éffectuée localement (augmentation des ressources).
Chaque fonction avec appel à l'API est disponible en version Asynchrone (await/async) ou Synchrone (classique).
Fonctions bonus de validation et formatage des numéros SIRET et SIREN.
// Numéro SIREN
Siren.Nettoyer("326 094 47[1]"); // 326094471
Siren.Tester("326 094 47[1]"); // True
Siren.Formater("326 094 47[1]"); // 326 094 471
// Numéro SIRET
Siret.Tester("326 094 47[1] 00035"); // True
Siret.Nettoyer("326 094 47[1] 00035"); // 32609447100035
Siret.Formater("326 094 47[1] 00035"); // 326 094 471 00035
Siret.ExtraireSiren("326 094 47[1] 00035", out String nic); // 326094471 (et nic = 00035)Trouver les informations d'une unité légale à partir de son numéro SIREN :
using (var oSireneApi = new SireneApi("01234567-89ab-cdef-0123-456789abcdef")) // A remplacer par votre propre clé d'API
{
var oUniteLegale = oSireneApi.UniteLegale("123 456 789");
}Trouver les informations d'un établissement à partir de son numéro SIRET :
using (var oSireneApi = new SireneApi("01234567-89ab-cdef-0123-456789abcdef")) // A remplacer par votre propre clé d'API
{
var oEtablissement = oSireneApi.Etablissement("123 456 789 00001");
}Trouver les unités légales ou établissements à partir de la raison sociale (et ses historiques) :
using (var oSireneApi = new SireneApi("01234567-89ab-cdef-0123-456789abcdef")) // A remplacer par votre propre clé d'API
{
// Recherche des unités légales
var oUnitesLegales = oSireneApi.UnitesLegales("Raison Sociale");
// Recherche des établissements
var oEtablissements = oSireneApi.Etablissements("Raison Sociale");
}Possibilité de construire une requête complexe via l'objet 'RequeteMultiCriteres' pour des établissements ou des unités légales.
- en combinant plusieurs critères de recherche (voir la documentation la syntaxe détaillée).
- en définissant les élèments à retourner dans le résultat
- en définissant un ordre de tri
- en gérant la pagination des résultats
Il est possible d'obtenir les données structurées (Objets) ou brutes (CSV).
- .NET Standard 2.0
- C# 7.3
- Visual Studio 2026
Par défaut les logs sortent sur "System.Diagnostics.Debug".
Possibilité d'ajouter des traces des opérations via un Logger personnalisé
// Configuration des logs
InseeApiSirene.Logger = new ConsoleLogger();
/// <summary>
/// Classe de log pour une sortie sur la Console
/// </summary>
public class ConsoleLogger : ILogger
{
public void Debug(String message, Exception exception = null) => Console.WriteLine($"[DEBUG] {message}");
public void Info(String message, Exception exception = null) => Console.WriteLine($"[INFO] {message}");
public void Warning(String message, Exception exception = null) => Console.WriteLine($"[WARNING] {message}");
public void Error(String message, Exception exception = null) => Console.WriteLine($"[ERROR] {message}");
public void Fatal(String message, Exception exception = null) => Console.WriteLine($"[FATAL] {message}");
public Boolean IsDebugEnabled() => true;
public Boolean IsInfoEnabled() => true;
public Boolean IsWarningEnabled() => true;
public Boolean IsErrorEnabled() => true;
public Boolean IsFatalEnabled() => true;
}Tests unitaires avec MSTest (projet InseeApiSirene.Tests).
Unitialiser votre clé API pour les tests unitaires (à faire une seule fois dans le dossier InseeApiSirene.Test) :
dotnet user-secrets init
dotnet user-secrets set "InseeApiKey" "votre_clé_api_personnelle"InseeNet est distribué sous licence MIT.