get_establishment | Get an establishment from the Sirene register by its SIRET: address, headquarters flag, activity, administrative state, history of periods, and the current values of its legal unit. A 404 means the SIRET is unknown; a 403 means the establishment is under partial diffusion. Arguments: siret (string, 14 digits, required), date (string YYYY-MM-DD, optional — only the period covering that date is returned), champs (string, optional — comma-separated list of the fields to return, e.g. “siren,denominationUniteLegale”), masquerValeursNulles (boolean, optional — true hides empty fields). |
get_legal_unit | Get a legal unit (company, association, sole proprietor…) from the Sirene register by its SIREN, with its history of periods (periodesUniteLegale: name, legal category, main activity, administrative state…). A 404 means the SIREN is unknown; a 403 means the unit is under partial diffusion. Arguments: siren (string, 9 digits, required), date (string YYYY-MM-DD, optional — only the period covering that date is returned), champs (string, optional — comma-separated list of the fields to return, e.g. “siren,denominationUniteLegale”), masquerValeursNulles (boolean, optional — true hides empty fields). |
get_service_info | Get the state of the API Sirene service: etatService (UP/DOWN), state of each collection (legal units, establishments, succession links), API version and the last update dates of the data. No arguments. Counts against the key quota like any call. |
list_establishments | List the establishments of one legal unit (a search q=siren:… on /siret). A 404 means the SIREN has no establishment in the register. Arguments: siren (string, 9 digits, required), activeOnly (boolean, optional — true keeps only the establishments currently open), champs (string, optional — comma-separated fields to return), nombre (integer 0–1000, optional, default 20), debut (integer 0–1000, optional, default 0), curseur (string, optional — ”*” then header.curseurSuivant). |
search_establishments | Multi-criteria search of establishments (etablissements, with header.total). q syntax: variable:value, variable names are case-sensitive and exactly those of the API response; historised variables (those under periodes…) must be wrapped in periode(…); combine with AND / OR and parentheses; exclude with a leading ”-”; ranges variable:[A TO B]; wildcard . raisonSociale:TEXT searches every company name field at once. A 404 means no unit matches the query, not a wrong call. On establishments the legal-unit variables are current values (no periode), while the establishment state, activity and signs are historised: examples “denominationUniteLegale:ATAKO”, “codePostalEtablissement:75001 AND periode(etatAdministratifEtablissement:A)” (without date, periode(…) matches any past period: pass date = today to keep only the establishments open now), “codeCommuneEtablissement:92046 AND periode(activitePrincipaleEtablissement:56.10A)”, “siren:552032534 AND etablissementSiege:true”. Arguments: q (string, optional — the query; all establishments when omitted), date (string YYYY-MM-DD, optional — the criteria on historised variables must hold at that date; today or a future date = current values only), champs (string, optional — comma-separated fields to return), masquerValeursNulles (boolean, optional), tri (string, optional — comma-separated sort fields, default siren), nombre (integer 0–1000, optional, default 20 — results per page; 0 returns only header.total), debut (integer 0–1000, optional, default 0 — rank of the first result; combine with tri), curseur (string, optional — "" on the first call, then header.curseurSuivant to walk past 1000 results; finished when curseur equals curseurSuivant). |
search_legal_units | Multi-criteria search of legal units (unitesLegales, with header.total). q syntax: variable:value, variable names are case-sensitive and exactly those of the API response; historised variables (those under periodes…) must be wrapped in periode(…); combine with AND / OR and parentheses; exclude with a leading ”-”; ranges variable:[A TO B]; wildcard . raisonSociale:TEXT searches every company name field at once. A 404 means no unit matches the query, not a wrong call. On legal units the name, legal category, main activity and administrative state are historised: examples “raisonSociale:ATAKO”, “periode(denominationUniteLegale:ATAKO)”, “periode(etatAdministratifUniteLegale:A) AND categorieEntreprise:PME”, “dateCreationUniteLegale:[2020 TO 2024]”. Arguments: q (string, optional — the query; all units when omitted), date (string YYYY-MM-DD, optional — the criteria on historised variables must hold at that date; today or a future date = current values only), champs (string, optional — comma-separated fields to return), masquerValeursNulles (boolean, optional), tri (string, optional — comma-separated sort fields, default siren), nombre (integer 0–1000, optional, default 20 — results per page; 0 returns only header.total), debut (integer 0–1000, optional, default 0 — rank of the first result; combine with tri), curseur (string, optional — "" on the first call, then header.curseurSuivant to walk past 1000 results; finished when curseur equals curseurSuivant). |