Search European companies across official registers (unified schema)

get/v1/eu/recherche

Request

  • Base URL: https://api.sirenic.eu
  • URL: https://api.sirenic.eu/v1/eu/recherche
  • Auth: one of:
    • none
    • API key in header X-Api-Key
    • HTTP bearer

Query parameters

qstring required

Company name: 2 to 100 characters once unsupported characters are stripped; 3 with pays=CH.

paysstring

Optional ISO-3166 alpha-2 country filter. Without it, every local copy is searched (BE, CY, EE, HR, IE, LT, LV, NO, RO, SE, and ES from the BORME) plus GLEIF; the live registers (CH, CZ, FI, SK) are only queried with it; PL goes through GLEIF (no name search at the register). DE, FR, NL: 400. BE, CH, CZ, DK, EE, HR, LT, LV, NO, RO, SE, SK: no natural-person enterprise, legal persons only: a sole trader (no legal form in BE, Einzelunternehmen in CH, ENK or estate in DK and NO, FIE in EE, t.p. in HR, IĮ in LT, IK in LV, PFA in RO, enskild firma in SE) or a form not recognised as a legal person is never listed: counted in ecartes, except where the register's own request leaves it out (CZ: ARES is asked for legal persons only, neither read nor counted: ecartes_filtres_amont) and where its copy keeps it nameless (neither matched nor counted: ecartes_non_mesures (NO, Norway)); FI, GB, IE: a form off the register's list too. ES: no sole trader's hoja; CH: no branch either. In every country, a GLEIF LEI of a natural person (sole proprietor category or natural-person legal form) or of an ambiguous legal form is left out the same way. GLEIF is not even asked for the sole proprietor category: such LEIs are neither read nor counted (ecartes_filtres_amont).

Response

Top 10 matches: country, national ID, name, normalized status, city, source register (local registers, GLEIF) and score_confiance (0-1). nombre_resultats counts every servable result the registers returned, not the 10 served (tronque: true beyond; note_troncature when it is a lower bound). A result the profile would refuse, or that its source flags as a natural person, is never listed: ecartes counts it by reason, with no identity (closed list: personne_physique, forme_juridique_non_reconnue, fiche_absente, forme_non_lue; rule in GET /v1/lecture), present only when a result is left out; filters apply before the cut, and ecartes covers a local copy whole, the whole Zefix and RPO lists and the whole PRH page; ecartes_non_mesures (NO, Norway) names, as a closed list even without ecartes, each copy read whose left-out entities, kept nameless, are neither matched nor counted. ecartes_filtres_amont (closed list: personne_physique, forme_juridique_non_reconnue) names what a register's own request left out, neither read nor counted (ARES: legal persons only; GLEIF: servable categories), even without ecartes. Registers run in PARALLEL under a time budget: a silent one is named in registres_muets (empty = all answered), never served as empty. All silent, or a register breaking its contract (contrat_amont_change): 503, not charged.

Changes

No recorded changes to this operation across all 1 revision of this API.