{"openapi":"3.1.0","info":{"title":"Sirenic API","version":"1.0.0","description":"French & European company data, pay-per-call in USDC or EURC — EURC at numeric parity: the same figure as the USDC price, not FX-converted (at the ECB rate of 4 Sept 2026, about 16 % more in dollar terms) via the x402 protocol — or with an API key and prepaid credits (1 credit = 1 EUR, same per-call prices, no wallet). France in depth plus European search & profiles (BE, CH, UK, NO, EE, LV, CZ, SK, FI, PL), Spanish BORME registry acts (ES, by hoja), Belgian, Finnish and Norwegian annual accounts, and large groups worldwide via LEI/GLEIF. Source: INSEE Sirene / INPI RNE via recherche-entreprises.api.gouv.fr (Etalab 2.0). Payment: x402, network eip155:8453, assets USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 or EURC 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42 (same numeric amount in either). API key: send X-Api-Key: srn_live_… (or Authorization: Bearer srn_live_…) on any /v1 call; the response carries X-Credits-Charged and X-Credits-Remaining. Create an account and keys at /compte. A signed x402 payment always takes precedence over a key. Toute réponse non-2xx (400, 402, 404, 5xx) n'est jamais facturée : le paiement x402 est annulé avant règlement — le transfert n'a pas lieu, il n'y a donc rien à rembourser. / Any non-2xx response is never charged: the x402 payment is cancelled before settlement — the transfer never happens, so there is nothing to refund.","contact":{"email":"contact@sirenic.eu"},"license":{"name":"Data: Licence Ouverte / Open License Etalab 2.0","url":"https://www.etalab.gouv.fr/licence-ouverte-open-licence/"}},"servers":[{"url":"https://api.sirenic.eu"}],"components":{"parameters":{"siren":{"in":"path","name":"siren","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}},"responses":{"Reponse400InvalidInput":{"description":"Invalid input. Body: {error, champ, message}. Never charged. / Jamais facturé."},"Reponse402PaymentRequired":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"Reponse503LocalRegister":{"description":"Local register not yet collected (`collecte_en_cours`), or its snapshot older than that country's freshness threshold (`photo_perimee` — Sweden: 21 days, matching the guard on Swedish events). A stale snapshot cannot assert a company's current status. Payment not settled; retrying does not help."},"Reponse200UnifiedJson":{"description":"Same unified JSON schema as /v1/eu/entreprise/{pays}/{id} (see its response example): identity, legal form, normalized status, creation date, head office, VAT, LEI, official register link, data freshness."}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Sirenic API key (srn_live_…) paying with prepaid credits (1 credit = 1 EUR, same prices as x402). Credits expire 12 months after purchase; calls are charged first to the credits closest to expiry. Optional: without it, the same routes answer 402 with a signable x402 quote. Insufficient balance → 402 {error: credits_insuffisants} WITHOUT a PAYMENT-REQUIRED header. Get a key at /compte."},"BearerAuth":{"type":"http","scheme":"bearer","description":"The same srn_live_… API key sent as Authorization: Bearer. A bearer value that is not an srn_ key is ignored (x402 flow unchanged)."}}},"security":[{},{"ApiKeyAuth":[]},{"BearerAuth":[]}],"paths":{"/v1/recherche":{"get":{"summary":"Search French companies by name or SIREN (top 10)","description":"French company search and company lookup by name or SIREN in the official French company registry (INSEE Sirene / INPI RNE open data). Name search returns the top 10 matches with identity, SIREN, NAF code, city and active/ceased status, plus a score_confiance (0-1 match confidence) that helps disambiguate homonyms. The entry point to official data and company data on France: resolve a trading name to its SIREN identifier before pulling the full company profile, filings or financials.","x-price":"$0.002","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"danone","description":"Company name, or a French identifier (SIREN, SIRET, VAT) — spaced or labelled (\"SIREN : 552 032 534\") resolves directly. Unsupported characters are stripped, not rejected; 400 only if nothing searchable is left (1-100 chars once cleaned)."}],"responses":{"200":{"description":"Top 10 matches with identity, SIREN, NAF, city, status and score_confiance (0-1 match confidence). When no result actually resembles the query (best confidence < 0.5), the body carries aucune_correspondance_fiable: true and a bilingual note_correspondance — the registry's closest guesses are still listed, but they are not the company you asked for. Served from the local Sirene index; if an index stage is abandoned (time budget exceeded or query error), the call falls back to the real-time registry API (data_freshness says so). Only when that fallback fails too is a partial answer served — flagged by resultats_partiels: true and the abandoned stage named in etages_abandonnes (always present; empty array = complete top 10). A degraded answer is never sold as complete.","content":{"application/json":{"example":{"total_results":10,"resultats":[{"siren":"552032534","denomination":"DANONE","statut_diffusion":"totale","etat_administratif":"actif","activite_principale":"70.10Z","commune_siege":"PARIS","code_postal_siege":"75009","score_confiance":1}],"source":"INSEE Sirene / INPI RNE via recherche-entreprises.api.gouv.fr, licence ouverte Etalab 2.0","disclaimer":"Données issues de l'open data, fournies en l'état sans garantie. / Open data, provided as is without warranty.","etages_abandonnes":[],"data_freshness":"stock Sirene mensuel (2026-08-01), dirigeants temps réel"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"The local index was degraded (a stage abandoned under its time budget or on a query error) and returned nothing, AND the real-time registry is unavailable (error: recherche_indisponible) — or the local stock is absent and the registry is down (error: amont_indisponible). Nothing is charged, retry in a few seconds."}}}},"/v1/entreprise/{siren}":{"get":{"summary":"Full company profile by SIREN","description":"Full French company profile by SIREN: official company data from the French company registry (INSEE Sirene / INPI RNE). One company lookup returns legal name, legal form, head-office address, NAF code, workforce bracket, creation date, active or ceased status, officers with name and role, collective agreement and the computed intra-EU VAT number. The core KYB building block for verifying a French counterparty: registry facts for due diligence, compliance and onboarding checks.","x-price":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"},{"name":"geo","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = include GPS coordinates (WGS84) of establishments"}],"responses":{"200":{"description":"Full profile: legal name, legal form, head office, NAF, workforce, officers, collective agreements (conventions_collectives, plus conventions_collectives_notes reading out technical IDCC codes such as 9999 = no agreement assigned), VAT number.","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","nature_juridique":"5599","activite_principale":"70.10Z","categorie_entreprise":"GE","tranche_effectif_salarie":"42","date_creation":"1955-01-01","etat_administratif":"actif","siege":{"siret":"55203253400703","adresse":"59 RUE LA FAYETTE 75009 PARIS","code_postal":"75009","commune":"PARIS"},"dirigeants":[{"type":"personne_morale","siren":"344366315","denomination":"ERNST & YOUNG AUDIT","fonction":"Commissaire aux comptes titulaire"}],"tva_intracommunautaire":"FR27552032534","nombre_etablissements":19,"index_egapro":[{"annee":2025,"note":86}],"source":"INSEE Sirene / INPI RNE via recherche-entreprises.api.gouv.fr, licence ouverte Etalab 2.0 ; index Egapro (ministère du Travail) et annuaire RGE (ADEME), licence ouverte Etalab 2.0","data_freshness":"stock Sirene mensuel (2026-07-01), dirigeants temps réel"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/etablissements":{"get":{"summary":"List establishments (SIRET) of a company","description":"All establishments (SIRET) of a French company: the complete list of business locations registered under one SIREN, official data from the French company registry (INSEE Sirene), head office and branches alike, each with its address and open or closed status. Use it to map the branches and addresses of a company across France, or to check whether a given SIRET is still open. The SIREN identifies the legal entity; the SIRET identifies each of its establishments.","x-price":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Establishments with addresses and open/closed status.","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","nombre_etablissements":19,"etablissements":[{"siret":"55203253400703","est_siege":true,"adresse":"59 RUE LA FAYETTE 75009 PARIS","code_postal":"75009","commune":"PARIS","etat_administratif":"actif","activite_principale":"70.10Z","date_creation":"2025-08-19","date_fermeture":null,"enseignes":[],"tranche_effectif_salarie":"NN"}],"source":"INSEE Sirene / INPI RNE via recherche-entreprises.api.gouv.fr, licence ouverte Etalab 2.0","disclaimer":"Données issues de l'open data, fournies en l'état sans garantie. / Open data, provided as is without warranty.","data_freshness":"stock Sirene mensuel (2026-07-01), dirigeants temps réel"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/alertes":{"get":{"summary":"Legal alerts from BODACC (insolvency, deregistration, business sales)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Announcements grouped by family (procedures collectives, radiations, ventes/cessions), most recent first, with judgment details. Each announcement carries `role`: `sujet` (this company is the debtor), `partie_citee` or `indetermine`. Since 2026-09-04, insolvency notices of ANOTHER company that merely cite this one as a party (creditor bank, counterparty) are served apart in `mentions_comme_partie` with the real debtor's name (`sujet_annonce`), and count towards NO verdict — a creditor listed in a debtor's conciliation judgment used to be scored as if it were in proceedings itself. `denomination` is the Sirene legal name (`denomination_source`), never the trade label of the latest notice.","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","procedures_collectives":[],"radiations":[],"ventes_cessions":[],"autres_annonces":{"Modifications diverses":63,"Dépôts des comptes":37},"total_annonces":106,"consulte_le":"2026-07-29T07:28:49.560Z","source":"BODACC (DILA) via bodacc-datadila.opendatasoft.com, licence ouverte Etalab 2.0","disclaimer":"Annonces officielles telles que publiées ; les avis rectificatifs et annulations sont restitués avec leur type, sans fusion. / Official announcements as published; rectifications and cancellations carry their type.","data_freshness":"BODACC temps réel (API DILA), cache 24 h"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/contentieux":{"get":{"summary":"Commercial-court decisions linked to the company (Judilibre open data)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Commercial-court decisions linked to the SIREN, most recent first (100 max, `tronque` beyond): court and code, date, docket number, closed-list `nature` and `role`, the other legal entities involved (SIREN + Sirene name), `redondante_bodacc` for insolvency judgments already served by /alertes, and the official Judilibre URL. Plus counts, the measured coverage (61.8% of decisions carry a usable identifier) and the source update date. Never a text, a natural person's name or an amount.","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","exhaustivite":"partielle","avertissement":"Une absence de résultat ne vaut pas absence de contentieux.","synthese":{"nombre_decisions":1,"par_nature":{"condamnation_ou_injonction_a_payer":1}},"decisions":[{"id_judilibre":"69f4703ccdc6046d4731b4af","date":"2026-04-30","juridiction":"Tribunal de commerce d'Orléans","nature":"condamnation_ou_injonction_a_payer","role":"demandeur","mode_rattachement":"identifiant_etiquete","confiance":"certain","url_officielle":"https://www.courdecassation.fr/decision/69f4703ccdc6046d4731b4af"}],"tronque":false,"source":"Cour de cassation — base Judilibre (open data, source juritcom), Licence Ouverte 2.0 ; dernière mise à jour de notre stock : 2026-09-10.","consulte_le":"2026-09-10T11:44:00Z","disclaimer":"Liens décision ↔ société par identifiant RCS/SIREN ; couverture partielle mesurée ; aucune donnée de personne physique. / Partial measured coverage; no natural-person data.","data_freshness":"stock Judilibre tcom collecté quotidiennement (dernier passage réussi : 2026-09-10) ; identité Sirene"}}}},"400":{"description":"Sole proprietorship (`entreprise_individuelle_non_couverte`) or restricted diffusion (`diffusion_partielle_non_couverte`): decisions are never linked to a natural person. Nothing is charged. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Judilibre stock not built yet (`collecte_en_cours`) or older than 7 days (`photo_perimee`). Nothing is charged."}}}},"/v1/entreprise/{siren}/accords-collectifs":{"get":{"summary":"Company-level collective agreements published on Légifrance (ACCO fund)","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Agreements, amendments and decisions published on Légifrance for the company, most recent first (100 max, `tronque` beyond): nature, title (masked when it names a person), DILA themes, signature / effect / end dates, IDCC, signatory unions, official link; `synthese` (counts, per nature and theme, texts signed in the last 24 months, IDCC coherence with Sirene) and `couverture` (SIRETs searched, texts consulted). Metadata only, never the text.","content":{"application/json":{"example":{"siren":"335146965","synthese":{"nombre_textes":5,"dernier_texte":"2025-12-30","coherence_idcc":"identique"},"textes":[{"id":"ACCOTEXT000053386910","nature":"avenant","titre":"AVENANT N°4 RENOUVELLEMENT ACCORD TELETRAVAIL","themes":["Télétravail"],"date_signature":"2025-12-30","url_legifrance":"https://www.legifrance.gouv.fr/acco/id/ACCOTEXT000053386910"}]}}}},"400":{"description":"Sole proprietorship (`entreprise_individuelle_non_couverte`) or restricted diffusion (`diffusion_partielle_non_couverte`): agreements are never linked to a natural person. Never charged. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Légifrance API unavailable or not configured (`legifrance_non_configure`). Nothing is charged."}}}},"/v1/entreprise/{siren}/finances":{"get":{"summary":"Annual financial data from filed accounts (INPI / Banque de France ratios)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Revenue, EBITDA, EBIT, net income and financial ratios per fiscal year (filed accounts; a confidential income statement is flagged, its balance sheet kept). Carries `decalage_analytique`: latest filing known at the register (INPI, live) vs latest year analysed, with a closed-list reason.","content":{"application/json":{"example":{"siren":"552032534","nombre_exercices":8,"exercices":[{"date_cloture":"2017-12-31","chiffre_affaires":609000000,"ebe":609000000,"resultat_net":176000000,"ratios":{"taux_endettement":4.982,"autonomie_financiere":40.738,"marge_ebe":100},"qualite":{"fiabilite":"a_verifier","anomalies":["ebe_non_calculable"],"champs_douteux":["couverture_interets","ebe","marge_brute","marge_ebe"],"champs_non_renseignes":[]}}],"perimetre_comptable":{"perimetre":"social","double_depot_confirme":true},"controles_coherence":[{"code":"ebe_non_calculable","portee":"bloquante","exercices":["2017-12-31"]}],"comptes_consolides":{"perimetre":"consolide","nombre_exercices":8,"exercices":[{"date_cloture":"2024-12-31","chiffre_affaires":27376000000,"resultat_net":null,"qualite":{"fiabilite":"exploitable","anomalies":["resultat_net_non_calcule","ratio_non_calcule"],"champs_douteux":[],"champs_non_renseignes":["ratio_liquidite","resultat_net"]}}]},"source":"Ratios financiers INPI / Banque de France (comptes annuels déposés) via data.economie.gouv.fr, licence ouverte 2.0","data_freshness":"jeu ratios_inpi_bce du 2026-06-01"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/marches-publics":{"get":{"summary":"Public procurement contracts won (official DECP data)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Aggregates (count and total amount as TWO bounds — raw per published row, and deduplicated per (buyer, date, amount, CPV) key —, contracts still running, next expiry) plus the 100 most recent contracts with buyer identity resolved, estimated end dates and a per-row publication status (unique, multi-platform, repeated, per-establishment, amendment) with linked rows.","content":{"application/json":{"example":{"siren":"130031487","nombre_marches":26,"montant_total":4943495.5,"nombre_accords_cadres":18,"montant_plafonds_accords_cadres":4162376,"montant_hors_accords_cadres":781119.5,"nombre_montants_enveloppe":20,"nombre_modalites_connues":26,"montant_enveloppes":4234476,"montant_prix_fermes":709019.5,"nombre_sous_traitance_connue":26,"nombre_sous_traitance_declaree":16,"nombre_sous_traitants":2,"montant_sous_traite":20910.24,"premier_marche":"2023-06-07","dernier_marche":"2026-06-01","marches_en_cours":18,"prochaine_echeance":"2026-12-17","marches":[{"id":"20262026100","objet":"ACTIONS DE FORMATION POUR LA SOUS SPECIALITE E1D ESPACES VERTS LOT 7 POUR LE COMPTE DE LA DELEGATION PAYS DE LA LOIRE DU CNFPT","montant":100000,"montant_modifie":null,"lot_numero":7,"co_traitance":false,"nombre_titulaires":1,"groupement":null,"date_notification":"2026-06-01","duree_mois":24,"duree_mois_modifiee":null,"date_fin_estimee":"2028-06-01","regime":"2022","accord_cadre":true,"montant_est_enveloppe":true,"modalites_execution":"Bons de commande","ccag":"Fournitures courantes et services","types_prix":"Définitif révisable","marche_innovant":false,"avance":{"attribuee":false,"taux":0},"origine":{"ue":0,"france":0},"plateforme_source":"DGFIP – PES MARCHÉ","avenant":null,"sous_traitance":{"declaree":false,"acte_id":null,"montant":null,"part_du_montant":null,"duree_mois":null,"date_notification":null,"variation_prix":null,"sous_traitant":null},"offres_recues":1,"acheteur":{"siret":"18001404502245","nom":"CENTRE NATIONAL DE LA FONCTION PUBLIQUE TERRITORIALE"},"nature":"Marché","procedure":"Procédure adaptée","code_cpv":"80530000-8","lieu_execution":"49000"}],"liste_tronquee":false,"source":"Données essentielles de la commande publique (DECP consolidées) via data.economie.gouv.fr, licence ouverte 2.0"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/marches/expirations":{"get":{"summary":"Tender anticipation: French public contracts expiring within a window","x-price":"$0.05","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"cpv","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{2,8}$"},"example":"45","description":"CPV prefix (45 = construction works)"},{"name":"departement","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:0[1-9]|1\\d|2[1-9]|[3-8]\\d|9[0-5]|2[AB]|97[1-8]|98[4-8])$"},"example":"69","description":"French department code (01-95, 2A, 2B, 971-978, 984-988)"},{"name":"fenetre_mois","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":24},"example":12,"description":"Window in months (default 12)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500},"example":1,"description":"50 contracts per page"}],"responses":{"200":{"description":"Contracts whose ESTIMATED end date (notification + initially declared duration; duration amendments are absent from the DECP source) falls inside the window, sorted by end date: buyer (SIRET + resolved name), incumbent holders, amount (after amendment when published), framework-agreement flag, CPV, department. Buyers typically re-tender 4-9 months before expiry. An empty list is scoped honestly: contracts under EUR 40k excl. VAT are unpublished.","content":{"application/json":{"example":{"filtres":{"cpv":"45","departement":null,"fenetre_mois":6},"total_marches":34249,"page":1,"pages":685,"marches":[{"id":"2777529","objet":"Travaux de menuiserie pour l'accueil de la DRFIP 44","acheteur":{"siret":"13001292500017","nom":"DIRECTION REGIONALE FINANCES PUBLIQUES PAYS DE LA LOIRE ET DEPARTEMENT LOIRE ATLANTIQUE"},"montant":9788.8,"accord_cadre":false,"montant_est_enveloppe":true,"modalites_execution":"Marchés subséquents","sous_traitance_declaree":false,"lot_numero":null,"date_notification":"2025-09-02","duree_mois":12,"date_fin_estimee":"2026-09-02","code_cpv":"45421100-5","departement":null,"titulaires_sortants":[{"siren":"501383251","nom":"SOGEA ATLANTIQUE BTP"}]}]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Anticipation stock not loaded yet (code `collecte_en_cours`): the extended DECP re-ingestion has not completed. Nothing is charged; retrying immediately will not help."}}}},"/v1/acheteur/{siret}/profil":{"get":{"summary":"Procurement profile of a French public buyer","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siret","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{14}$"},"example":"26310012500016","description":"14-digit SIRET of the buyer (Luhn-checked)"}],"responses":{"200":{"description":"Contract counts and amounts, activity by year (5y), top CPV segments, incumbent suppliers with contracts expiring within 18 months, framework-agreement share, average bids received per tender and median data-publication delay.","content":{"application/json":{"example":{"acheteur":{"siret":"26310012500016","siren":"263100125","nom":"CENTRE HOSPITALIER UNIVERSITAIRE DE TOULOUSE"},"nombre_marches":5723,"montant_total":11823128968.9,"montant_moyen":2065897,"marches_en_cours":4830,"echeances_12_mois":1167,"prochaine_echeance":"2026-09-05","habitudes":{"part_accords_cadres_pct":78.4,"offres_recues_moyenne":3.5,"delai_publication_median_jours":11,"part_montants_enveloppe_pct":79.8,"modalites_connues":5723,"part_sous_traitance_declaree_pct":77.6,"sous_traitance_connue":5723,"part_avances_pct":57.4,"avance_connue":5723,"ccag_dominant":"Fournitures courantes et services","types_prix_dominant":"Définitif révisable","plateforme_publication_dominante":"DGFIP – PES MARCHÉ"},"top_cpv":[{"cpv4":"3300","nombre":3002}],"titulaires_principaux":[{"siren":"433944485","nom":"ARROW GENERIQUES","nombre_marches":164,"marches_expirant_18_mois":67}]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Anticipation stock not loaded yet (code `collecte_en_cours`). Nothing is charged."}}}},"/v1/entreprise/{siren}/concurrents-marches":{"get":{"summary":"Rival contractors on the same CPV segments (public procurement)","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"130031487"}],"responses":{"200":{"description":"The company's top-5 CPV segments (last 5 years) and the top-15 rival contractors on those segments over the last 3 years, with contract counts, total amounts and shared segments.","content":{"application/json":{"example":{"siren":"130031487","segments_cpv":[{"cpv4":"7999","nombre":7},{"cpv4":"8053","nombre":4}],"periode_comparaison_annees":3,"concurrents":[{"siren":"444523526","nom":"ARTELIA","nombre_marches":262,"montant_total":116410066.59,"segments_communs":["7124","7931"]}]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Anticipation stock not loaded yet (code `collecte_en_cours`). Nothing is charged."}}}},"/v1/eu/recherche":{"get":{"summary":"Search European companies across official registers (unified schema)","x-price":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"equinor","description":"Company name — 2 to 100 characters once unsupported characters are stripped."},{"name":"pays","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2}$"},"example":"NO","description":"Optional ISO-3166 alpha-2 country filter"}],"responses":{"200":{"description":"Top 10 matches with country, national ID, name, normalized status, city, source register (local registers + worldwide GLEIF) and score_confiance (0-1 match confidence). Registers are queried in PARALLEL, each under a time budget: any register that stays silent is REPORTED in registres_muets (empty array = every queried register answered) — a silent miss is never served as an empty result. If every register is silent, the call is a 503 and nothing is charged.","content":{"application/json":{"example":{"nombre_resultats":10,"registres_muets":[],"resultats":[{"pays":"NO","id_national":"923609016","denomination":"EQUINOR ASA","statut":"actif","ville":"STAVANGER","registre":"Enhetsregisteret (Brønnøysundregistrene)","correspondance":"registre_local","score_confiance":1}],"pays_couverts":[{"pays":"NO","registre":"Enhetsregisteret (Brønnøysundregistrene)","mode":"base locale","entites":1168483}],"source":"Registres officiels : Brønnøysundregistrene (NO, NLOD), e-Business Register (EE, CC-BY 4.0), Uzņēmumu reģistrs (LV), KBO/BCE (BE), CVR (DK), Companies House (GB, OGL), ARES (CZ), Register právnických osôb (SK, CC-BY 4.0), PRH/YTJ (FI, CC-BY 4.0), Krajowy Rejestr Sądowy (PL), Zefix (CH, OGD), Bolagsverket (SE), GLEIF (CC0)","disclaimer":"Données rediffusées telles que publiées par les registres officiels, dans un schéma unifié ; `statut` est une normalisation en 3 valeurs, le libellé source est conservé dans `statut_detail`. / Official register data as published, unified schema; `statut` is a 3-value normalization."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/{pays}/{id}":{"get":{"summary":"Unified European company profile","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"pays","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2}$"},"example":"NO","description":"ISO-3166 alpha-2 country code (NO, EE, LV, BE, CH, CZ, SK, FI, PL; DK/GB when enabled)"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"923609016","description":"National register identifier"}],"responses":{"200":{"description":"Same JSON schema for every country: identity, legal form, normalized status (+ source label), creation date, head office, VAT, LEI, official register link, data freshness. Belgian profiles also carry NACEBEL activities (French labels) and the establishment-unit list. Plus score_defaillance (statut non_evaluable + closed-list reasons: no default-risk score outside France — see GET /v1/lecture).","content":{"application/json":{"example":{"pays":"GB","registre":"Companies House","id_national":"00000006","lei":null,"denomination":"MARINE AND GENERAL MUTUAL LIFE ASSURANCE SOCIETY","forme_juridique":{"code":"private-unlimited-nsc","libelle":null},"statut":"cesse","statut_detail":"dissolved","date_creation":"1862-10-25","adresse_siege":{"adresse":"Cms Cameron Mckenna Llp Cannon Place","code_postal":"EC4N 6AF","ville":"London","pays":"GB"},"activite":{"nomenclature":"SIC-2007","code":"65110","libelle":null},"identifiants":{"tva":null,"lei":null},"lien_registre":"https://find-and-update.company-information.service.gov.uk/company/00000006","data_freshness":"Companies House temps réel (cache 24 h)","source":"Registres officiels : Brønnøysundregistrene (NO, NLOD), e-Business Register (EE, CC-BY 4.0), Uzņēmumu reģistrs (LV), KBO/BCE (BE), CVR (DK), Companies House (GB, OGL), ARES (CZ), Register právnických osôb (SK, CC-BY 4.0), PRH/YTJ (FI, CC-BY 4.0), Krajowy Rejestr Sądowy (PL), Zefix (CH, OGD), Bolagsverket (SE), GLEIF (CC0)","disclaimer":"Données rediffusées telles que publiées par les registres officiels, dans un schéma unifié ; `statut` est une normalisation en 3 valeurs, le libellé source est conservé dans `statut_detail`. / Official register data as published, unified schema; `statut` is a 3-value normalization."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/BE/{id}":{"get":{"summary":"BE company profile from its national register","description":"Official Belgian company registry lookup (KBO/BCE, Banque-Carrefour des Entreprises / Kruispuntbank van Ondernemingen). Query: /v1/eu/entreprise/BE/0403199702 (10-digit enterprise number, with or without dots). Returns legal name, legal form, normalized status, incorporation date, registered office, NACEBEL activities with French labels, the establishment-unit list, VAT number and LEI, plus a link to the official register entry — Belgian company data from KBO/BCE open data, refreshed daily.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"0403170701","description":"National register identifier for BE."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/CH/{id}":{"get":{"summary":"CH company profile from its national register","description":"Official Swiss company registry lookup (Zefix — Central Business Name Index / Registre central du commerce), covering companies registered in Switzerland. Query: /v1/eu/entreprise/CH/CHE-107.480.920 (CHE UID number, with or without dots). Returns legal name, legal form, normalized status, registered office and the cantonal register link — Swiss company data live from Zefix. Same unified JSON schema as every Sirenic European company profile.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"CHE-107.480.920","description":"National register identifier for CH."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/NO/{id}":{"get":{"summary":"NO company profile from its national register","description":"Official Norwegian company registry lookup (Brønnøysundregistrene / Enhetsregisteret — BRREG open data). Query: /v1/eu/entreprise/NO/923609016 (9-digit organisasjonsnummer). Returns legal name, legal form, normalized status, incorporation date, registered office, VAT/MVA and LEI — Norwegian company data from Norway's official register, the Enhetsregisteret (NLOD open data). Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"923609016","description":"National register identifier for NO."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/CZ/{id}":{"get":{"summary":"CZ company profile from its national register","description":"Official Czech company registry lookup (ARES — register of economic subjects, Ministry of Finance of Czechia). Query: /v1/eu/entreprise/CZ/45274649 (8-digit IČO / ICO identifier). Returns legal name, legal form, normalized status, incorporation date, registered office and the DIČ (DIC) VAT number — Czech company data live from ARES, the official register of companies in Czechia. Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"45274649","description":"National register identifier for CZ."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/SK/{id}":{"get":{"summary":"SK company profile from its national register","description":"Official Slovak company registry lookup (RPO — Register právnických osôb, the register of legal entities of Slovakia, Statistical Office SR, CC-BY). Query: /v1/eu/entreprise/SK/35763469 (8-digit IČO / ICO identifier). Returns legal name, legal form, normalized status, incorporation date and registered office — Slovak company data live from the official RPO register of Slovakia. Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"35763469","description":"National register identifier for SK."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/FI/{id}":{"get":{"summary":"FI company profile from its national register","description":"Official Finnish company registry lookup (PRH / YTJ — Finnish Patent and Registration Office Business Information System, CC-BY). Query: /v1/eu/entreprise/FI/0112038-9 (Business ID / Y-tunnus). Returns legal name, legal form, normalized status, registered office and the FI VAT number — Finnish company data live from the PRH open data API, covering companies registered in Finland. Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"0112038-9","description":"National register identifier for FI."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/PL/{id}":{"get":{"summary":"PL company profile from its national register","description":"Official Polish company registry lookup (KRS — Krajowy Rejestr Sądowy, the National Court Register of Poland, Ministry of Justice). Query: /v1/eu/entreprise/PL/0000006865 (10-digit KRS number). Returns legal name, legal form, normalized status, incorporation date and registered office — Polish company data live from KRS (officers anonymized at the source). Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"0000006865","description":"National register identifier for PL."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/EE/{id}":{"get":{"summary":"EE company profile from its national register","description":"Official Estonian company registry lookup (e-Business Register / Äriregister of Estonia). Query: /v1/eu/entreprise/EE/12417834 (8-digit registrikood). Returns legal name, legal form, normalized status, incorporation date and registered office — Estonian company data from Estonia's official e-Business Register. Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"12417834","description":"National register identifier for EE."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/LV/{id}":{"get":{"summary":"LV company profile from its national register","description":"Official Latvian company registry lookup (Uzņēmumu reģistrs / Uznemumu registrs — the Register of Enterprises of Latvia). Query: /v1/eu/entreprise/LV/40003245752 (11-digit registration number). Returns legal name, legal form, normalized status, incorporation date and registered office — Latvian company data from Latvia's official register. Unified JSON schema shared by all Sirenic European company profiles.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"40003245752","description":"National register identifier for LV."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/SE/{id}":{"get":{"summary":"SE company profile from its national register","description":"Official Swedish company registry lookup (Bolagsverket — Swedish Companies Registration Office). Query: /v1/eu/entreprise/SE/5560012402 (10-digit organisationsnummer). Returns legal name, legal form, normalized status, registration date and registered office — Swedish company data for Sweden, from Bolagsverket's official weekly national file, free of charge under the EU high-value datasets regulation. Part of Sirenic's Nordics coverage, unified JSON schema.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"5560012402","description":"National register identifier for SE."}],"x-exemple-partage":"/v1/eu/entreprise/{pays}/{id}","responses":{"200":{"$ref":"#/components/responses/Reponse200UnifiedJson"},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"$ref":"#/components/responses/Reponse503LocalRegister"}}}},"/v1/eu/entreprise/ES/{hoja}/actes":{"get":{"summary":"Spanish company acts from the BORME gazette (Registro Mercantil, section A), by hoja registral","description":"Spanish company acts from the official BORME gazette (Registro Mercantil, section A) by hoja registral — the register key, e.g. VI-23141: incorporations, officer appointments and dismissals (role + name), capital changes, mergers, dissolutions, insolvency. Daily filings flow since 2009, newest first (100 max + total count). Spanish personal IDs (DNI/NIE) and natural-person sole-shareholder names are redacted at ingestion. Basado en datos de la Agencia Estatal Boletin Oficial del Estado (boe.es).","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"hoja","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9 .-]{1,24}$"},"example":"VI-23141","description":"Hoja registral (register-sheet key, e.g. VI-23141) — get it from /v1/eu/recherche?pays=ES. The BORME does not publish the NIF; the hoja is the native key."}],"responses":{"200":{"description":"Company acts, newest first (100 max + total count): date, province, open-vocabulary types, full act body. GDPR redactions (DNI/NIE, natural-person sole shareholders) are marked « […] » as required by the BOE licence. Officer names (role + name) are served as published.","content":{"application/json":{"example":{"pays":"ES","hoja":"VI-14412","denomination":"OSG IBERICA TOOLING, SOCIEDAD LIMITADA","nif":null,"rattachement_nif":"non disponible — le BORME (sección A) ne publie pas le NIF","nombre_actes":1,"actes_tronques":false,"actes":[{"fecha":"2026-07-23","numero":344928,"provincia":"ARABA/ÁLAVA","id_document":"BORME-A-2026-140-01","types":["fusion por absorcion"],"corps":"Fusión por absorción. Sociedades absorbidas: OSG NST IBERICA SOCIEDAD LIMITADA.  Datos registrales. S 8 , H VI 14412, I/A 32 (15.07.26)."}],"source":"BORME sección A (actos inscritos) — Basado en datos de la Agencia Estatal Boletín Oficial del Estado (https://www.boe.es)"}}}},"400":{"description":"Invalid hoja format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown hoja (no act since 2009) or non-ES country — payment cancelled."}}}},"/v1/eu/entreprise/NO/{id}/comptes":{"get":{"summary":"Norwegian annual accounts (Regnskapsregisteret) — latest year live + every year accumulated since 2026-07","description":"Norwegian company annual accounts and financial statements from Norway's official Regnskapsregisteret (Brønnøysundregistrene, Brreg, NLOD 2.0). Query: /v1/eu/entreprise/NO/923609016/comptes (9-digit organisasjonsnummer). Latest filed fiscal year live from the register plus earlier years collected since 2026-07 — financials: balance sheet (assets, equity, debts), P&L (operating income and result, net result) in the filing currency (can be USD). Banks and insurers are not served by the source.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"923609016","description":"9-digit Norwegian organisasjonsnummer (no spaces)"}],"responses":{"200":{"description":"All fiscal years accumulated for this company, newest first: balance sheet (total assets, fixed/current assets, equity, debts short/long term), P&L (operating income and result, pre-tax and net result), filing currency (can be USD — never converted), small-company regime and liquidation flags, plus per-year collection date. The register only serves the latest year: earlier years appear once Sirenic has seen them (accumulated since 2026-07).","content":{"application/json":{"example":{"pays":"NO","id_national":"923609016","nombre_exercices":1,"exercices":[{"date_cloture":"2024-12-31","debut_exercice":"2024-01-01","devise":"USD","oppstillingsplan":"store","petite_entreprise":false,"bilan":{"total_actif":109150000000,"capitaux_propres":41090000000,"dettes":68060000000},"resultat":{"produits_exploitation":72543000000,"resultat_net":8141000000},"collecte_le":"2026-07-29"}],"source":"Data from Brønnøysundregistrene — Regnskapsregisteret (data.brreg.no), licence NLOD 2.0","licence":"Data from Brønnøysundregistrene, NLOD 2.0","disclaimer":"Le Regnskapsregisteret ouvert ne sert que le DERNIER exercice déposé","score_defaillance":{"statut":"non_evaluable","pays":"NO","version":"evaluabilite-v1","raisons":["axes_hors_d_atteinte","historique_a_la_demande","bareme_non_calibre_pour_le_pays"],"postes_normalises":["produits_exploitation"],"ratios_hors_d_atteinte":["marge_ebe"],"flux_insolvabilite":"stock","lecture":"Aucun score pour cette entité : `raisons` dit, en liste fermée, ce qui manque au barème pour ce pays. Ni score bas, ni signal, ni absence de risque : aucune bande, aucun classement. / No score for this entity: `raisons` lists, closed, what the scorecard lacks for this country. Neither a low score, nor a signal, nor an absence of risk: no band, no ranking."}}}}},"400":{"description":"Invalid organisasjonsnummer (9 digits, no spaces) — or a per-year sub-path, which does not exist for NO. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No annual accounts in the open register for this organisation number — payment cancelled."},"502":{"description":"Upstream error — banks and insurers are not served by the open Norwegian accounts API; payment cancelled."}}}},"/v1/eu/entreprise/NO/{id}/evenements":{"get":{"summary":"Norwegian legal events (Enhetsregisteret) — bankruptcy, winding-up, strike-off","description":"Norwegian company legal events from the official Enhetsregisteret (Brreg, NLOD 2.0) for insolvency and credit risk monitoring: bankruptcy (konkurs, with the registered date), voluntary or compulsory liquidation, and strike-off, plus current flags checked live. 9-digit organisasjonsnummer. A live-verified company with no flag gets an explicit positive answer. Coarser than France's BODACC: no ruling text, no court; undated events carry an upper-bound date. Legal persons only, never individuals.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"926455249","description":"9-digit Norwegian organisasjonsnummer (no spaces)"}],"responses":{"200":{"description":"Legal events newest first (closed vocabulary: faillite, faillite_levee, dissolution, dissolution_levee, dissolution_forcee, dissolution_forcee_levee, radiation) with `origine_date` — `registre` when Brønnøysundregistrene publishes the date (bankruptcy, strike-off), `constatation` when it publishes none and Sirenic saw the flag switch, `premiere_observation` when the flag was already raised at first sight: then `date_au_plus_tard: true` and the date is only an UPPER BOUND (started on or before). Plus `etat_courant` (flags re-checked live, `lecture_directe` telling how), `journal.derniere_collecte` (journal freshness) and `aucun_evenement: true` as an explicit positive answer — asserted only on a live-verified record, with no raised flag, not struck off, and a current journal. NLOD 2.0 attribution in every response. 3-year window — the source's own republication limit — except a still-open procedure, whose opening event is always served.","content":{"application/json":{"example":{"pays":"NO","id_national":"926455249","denomination":"123 HOLDING AS","forme_juridique":"AS","etat_courant":{"faillite":true,"faillite_date":"2026-02-27","radie_le":null,"verifie_en_direct":true,"lecture_directe":"verifiee"},"evenements":[{"type":"faillite","libelle":"Bankruptcy opened (konkurs)","date":"2026-02-27","origine_date":"registre","date_au_plus_tard":false}],"nombre_evenements":1,"aucun_evenement":false,"source":"Data from Brønnøysundregistrene — Enhetsregisteret (data.brreg.no), licence NLOD 2.0","licence":"Data from Brønnøysundregistrene, NLOD 2.0"}}}},"400":{"description":"Invalid organisasjonsnummer (9 digits, no spaces) — payment not taken. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown organisation number; a natural-person legal form (ENK, PERS, TVAM) or an estate named after one (KBO, BO), never served; or any legal form not on the recognised legal-person whitelist — payment cancelled."},"503":{"description":"Norwegian legal-events baseline not collected yet (fail-closed), or register unreachable for an unknown company — payment cancelled."}}}},"/v1/eu/entreprise/GB/{company_number}/dirigeants":{"get":{"summary":"UK company officers (Companies House, live) — active directors and secretaries","description":"UK company officers live from Companies House, the official UK company registry, by company number (e.g. GB/00102498): active directors and secretaries with role, appointment date, nationality, occupation, country of residence and month+year of birth only — never a correspondence address (GDPR minimisation). Resigned-officer count included. Built for KYB and due diligence on director appointments and governance. Contains public sector information licensed under the Open Government Licence v3.0.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"company_number","in":"path","required":true,"schema":{"type":"string","pattern":"^([0-9]{8}|[A-Za-z]{2}[0-9]{6}|[A-Za-z][0-9]{7})$"},"example":"00102498","description":"Companies House company number (8 characters incl. leading zeros, e.g. 00102498, SC123456, NI017460)"}],"responses":{"200":{"description":"Active officers with role, appointment date, nationality, occupation, country of residence and month+year of birth only (GDPR minimisation: no correspondence address), plus active/resigned counts. OGL v3.0 attribution in `source`.","content":{"application/json":{"example":{"pays":"GB","company_number":"00000006","nombre_actifs":0,"nombre_demissionnes":49,"tronque":false,"dirigeants":[{"nom":"<nom du dirigeant>","fonction":"director","nomme_le":null,"nationalite":null,"profession":null,"pays_de_residence":null,"naissance":null}],"source":"Companies House (api.company-information.service.gov.uk). Contains public sector information licensed under the Open Government Licence v3.0 (Companies House).","data_freshness":"Companies House temps réel (cache 24 h)"}}}},"400":{"description":"Invalid company number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown company number — payment cancelled."},"503":{"description":"Companies House key not configured or upstream quota reached — payment cancelled."}}}},"/v1/eu/entreprise/GB/{company_number}/beneficiaires-effectifs":{"get":{"summary":"UK beneficial owners (PSC register, Companies House, live)","description":"UK beneficial owners (PSC, persons with significant control) live from Companies House for AML, KYB and compliance: individual and corporate-entity PSCs with natures of control (ownership/voting bands), notification dates, plus official PSC statements. Ceased PSCs excluded by default (inclure_cesses=true adds them with their ceased date). Beyond French-registry parity — France exposes no open UBO register. Month+year of birth only, no addresses. Open Government Licence v3.0 (Companies House).","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"company_number","in":"path","required":true,"schema":{"type":"string","pattern":"^([0-9]{8}|[A-Za-z]{2}[0-9]{6}|[A-Za-z][0-9]{7})$"},"example":"08130873","description":"Companies House company number"},{"name":"inclure_cesses","in":"query","required":false,"schema":{"type":"string","enum":["true"]},"description":"Also return ceased PSCs (with their ceased_on date)"}],"responses":{"200":{"description":"Individual and corporate-entity PSCs (natures of control, notification dates), PSC statements, exemption flag for listed companies. Ceased PSCs excluded unless inclure_cesses=true. No address, month+year of birth only.","content":{"application/json":{"example":{"pays":"GB","company_number":"00446915","nombre_actifs":1,"nombre_cesses":0,"exemption_possible":false,"beneficiaires":[{"type":"entite","nom":"Bp International Limited","notifie_le":"2016-04-06","natures_de_controle":["ownership-of-shares-75-to-100-percent"],"identification":{"forme_juridique":"Limited By Shares","registre":"Companies House","numero_registre":"00542515"}}],"declarations":[],"source":"Companies House (api.company-information.service.gov.uk). Contains public sector information licensed under the Open Government Licence v3.0 (Companies House).","data_freshness":"Companies House temps réel (cache 24 h)"}}}},"400":{"description":"Invalid company number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown company number — payment cancelled."},"503":{"description":"Companies House key not configured or upstream quota reached — payment cancelled."}}}},"/v1/eu/entreprise/GB/{company_number}/insolvabilite":{"get":{"summary":"UK company insolvency record (Companies House, live)","description":"UK company insolvency record for credit risk and compliance screening, live from Companies House by company number: liquidation (compulsory or voluntary), administration, receivership and other cases with their dates and insolvency practitioners (name and role only, no addresses). A company with NO recorded case returns an explicit positive answer (200, aucune_procedure) — the register is authoritative, an empty record is a fact. Open Government Licence v3.0 (Companies House).","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"company_number","in":"path","required":true,"schema":{"type":"string","pattern":"^([0-9]{8}|[A-Za-z]{2}[0-9]{6}|[A-Za-z][0-9]{7})$"},"example":"NI017460","description":"Companies House company number"}],"responses":{"200":{"description":"Insolvency cases (type, dates, practitioners without addresses) — or an explicit positive `aucune_procedure: true` when the register records no case (the registrar is authoritative).","content":{"application/json":{"example":{"pays":"GB","company_number":"NI017460","aucune_procedure":false,"statuts":["liquidation"],"cas":[{"type":"compulsory-liquidation","numero":"1","dates":[{"type":"wound-up-on","date":"2008-11-20"}],"praticiens":[{"nom":"<nom du praticien de l'insolvabilité>","role":"practitioner","nomme_le":null,"fin_de_mission_le":null}],"notes":[]}],"source":"Companies House (api.company-information.service.gov.uk). Contains public sector information licensed under the Open Government Licence v3.0 (Companies House).","data_freshness":"Companies House temps réel (cache 24 h)"}}}},"400":{"description":"Invalid company number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown company number — payment cancelled."},"503":{"description":"Companies House key not configured or upstream quota reached — payment cancelled."}}}},"/v1/eu/entreprise/LV/{regnr}/comptes":{"get":{"summary":"Latvian annual accounts (Uzņēmumu reģistrs / VID filings) — every filed fiscal year in one call","description":"Latvian company annual accounts — official financial statements from VID filings via the Uzņēmumu reģistrs open data of Latvia (CC0, daily). Query: /v1/eu/entreprise/LV/40003032065/comptes (11-digit registration number). EVERY filed fiscal year in one call: balance sheet, profit and loss (revenue, net income), cash flow when filed, employees, as published (EUR, LVL before 2014; statutory and consolidated filings kept apart). Null = not published, never zero.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"},"example":"40003032065","description":"11-digit Latvian registration number"}],"responses":{"200":{"description":"Every filed fiscal year, newest first: balance sheet, P&L, cash flow when filed, employees — as published (filing currency EUR or LVL, published rounding unit; statutory and consolidated filings kept apart via `perimetre`). CC0 attribution (Uzņēmumu reģistrs / VID, data.gov.lv) in every response.","content":{"application/json":{"example":{"pays":"LV","id_national":"40003032949","nombre_exercices":2,"exercices":[{"date_cloture":"2025-12-31","exercice":2025,"perimetre":"statutaire","devise":"EUR","arrondi":"THOUSANDS","employes":1389,"bilan":{"total_actif":4189397},"compte_resultat":{"chiffre_affaires":949824},"flux_tresorerie":{"flux_exploitation":376739}}],"source":"Uzņēmumu reģistrs / VID — open data data.gov.lv","licence":"Uzņēmumu reģistrs / VID, data.gov.lv, CC0 1.0","disclaimer":"Postes clés des rapports annuels déposés au VID, tels que publiés par l'Uzņēmumu reģistrs (CC0)"}}}},"400":{"description":"Invalid registration number (11 digits) — or a per-year sub-path, which does not exist for LV. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No filed annual accounts for this registration number — payment cancelled."},"503":{"description":"Latvian accounts stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/LV/{regnr}/insolvabilite":{"get":{"summary":"Latvian company insolvency record (Uzņēmumu reģistrs, daily national photo)","description":"Latvian company insolvency record from the official Uzņēmumu reģistrs open data (CC0, daily photo since 2008), built for credit risk and compliance screening: insolvency and legal protection proceedings in Latvia with start/end dates, resolution, court and case number. A registered company with NO proceeding returns an explicit positive answer (200, aucune_procedure: true) — the register is authoritative. 11-digit registration number.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"regnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"},"example":"40003032065","description":"11-digit Latvian registration number"}],"responses":{"200":{"description":"Insolvency and legal-protection proceedings (dates, resolution, court, case number; null end date = ongoing) — or an explicit positive `aucune_procedure: true` for a registered company with no proceeding (the register is authoritative).","content":{"application/json":{"example":{"pays":"LV","id_national":"40103144555","aucune_procedure":false,"procedures":[{"proceeding_id":90134947,"debiteur":"SIA \"NaviFleet\"","debut":"2025-10-14","fin":null,"forme":"LEGAL_PROTECTION","type":"NATIONAL","resolution":null,"numero_affaire":"C771723525","tribunal":"Rīgas pilsētas tiesa"}],"source":"Uzņēmumu reģistrs / VID — open data data.gov.lv (Gada pārskatu finanšu dati, Maksātnespējas procesi, Amatpersonas, Patiesie labuma guvēji), licence CC0 1.0","data_freshness":"photo quotidienne data.gov.lv pré-ingérée (MAJ amont ~20:25 UTC)"}}}},"400":{"description":"Invalid registration number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown registration number — payment cancelled."},"503":{"description":"Latvian insolvency stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/LV/{regnr}/dirigeants":{"get":{"summary":"Latvian company officers (Uzņēmumu reģistrs, refreshed daily)","description":"Latvian company officers and directors from the official Uzņēmumu reģistrs (Latvia's company registry) open data (CC0, daily): board members, chairs, liquidators and other representatives with name, role, governing body, representation rights (individually/jointly) and registration date; corporate officers carry their own registration number. For KYB and governance. GDPR minimisation: never the Latvian personal identity number, birth month+year only when published. 11-digit registration number.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"regnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"},"example":"40003032065","description":"11-digit Latvian registration number"}],"responses":{"200":{"description":"Board members, chairs, liquidators and other representatives: name, role, governing body, representation rights, registration date; corporate officers carry their own registration number. Never the Latvian personal identity number; birth month+year only when published.","content":{"application/json":{"example":{"pays":"LV","id_national":"40203109838","nombre_dirigeants":1,"dirigeants":[{"type":"entite","nom":"SIA \"ENESAN\"","fonction":"MEMBER","organe":null,"naissance":null,"regnr_entite":"40103761688","representation":"INDIVIDUALLY","representation_minimum":0,"inscrit_le":"2019-04-29"}],"source":"Uzņēmumu reģistrs / VID — open data data.gov.lv (Gada pārskatu finanšu dati, Maksātnespējas procesi, Amatpersonas, Patiesie labuma guvēji), licence CC0 1.0","licence":"Uzņēmumu reģistrs / VID, data.gov.lv, CC0 1.0"}}}},"400":{"description":"Invalid registration number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown registration number — payment cancelled."},"503":{"description":"Latvian officers stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/LV/{regnr}/beneficiaires-effectifs":{"get":{"summary":"Latvian beneficial owners (patiesie labuma guvēji, open national UBO register)","description":"Latvian beneficial owners (patiesie labuma guvēji) from the official Uzņēmumu reģistrs open data (CC0, refreshed daily), for AML, KYB and compliance ownership checks: registered UBOs in Latvia with name, nationality, country of residence and registration date — an open national UBO register, depth France does not expose. GDPR minimisation: never the Latvian personal identity number, birth month+year only when published. 11-digit registration number.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"regnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"},"example":"40003032065","description":"11-digit Latvian registration number"}],"responses":{"200":{"description":"Registered beneficial owners: name, nationality, country of residence, registration date. An empty list for a registered company reflects the register (non-registration cases exist). Never the Latvian personal identity number; birth month+year only when published.","content":{"application/json":{"example":{"pays":"LV","id_national":"40003229495","nombre_beneficiaires":2,"beneficiaires":[{"prenom":"<prénom du bénéficiaire effectif>","nom":"<nom du bénéficiaire effectif>","naissance":null,"nationalite":"LV","residence":"LV","inscrit_le":"2019-05-02"}],"source":"Uzņēmumu reģistrs / VID — open data data.gov.lv (Gada pārskatu finanšu dati, Maksātnespējas procesi, Amatpersonas, Patiesie labuma guvēji), licence CC0 1.0","licence":"Uzņēmumu reģistrs / VID, data.gov.lv, CC0 1.0"}}}},"400":{"description":"Invalid registration number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown registration number — payment cancelled."},"503":{"description":"Latvian beneficial-owners stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/LV/{regnr}/evenements":{"get":{"summary":"Latvian company legal events (Uzņēmumu reģistrs — liquidations, reorganisations, VID suspensions, securing measures)","description":"Latvian company legal events from the official Uzņēmumu reģistrs open data (CC0, daily photo): liquidations and activity terminations (incl. by court or tax authority), mergers, acquisitions, divisions and transformations with the other company's number, VID activity suspensions, securing measures (prohibitions, liens, attachments) with the registering institution. Closed-list types plus source code and wording. A registered company with no event gets aucun_evenement: true. 11-digit number.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"regnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"},"example":"40003032065","description":"11-digit Latvian registration number"}],"responses":{"200":{"description":"Register events, newest first: famille (liquidation, reorganisation, suspension, surete), closed-list type plus source code and wording, date, the register's own wording (fondement), the other company and role for a reorganisation, case number and registering institution for a securing measure — or an explicit `aucun_evenement: true` for a registered company with no event.","content":{"application/json":{"example":{"pays":"LV","id_national":"50203219311","nombre_evenements":2,"aucun_evenement":false,"evenements":[{"famille":"liquidation","type":"cessation_activite","type_source":"ACTIVITY_TERMINATED","libelle_source":"Darbības izbeigšana","date":"2026-08-31","fondement":"Latvijas Republikas Uzņēmumu reģistra valsts notāra 03.07.2026. lēmums Nr.6-12/53992","role":"objet","societe_liee":null,"numero_affaire":null,"institution":null,"inscrit_le":"2026-08-31T11:37:11Z"},{"famille":"surete","type":"interdiction","type_source":"PROHIBITION","libelle_source":"Aizliegums","date":"2025-07-28","fondement":"Piemērots aizliegums reorganizācijai un dalībnieku maiņai","role":"objet","societe_liee":null,"numero_affaire":"32.1/17.22.1/25774","institution":{"type":"administration_fiscale","nom":"Valsts ieņēmumu dienests","regnr":"90000069281"},"inscrit_le":null}],"licence":"Uzņēmumu reģistrs / VID, data.gov.lv, CC0 1.0"}}}},"400":{"description":"Invalid registration number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown registration number — payment cancelled."},"503":{"description":"Latvian events stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/LV/{regnr}/associes":{"get":{"summary":"Latvian company members and shareholders (Uzņēmumu reģistrs — corporate holders named, natural persons counted)","description":"Latvian company members and shareholders from the official Uzņēmumu reģistrs open data (CC0, daily): SIA members (parts) and AS registered shareholders with number of shares, nominal value and currency as published (LVL before 2014), votes, share of nominal capital and holding start date. Corporate holders are named with their registration number; natural persons are COUNTED, never named (GDPR); dematerialised shares show the depository only. Group links for KYB. 11-digit number.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"regnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"},"example":"40003032065","description":"11-digit Latvian registration number"}],"responses":{"200":{"description":"Members (SIA) and registered shareholders (AS): type (personne_morale, personne_morale_etrangere, personne_physique, copropriete, depositaire), name and number for legal persons only, holdings as published (number, nominal value, currency, votes), share of nominal capital when computable, holding dates; plus a capital summary. `aucun_associe_inscrit: true` for a registered company with no filed member.","content":{"application/json":{"example":{"pays":"LV","id_national":"40103774127","aucun_associe_inscrit":false,"nombre_associes":2,"associes":[{"type":"personne_morale","nom":"JC, Sabiedrība ar ierobežotu atbildību","regnr_entite":"40003666739","titres":{"nature":"parts_sociales","nombre":1530,"valeur_nominale":1,"devise":"EUR","votes":null,"type_actions":null},"part_capital_pct":51,"coproprietaires":null,"actionnaires_non_publies":false,"depuis":"2014-03-27","inscrit_le":"2014-03-27","modifie_le":"2014-03-27T16:38:01Z"},{"type":"personne_physique","nom":null,"regnr_entite":null,"titres":{"nature":"parts_sociales","nombre":1470,"valeur_nominale":1,"devise":"EUR","votes":null,"type_actions":null},"part_capital_pct":49,"coproprietaires":null,"actionnaires_non_publies":false,"depuis":"2014-03-27","inscrit_le":"2014-03-27","modifie_le":"2014-03-27T16:38:01Z"}],"capital":{"nature":"parts_sociales","nombre_titres":3000,"valeur_nominale_totale":3000,"devise":"EUR","detenu_par_personnes_physiques_pct":49},"licence":"Uzņēmumu reģistrs / VID, data.gov.lv, CC0 1.0"}}}},"400":{"description":"Invalid registration number format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown registration number — payment cancelled."},"503":{"description":"Latvian members stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/EE/{registrikood}/comptes":{"get":{"summary":"Estonian annual-report key figures (e-Business Register open data) — every published year in one call","description":"Estonian company annual accounts — key figures from the official e-Business Register open data (RIK, CC BY 4.0, refreshed monthly). Query: /v1/eu/entreprise/EE/10003666/comptes (8-digit registrikood). EVERY published financial year since 2019 in one call: balance sheet (assets, equity, liabilities), revenue, employee expense, depreciation, operating and net profit, average FTE headcount — in EUR as published. Statutory and consolidated figures kept apart. Null = not published, never zero.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"registrikood","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"10003666","description":"8-digit Estonian registry code"}],"responses":{"200":{"description":"Every published financial year (2019+), newest first: balance-sheet, P&L and headcount key figures in EUR as published; `charges_personnel` negative (P&L) and `cout_main_oeuvre` positive (note) are distinct source items; statutory and consolidated figures kept apart via `perimetre`. CC BY 4.0 attribution (RIK) in every response. Refreshed MONTHLY.","content":{"application/json":{"example":{"pays":"EE","id_national":"10003666","devise":"EUR","nombre_exercices":2,"exercices":[{"debut_exercice":"2024-08-01","date_cloture":"2025-07-31","perimetre":"statutaire","forme":"OÜ","depose_le":"2026-01-30","audite":true,"auditeur_code":"16080550","bilan":{"total_actif":5952649},"compte_resultat":{"chiffre_affaires":10475906,"charges_personnel":-1614840}}],"source":"e-äriregister (Registre du commerce estonien) — open data avaandmed.ariregister.rik.ee","licence":"Registrite ja Infosüsteemide Keskus (RIK) — e-äriregistri avaandmed, CC BY 4.0","disclaimer":"Chiffres clés des rapports annuels tels que publiés par le e-äriregister (RIK, CC BY 4.0), millésimes 2019 et suivants"}}}},"400":{"description":"Invalid registry code (8 digits) — or a per-year sub-path, which does not exist for EE. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No structured key figures for this registry code (PDF-only filing, pre-2019, or unknown entity) — payment cancelled."},"503":{"description":"Estonian accounts stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/EE/{registrikood}/evenements":{"get":{"summary":"Estonian registry rulings (määrused) — striking-off and dissolution warnings, fines, entries","description":"Estonian registry rulings (määrused) — early-warning credit-risk signal from the e-Business Register open data (RIK, CC BY 4.0, daily national photo): entries, remedy orders, striking-off/dissolution WARNINGS, annual-report fines, dated. alerte flags a CLOSED type list (rest in types_non_qualifies); nombre_alertes excludes only rulings explicitly resolved (etat_code=L) — every other state (J, K, unseen codes) still counts. A still-registered entity with no ruling gets a dated positive answer.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"registrikood","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"10003666","description":"8-digit Estonian registry code"}],"responses":{"200":{"description":"Registry rulings newest first, Estonian codes and labels as published, with an `alerte` flag over the closed list returned in `types_alerte` (striking-off / compulsory-dissolution warnings and annual-report fines). `nombre_alertes` counts every qualified ruling EXCEPT those whose `etat_code` is explicitly known as resolved (currently `L` only) — a qualified ruling resolved that way keeps `alerte: true` on its own line but is no longer counted, while every other state (including `J`, `K`, or a code never seen before) still counts, fail-closed on the unknown. `types_non_qualifies` lists the rule types this entity has that are outside the closed list, so a 0 is never read as “no warning”. `aucune_ordonnance: true` is a positive fact, served only for an entity still registered and only on a fresh photo; the photo actually served is dated in `photo_le` / `ingere_le`. Refreshed DAILY.","content":{"application/json":{"example":{"pays":"EE","id_national":"10119794","aucune_ordonnance":false,"nombre_alertes":2,"types_non_qualifies":[{"code":"K1","libelle":"Kanne"}],"evenements":[{"numero":"Ä 30001556 / M1","date_ordonnance":"2021-02-03","date_inscription":null,"delai_supplementaire":"2021-08-03","type_code":"X2","type_libelle":"Hoiatusmäärus registrist kustutamiseks: majandusaasta aruanne esitamata","etat_code":"J","etat_libelle":"Jõustunud","alerte":true}],"photo_le":"2026-07-29","source":"e-äriregister (Registre du commerce estonien) — open data avaandmed.ariregister.rik.ee (aruannete elemendid, määrused), RIK, licence CC BY 4.0"}}}},"400":{"description":"Invalid registry code format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown or struck-off registry code in the current Estonian register (struck-off entities leave the open data entirely, so their silence is not a fact) — payment cancelled."},"503":{"description":"Estonian rulings stock not yet ingested, or photo too old to assert an absence (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/SE/{orgnr}/comptes":{"get":{"summary":"Swedish annual accounts (Bolagsverket iXBRL filings) — every digitally filed fiscal year in one call","description":"Swedish company annual accounts and financial statements decoded from the iXBRL filings Bolagsverket publishes for free (EU high-value datasets since 3 Feb 2025). Query: /v1/eu/entreprise/SE/5560401977/comptes (10-digit organisationsnummer). EVERY digitally filed fiscal year: revenue, operating and net result, balance sheet (total assets, equity, debts), average employees and prior-year column as filed. Digital filing is optional in Sweden (~63% of reports): absence never means no accounts.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"orgnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{6}-?\\d{4}$"},"example":"5560401977","description":"10-digit Swedish organisationsnummer, with or without hyphen"}],"responses":{"200":{"description":"Every digitally filed fiscal year, newest first: P&L, balance sheet, average employees and the prior-year column as filed, in the filing currency. Null = not disclosed, never zero. COVERAGE: digital filing is optional in Sweden (~63% in 2025) and the corpus starts with filings received from 2020 — absence is never proof that a company has no accounts. Officers are not served for Sweden (not in the free datasets).","content":{"application/json":{"example":{"pays":"SE","id_national":"5560401977","nombre_exercices":4,"exercices":[{"date_cloture":"2025-12-31","denomination":"Research Premises Scandinavia Aktiebolag","devise":"SEK","chiffre_affaires":891571,"resultat_net":15721,"total_actif":351010,"capitaux_propres":263724}],"source":"Bolagsverket — värdefulla datamängder (bulkfil des organisations et rapports annuels iXBRL), vardefulla-datamangder.bolagsverket.se"}}}},"400":{"description":"Invalid organisationsnummer — or a per-year sub-path, which does not exist for SE. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No digitally filed annual report for this organisation number — payment cancelled."},"503":{"description":"Swedish accounts stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/SE/{orgnr}/evenements":{"get":{"summary":"Swedish company registry events (Bolagsverket weekly national file)","description":"Swedish company registry events from Bolagsverket's official weekly national file (free EU high-value dataset) — credit risk signals: incorporation, ONGOING bankruptcy (konkurs), liquidation, company reconstruction, composition proceedings, merger or division, and deregistration with coded reason and date. Query: /v1/eu/entreprise/SE/5560012402/evenements (10-digit organisationsnummer). A registered company with no proceeding returns an explicit positive answer — the register is authoritative.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"orgnr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{6}-?\\d{4}$"},"example":"5560012402","description":"10-digit Swedish organisationsnummer, with or without hyphen"}],"responses":{"200":{"description":"Incorporation, ONGOING winding-up or restructuring proceedings (bankruptcy, liquidation, reconstruction, composition, merger, division, resolution) with start dates, and deregistration with its coded reason. `procedure_en_cours: false` for a registered company is an explicit positive fact. Only ONGOING proceedings are published upstream, but the file KEEPS that value for a company later struck off: a deregistered company is therefore served `procedure_en_cours: false` — the proceeding ended with the striking-off, whose coded reason carries the outcome (KKAV-AVORG = closed bankruptcy). The proceeding itself stays listed with its start date, as a historical fact.","content":{"application/json":{"example":{"pays":"SE","id_national":"5560012402","nombre_evenements":1,"evenements":[{"type":"immatriculation","code":"REG","libelle":"immatriculation au registre","date":"1897-09-20","en_cours":false}],"procedure_en_cours":false,"radiee":false,"source":"Bolagsverket — värdefulla datamängder (bulkfil des organisations et rapports annuels iXBRL), vardefulla-datamangder.bolagsverket.se","data_freshness":"photo nationale HEBDOMADAIRE de Bolagsverket pré-ingérée (republiée le lundi)"}}}},"400":{"description":"Invalid organisationsnummer format. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown organisation number, or a country other than SE (free) — payment cancelled."},"503":{"description":"Swedish registry stock not yet ingested (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/DK/{cvr}/dirigeants":{"get":{"summary":"Danish company officers (CVR, Erhvervsstyrelsen, live) — management bodies and mandates","description":"Danish company officers and directors (deltagere) live from the official CVR register (Erhvervsstyrelsen system-to-system) by CVR number — governance and KYB: executive board (Direktion), board members (Bestyrelse) incl. deputies, election method, fully liable I/S or K/S partners and auditors — name, body, role, mandate dates. Active mandates by default; inclure_anciens=true adds ended ones where founders (stiftere) normally are. GDPR minimisation: never an address, never a personal identifier.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"cvr","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"24256790","description":"8-digit Danish CVR number"},{"name":"inclure_anciens","in":"query","required":false,"schema":{"type":"string","enum":["true"]},"description":"Also return ended mandates, each with its end date"}],"responses":{"200":{"description":"Registered mandates: name, participant type, body (Direktion, Bestyrelse, Interessenter, Revision, Stiftere), role, election method and dates. Active mandates by default; an empty list for a known company is a fact of the register. The listing is capped at 300 active and 200 ended mandates: `tronque` is true when the cap bites, while `nombre_mandats_en_cours` and `nombre_anciens_mandats` always give the exact registered counts. Ownership register not served here, beneficial owners not exposed by this access. GDPR minimisation: no address, no personal identifier.","content":{"application/json":{"example":{"pays":"DK","id_national":"24256790","denomination":"NOVO NORDISK A/S","statut":"NORMAL","nombre_mandats_en_cours":20,"nombre_anciens_mandats":9,"tronque":false,"dirigeants":[{"nom":"DELOITTE STATSAUTORISERET REVISIONSPARTNERSELSKAB","type":"entite","organe":"Revision","organe_type":"REVISION","fonction":"REVISION","depuis":"2021-03-25","jusqu_au":null,"en_cours":true,"mode_election":null,"cvr":"33963556"}],"source":"CVR — Erhvervsstyrelsen (Danish Business Authority), accès system-à-système distribution.virk.dk","data_freshness":"CVR temps réel (cache 24 h)"}}}},"400":{"description":"Invalid CVR number format (8 digits). Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown CVR number — payment cancelled."},"503":{"description":"Danish CVR system-to-system access not configured or upstream unavailable — payment cancelled."}}}},"/v1/eu/entreprise/CZ/{ico}/insolvabilite":{"get":{"summary":"Czech company insolvency record (ISIR — Insolvenční rejstřík, since 2008)","description":"Czech company insolvency from ISIR, the official insolvency register of Czechia, since 2008. Query: /v1/eu/entreprise/CZ/45274649/insolvabilite (8-digit IČO). Every proceeding — bankruptcy (konkurs), reorganisation (reorganizace): case number, court, status, dates, its 100 most recent events with document links. Publication is compulsory by law: no proceeding is an explicit positive answer. LEGAL PERSONS ONLY: a natural person's IČO (sole trader — most Czech IČOs) is refused, never cleared.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"ico","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"45274649","description":"8-digit Czech IČO"}],"responses":{"200":{"description":"Every ISIR proceeding for this IČO: case number, court, published status, opening/closing dates, claim-filing deadline and its event trail with official document links — or an explicit positive `aucune_procedure: true` for a company known to ARES with no proceeding (publication is compulsory by Czech law). `evenements` is capped at the 100 MOST RECENT events per case: `nombre_evenements` carries the real total and `evenements_tronques` says whether the list is truncated. `collecte_le` is the date of the last complete ISIR collection (the stock is incremental). Legal-person debtors only (natural persons excluded at ingestion, GDPR): a natural person's IČO returns 404 `entreprise_individuelle_non_servie`, never a clean answer.","content":{"application/json":{"example":{"pays":"CZ","id_national":"49193881","aucune_procedure":false,"procedures":[{"affaire":"INS 9/2008","debiteur":"ZRK Čekanice s.r.o.  v likvidaci","tribunal":"KSZPCPM","etat":"VYRIZENA","ouverture":"2008-01-03T14:15:17Z","nombre_evenements":9,"evenements_tronques":false,"evenements":[{"id":1946,"publie_le":"2008-01-14T09:36:31Z","type":83,"description":"Usnesení o zamítnutí insolvenčního návrhu pro nedostatek majetku dlužníka","etat":"VYRIZENA"}]}],"collecte_le":"2026-07-31","source":"ISIR — Insolvenční rejstřík (Ministerstvo spravedlnosti ČR), web service public isir.justice.cz"}}}},"400":{"description":"Invalid IČO format (8 digits). Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"IČO unknown to the Czech ARES register and no ISIR proceeding, or a natural person's IČO (`entreprise_individuelle_non_servie`: sole trader, farmer or foreign natural person — legal forms 100-108, 424, 425 of the ARES `PravniForma` codebook; their insolvency is out of scope by GDPR minimisation) — payment cancelled."},"502":{"description":"The ARES legal form is missing or is not on the allow-list of legal-person forms (`forme_juridique_non_reconnue`), so this IČO cannot be confirmed to be a legal person and an absence cannot be attested — payment cancelled."},"503":{"description":"ISIR stock not yet collected end-to-end (fail-closed), incomplete because a range of the event stream was skipped and not yet re-read (`stock_isir_troue`), stale beyond the documented freshness threshold (`stock_isir_perime`), or ARES unreachable so an absence cannot be attested — payment cancelled."}}}},"/v1/eu/entreprise/PL/{krs}/evenements":{"get":{"summary":"Polish company registry events (KRS daily bulletin) — liquidation, bankruptcy, filings, changes","description":"Polish company registry EVENTS from the official KRS daily bulletin (Ministry of Justice) — company monitoring for Poland. Query: /v1/eu/entreprise/PL/0000006865/evenements (KRS number). Liquidation, bankruptcy, restructuring, mergers, suspension/resumption, dissolution, tax arrears, enforcement, accounts filings, name/seat/capital changes, strike-off — each typed from a CLOSED list, dated, traced to its section, in a gap-free window. GDPR by design: no officer, no PESEL, no register free text.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"krs","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"},"example":"0000006865","description":"10-digit KRS number, leading zeros included"}],"responses":{"200":{"description":"Registry events, newest first, each with the bulletin day it appeared on (`constate_le`), the register's own date when published (`date_source`, else null — `date_source_inferee: true` when that date was inferred from its format alone), the register section and a structured detail. `observation` states the collected window, which is contiguous by construction, and no event outside it is ever served; `aucun_evenement: true` is an explicit positive answer INSIDE that window only. The `existence` block states whether the KRS was actually read during the window — this endpoint does not otherwise check that the number exists, and an unknown number returns the same empty answer (settle it with GET /v1/eu/entreprise/PL/{krs}). `retard_jours` gives the age of the window. Never an officer, a shareholder or a PESEL — and never the register's free-text wording: it is read to extract a date, then discarded. `autorite` carries the deciding court or authority (an institution), `circonstance` and `nature` are closed lists.","content":{"application/json":{"example":{"pays":"PL","krs":"0000006865","observation":{"depuis":"2026-07-01","jusqu_au":"2026-07-28"},"aucun_evenement":true,"nombre_evenements":0,"evenements":[],"derniere_observation":null,"existence":{"verifiee":false,"explication":"Existence NON vérifiée : cette route ne lit que les journées du Biuletyn, et ce numéro n'y a jamais figuré pendant la fenêtre. `aucun_evenement: true` signifie « aucun changement publié pendant la fenêtre » — PAS « société existante restée calme » : un numéro inexistant donne exactement la même réponse. Pour trancher l'existence, appeler la fiche d'identité LIVE (elle rend 404 si le KRS n'existe pas). / Existence NOT verified: this route only reads the daily bulletin and this number never appeared in it during the window; an unknown number yields the very same answer. Use the live identity endpoint to settle existence (it returns 404 when the KRS does not exist).","route_identite":"/v1/eu/entreprise/PL/0000006865"},"retard_jours":1,"source":"Krajowy Rejestr Sądowy (KRS) — Ministerstwo Sprawiedliwości, API ouverte api-krs.ms.gov.pl (Biuletyn quotidien + OdpisAktualny)","licence":"Données publiques du Krajowy Rejestr Sądowy (Ministerstwo Sprawiedliwości, api-krs.ms.gov.pl), réutilisation libre"}}}},"400":{"description":"Invalid KRS number (10 digits, leading zeros included). Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Country other than PL on this sub-path — free, no payment taken."},"503":{"description":"KRS event window not yet collected, incomplete, or too stale to be sold (fail-closed) — payment cancelled."}}}},"/v1/eu/entreprise/{pays}/{id}/comptes":{"get":{"summary":"Company filings list — Belgium (NBB CBSO) and Finland (PRH XBRL filings)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"pays","in":"path","required":true,"schema":{"type":"string","pattern":"^([Bb][Ee]|[Ff][Ii])$"},"example":"BE","description":"BE (Belgian annual accounts) or FI (Finnish XBRL-filed annual accounts, ~5% coverage)"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^(\\d{10}|\\d{7}-\\d)$"},"example":"0403170701","description":"BE: 10-digit enterprise number (KBO/BCE). FI: Business ID NNNNNNN-N (e.g. 0103396-3)"}],"responses":{"200":{"description":"BE: every published annual-account deposit with its reference and filing metadata as published by the NBB (Authentic Data). FI: the fiscal years available from PRH XBRL filings (empty filings filtered out — every listed year carries figures). FI stock refreshed WEEKLY. Plus score_defaillance (statut non_evaluable + closed-list reasons: no default-risk score outside France — see GET /v1/lecture).","content":{"application/json":{"example":{"pays":"BE","id_national":"0400378485","nombre_depots":93,"depots":[{"reference":"2025-00539072","detail":{"DepositDate":"2025-10-07","ExerciseDates":{"startDate":"2024-04-01","endDate":"2025-03-31"},"Currency":"EUR","EnterpriseName":"Colruyt Group","AccountingDataURL":"https://ws.cbso.nbb.be/authentic/deposit/2025-00539072/accountingData"}}],"telechargement":"GET /v1/eu/entreprise/BE/{id}/comptes/{reference}","source":"Banque nationale de Belgique — Centrale des bilans (CBSO), webservice Authentic Data","disclaimer":"Comptes annuels tels que déposés et publiés par la Centrale des bilans de la BNB (dépôts immuables)","data_freshness":"BNB CBSO temps réel, liste en cache 24 h"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No annual-account filing for this identifier — payment cancelled. FI: ~5% of Finnish limited companies file in XBRL, so absence does not mean no accounts exist."},"503":{"description":"FI: Finnish accounts stock not yet ingested, or the photo is older than 21 days and can no longer assert a fiscal year is missing (fail-closed). BE: NBB upstream unavailable. Payment cancelled."}}}},"/v1/eu/entreprise/{pays}/{id}/comptes/{reference}":{"get":{"summary":"One annual-account filing — Belgian deposit as filed, or Finnish fiscal year decoded from XBRL","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"pays","in":"path","required":true,"schema":{"type":"string","pattern":"^([Bb][Ee]|[Ff][Ii])$"},"example":"BE","description":"BE or FI"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^(\\d{10}|\\d{7}-\\d)$"},"example":"0403170701","description":"BE: 10-digit enterprise number (KBO/BCE). FI: Business ID NNNNNNN-N"},{"name":"reference","in":"path","required":true,"schema":{"type":"string","pattern":"^(\\d{4}-\\d{6,10}|\\d{4}-\\d{2}-\\d{2})$"},"example":"2026-00123205","description":"BE: deposit reference (YYYY-NNNNNNNN). FI: closing date (YYYY-MM-DD). Both come from the filings-list endpoint"},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["pdf","json"]},"description":"BE only. `pdf` forces the official PDF. `json` refuses the PDF fallback and answers 406 (not charged) when the filing has no JSON representation — for typed clients that cannot accept two shapes on the same 200. Omitted: JSON when it exists, PDF otherwise."}],"responses":{"200":{"description":"BE: the deposit as filed — structured JSON when the NBB publishes one, otherwise the official PDF (also forced by format=pdf); the filing date does not predict which, so use format=json if your client needs a single shape. Deposits are immutable. FI: the fiscal year decoded from the XBRL filing — revenue, operating and net result, equity, total assets, debts, plus the prior-year comparatives as published (EUR).","content":{"application/json":{"example":{"pays":"FI","id_national":"0103396-3","date_cloture":"2024-12-31","exercice":{"date_cloture":"2024-12-31","debut_exercice":"2024-01-01","denomination":"Arkkitehtitoimisto HKP Oy","chiffre_affaires":582458.35,"resultat_exploitation":-54382.16,"resultat_net":-48510.86,"capitaux_propres":482422.26,"total_actif":594206.51,"dettes":111784.25,"exercice_precedent":{"chiffre_affaires":1128645.82,"resultat_net":26876.86}},"source":"PRH / avoindata.prh.fi — Patentti- ja rekisterihallitus (Finnish Patent and Registration Office), licence CC BY 4.0","disclaimer":"Comptes annuels finlandais LORSQU'ILS SONT DÉPOSÉS EN XBRL au PRH (~5 % des sociétés à responsabilité limitée)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown filing reference (BE) or closing date (FI) for this identifier — payment cancelled."},"406":{"description":"BE, with format=json only: the NBB does not publish this filing as JSON — call again with format=pdf. Payment cancelled."},"503":{"description":"FI: Finnish accounts stock not yet ingested, or older than 21 days (fail-closed). BE: NBB upstream unavailable. Payment cancelled."}}}},"/v1/eu/entreprise/DK/{id}/comptes":{"get":{"summary":"Danish company filings list — fiscal years decoded from XBRL annual reports (Erhvervsstyrelsen)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"41235292","description":"8-digit Danish CVR number"}],"responses":{"200":{"description":"The fiscal years whose XBRL annual report (virk.dk publication index) has been decoded: closing dates, period, entity name, currency. Danish-taxonomy (fsa) filings only — IFRS/ESEF-only groups are not decoded; absence does not mean no accounts exist.","content":{"application/json":{"example":{"pays":"DK","id_national":"41235292","nombre_depots":1,"depots":[{"date_cloture":"2025-12-31","debut_exercice":"2025-01-01","fin_exercice":"2025-12-31","denomination":"Nielsen Media Denmark ApS","devise":"DKK"}],"telechargement":"GET /v1/eu/entreprise/DK/{cvr}/comptes/{date_cloture} — l'exercice décodé ($0.05)","source":"Erhvervsstyrelsen (Danish Business Authority) — offentliggørelser, distribution.virk.dk","disclaimer":"Extraits décodés des dépôts XBRL danois en taxonomie « regnskab » (fsa) tels que publiés","data_freshness":"stock XBRL pré-ingéré depuis l'index officiel virk.dk"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Not charged. Codes: `collecte_en_cours` (initial collection still running), `photo_perimee` (stock older than its freshness guard), `depot_non_lu` (a filing announced by the registry for THIS company could not be decoded — serving the list would silently truncate it; retried automatically)."}}}},"/v1/eu/entreprise/DK/{id}/comptes/{date_cloture}":{"get":{"summary":"One Danish fiscal year decoded from the XBRL annual report","x-price":"$0.05","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"41235292","description":"8-digit Danish CVR number"},{"name":"date_cloture","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2025-12-31","description":"Closing date (YYYY-MM-DD) from the filings-list endpoint"}],"responses":{"200":{"description":"Revenue (null = not published, never zero), gross result, operating result, pre-tax and net result, equity, total assets, debts, average employees, plus prior-year comparatives as published in the same filing; amounts in the filing currency (mostly DKK); official XBRL document URL included.","content":{"application/json":{"example":{"pays":"DK","id_national":"41235292","date_cloture":"2025-12-31","exercice":{"date_cloture":"2025-12-31","denomination":"Nielsen Media Denmark ApS","devise":"DKK","chiffre_affaires":48566339,"resultat_brut":16122431,"resultat_net":1082932,"capitaux_propres":4879267,"total_actif":15978409,"dettes":null,"effectif_moyen":34,"exercice_precedent":{"chiffre_affaires":49775255,"resultat_net":164204}},"source":"Erhvervsstyrelsen (Danish Business Authority) — offentliggørelser, distribution.virk.dk","disclaimer":"Extraits décodés des dépôts XBRL danois en taxonomie « regnskab » (fsa) tels que publiés"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Not charged. Codes: `collecte_en_cours` (initial collection still running), `photo_perimee` (stock older than its freshness guard), `depot_non_lu` (a filing announced by the registry for THIS company could not be decoded — serving the list would silently truncate it; retried automatically)."}}}},"/v1/eu/entreprise/SK/{ico}/comptes":{"get":{"summary":"Slovak company filings list — fiscal years decoded from structured statements (RÚZ, CC0)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"ico","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"36417475","description":"8-digit Slovak IČO"}],"responses":{"200":{"description":"The fiscal years whose STRUCTURED financial statements at the Register účtovných závierok have been decoded: closing date, period, filing type, form model, statutory vs consolidated scope, official document link. A single closing date MAY appear more than once — an ordinary (Riadna) and an extraordinary (Mimoriadna) filing are two distinct filings, never merged; each entry carries the `type_depot` and `perimetre` that select it on the detail endpoint. PDF-only filings (every IFRS group among them) carry no structured data and are absent; absence does not mean no accounts exist. Sole traders are not served (GDPR minimisation).","content":{"application/json":{"example":{"pays":"SK","id_national":"36417475","nombre_depots":2,"depots":[{"date_cloture":"2025-12-31","debut_exercice":"2025-01-01","denomination":"PODLAHY RK, s. r. o.","perimetre":"statutaire","type_depot":"Riadna","modele":"Úč POD","nb_postes":16,"source_url":"https://www.registeruz.sk/cruz-public/domain/financialreport/show/7073209"}],"telechargement":"GET /v1/eu/entreprise/SK/{ico}/comptes/{date_cloture} ($0.03)","source":"Register účtovných závierok (RÚZ) — Ministerstvo financií SR, registeruz.sk, open API publique","licence":"CC0 (RÚZ Open API, Ministerstvo financií SR)","disclaimer":"Postes clés normalisés extraits des états financiers STRUCTURÉS déposés au RÚZ"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Not charged. Codes: `collecte_en_cours` (no complete pass succeeded yet — retrying does not help), `photo_perimee` (stock older than its freshness guard), `zavierka_non_lue` (a filing announced by the registry for THIS unit could not be stored — serving the list would silently truncate it; the trace heals on the next successful read)."}}}},"/v1/eu/entreprise/SK/{ico}/comptes/{date_cloture}":{"get":{"summary":"One Slovak fiscal year decoded from the structured RÚZ filing","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"ico","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{8}$"},"example":"36417475","description":"8-digit Slovak IČO"},{"name":"date_cloture","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2025-12-31","description":"Closing date (YYYY-MM-DD) from the filings-list endpoint"},{"name":"perimetre","in":"query","required":false,"schema":{"type":"string","enum":["statutaire","consolide"]},"description":"Filing scope: statutory (default) or consolidated — never merged"},{"name":"type_depot","in":"query","required":false,"schema":{"type":"string"},"example":"Mimoriadna","description":"Filing type, copied from the `type_depot` field of the filings list (Riadna, Mimoriadna, Priebežná, Kombinovaná — as published by the register, never invented). Two filings may share one closing date and scope (an ordinary and an extraordinary one, e.g. a merger mid-year); this selects which. Omitted: the ordinary (Riadna) filing is served"}],"responses":{"200":{"description":"16 key items — net turnover (null = not published, never zero), operating income and costs, value added, staff costs, operating, financial, pre-tax and net result, income tax, total assets, non-current and current assets, equity, share capital, liabilities — plus prior-year comparatives as published in the same filing. Amounts in euros, never converted. Official document link included. The filing served is the one identified by (closing date, `perimetre`, `type_depot`) — filings are never merged across scope or type.","content":{"application/json":{"example":{"pays":"SK","id_national":"36417475","date_cloture":"2025-12-31","perimetre":"statutaire","exercice":{"date_cloture":"2025-12-31","denomination":"PODLAHY RK, s. r. o.","chiffre_affaires":11764975,"resultat_exploitation":940907,"resultat_net":616746,"total_actif":7586344,"capitaux_propres":2978726,"dettes":4607618,"unite_montants":null,"exercice_precedent":{"chiffre_affaires":11207975,"resultat_net":511649}},"source":"Register účtovných závierok (RÚZ) — Ministerstvo financií SR, registeruz.sk, open API publique","licence":"CC0 (RÚZ Open API, Ministerstvo financií SR)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Not charged. Codes: `collecte_en_cours` (no complete pass succeeded yet — retrying does not help), `photo_perimee` (stock older than its freshness guard), `zavierka_non_lue` (a filing announced by the registry for THIS unit could not be stored — serving the list would silently truncate it; the trace heals on the next successful read)."}}}},"/v1/eu/entreprise/GB/{company_number}/comptes":{"get":{"summary":"UK company accounts filings list — financial years decoded from iXBRL accounts (Companies House)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"company_number","in":"path","required":true,"schema":{"type":"string","pattern":"^([0-9]{8}|[A-Za-z]{2}[0-9]{6}|[A-Za-z][0-9]{7})$"},"example":"00095407","description":"Companies House company number, 8 characters incl. leading zeros (00095407, SC123456, OC427207)"}],"responses":{"200":{"description":"The balance-sheet dates whose iXBRL annual accounts have been decoded, with period, entity name, currency, accounting framework and accounts type. Electronically filed accounts only (~75% of UK filings), depth accumulated since 2026-07 (the daily source file is retained 60 days) — absence does not mean no accounts exist. Open Government Licence v3.0.","content":{"application/json":{"example":{"pays":"GB","id_national":"00095407","nombre_depots":1,"depots":[{"date_cloture":"2025-12-31","debut_exercice":"2025-01-01","denomination":"COSSART,GORDON AND CO.LIMITED","devise":"GBP","referentiel":"Micro-entities","type_comptes":"FullAccounts","nb_postes_decodes":14,"nb_postes_courant":7}],"telechargement":"GET /v1/eu/entreprise/GB/{company_number}/comptes/{date_cloture}","source":"Companies House — Free Accounts Data Product (download.companieshouse.gov.uk)","licence":"Contains public sector information licensed under the Open Government Licence v3.0 (Companies House)","disclaimer":"Postes décodés des comptes annuels déposés en iXBRL à Companies House"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/eu/entreprise/GB/{company_number}/comptes/{date_cloture}":{"get":{"summary":"One UK financial year decoded from the iXBRL accounts filed at Companies House","x-price":"$0.05","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"company_number","in":"path","required":true,"schema":{"type":"string","pattern":"^([0-9]{8}|[A-Za-z]{2}[0-9]{6}|[A-Za-z][0-9]{7})$"},"example":"00095407","description":"Companies House company number, 8 characters incl. leading zeros"},{"name":"date_cloture","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2025-12-31","description":"Balance-sheet date (YYYY-MM-DD) from the filings-list endpoint"}],"responses":{"200":{"description":"Balance sheet (fixed and current assets, stocks, debtors, cash, creditors split by maturity, provisions, net assets, equity), average employees, and the profit and loss account when filed (turnover, operating, pre-tax and net result — most small companies file a balance sheet only), plus prior-year comparatives as published in the same filing. Amounts in the filing currency; null = not published, never zero.","content":{"application/json":{"example":{"pays":"GB","id_national":"07960839","date_cloture":"2026-03-31","exercice":{"date_cloture":"2026-03-31","denomination":"National Consortium For Examination Results CIC","devise":"GBP","referentiel":"SmallEntities","chiffre_affaires":2257340,"resultat_exploitation":144109,"resultat_net":141386,"dettes_non_ventilees":200582,"dettes_moins_un_an":null,"stocks":null,"exercice_precedent":{"chiffre_affaires":1941115,"resultat_net":-45647}},"source":"Companies House — Free Accounts Data Product (download.companieshouse.gov.uk)","licence":"Contains public sector information licensed under the Open Government Licence v3.0 (Companies House)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/intelligence/{siren}":{"get":{"summary":"Company intelligence report — every block cross-referenced, closed-list signals, rule-based verdict","x-price":"$1.00","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN"}],"responses":{"200":{"description":"Identity, officers, financials with 3-year trend, sector positioning (NAF benchmarks), failure-risk score, BODACC alerts, commercial-court decisions (Judilibre, partial coverage), sanctions screening (6 lists, company + officers), procurement (French DECP + EU TED), IP, cached capital structure, industrial-risk synthesis (Seveso/ICPE), AMF PSAN/SGP registers, HATVP lobbying summary, live VIES VAT check — plus closed-list signals traced to their register source, a deterministic verdict (solide/correct/fragile/critique/indeterminable) with `synthese.motifs_verdict` (closed-list codes that decided it) and `synthese.verdict_plafonne_par` (name-match doubts that capped a would-be « solide » at « correct » — when non-empty, read « correct » as « correct subject to verification »; v1.6), `synthese.reserves` / `portee` / `confiance_financiere` / `par_domaine` (v1.7: closed-list reading caveats, scope, score confidence band and a ten-domain projection of blocks already served — the verdict word is unchanged), and strengths/vigilance points. Ed25519-signed (v1.2). Carries the common `provenance[]` envelope (states and reading rules: GET /v1/lecture, free). AMF blacklist (since 2026-09-04): `risques.alertes_amf` serves the matches with score, level and qualification from the shared screening analyser; the vigilance signal `correspondance_liste_noire_amf` is raised only when a match weighs in the concordance table, otherwise the informative `rapprochement_liste_noire_amf_partiel` is emitted and no vigilance point is added. Since 2026-09-06 a failure score in the « vigilance » band raises `score_defaillance_vigilance` — a vigilance point and the verdict motif (negative, not damning: caps at « correct »), so a « correct » decided by the score alone is never served with an empty `points_vigilance`; a « correct » with no vigilance point now reads « solid not granted, see motifs_verdict ».","content":{"application/json":{"example":{"siren":"552032534","type_rapport":"intelligence","version_rapport":"1.4","identite":{"denomination":"DANONE","categorie_entreprise":"GE","activite_principale":"70.10Z","etat_administratif":"actif"},"tva_vies":{"statut":"valide"},"risques":{"score_defaillance":{"score_risque":22,"classe":"sain","risque_12m":"faible"}},"signaux":[{"signal":"propriete_industrielle_presente","source":"bases PI INPI","detail":"112 titre(s)"}],"synthese":{"verdict_global":"solide","points_forts":["anciennete_etablie"],"points_vigilance":[]},"score_completude":100,"blocs_manquants":[]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Sanctions screening unavailable when the report was built (core block, CDU decision of 2026-09-05): report NOT served, payment cancelled — retry. Secondary blocks (VIES VAT check included) are served as `blocs_manquants` instead."}}}},"/v1/rapport/{siren}":{"get":{"summary":"On-demand PDF report (formatted KYB file, A4)","x-price":"$0.50","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"PDF document (application/pdf): identity, officers, BODACC alerts, financials, sanctions screening, completeness score, plus the AI health summary when one is cached.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid SIREN. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Sanctions screening unavailable when the file was built (core block): PDF not served, payment cancelled — retry."}}}},"/v1/entreprise/{siren}/documents":{"get":{"summary":"List official documents filed at the INPI RNE registry","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Legal deeds (actes: statutes, general-meeting minutes...) and filed annual accounts (bilans), each with document ID, label, filing date. Only documents the registry marks as public. Use the ID with /v1/documents/{type}/{id} to download the PDF.","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","actes":[{"id":"6a33ae8b0397b4bf6e0f5118","type":"actes","libelle":"Copie des statuts mis à jour","date_depot":"2026-06-16","nom_document":"Statuts_Danone_26_mai_2026_signes_2"}],"bilans":[{"id":"6a33a929f9e4b401ad07b51a","type":"bilans","libelle":null,"date_depot":"2026-05-27","date_cloture":"2025-12-31","nom_document":"CA_552032534_7501_K00245359617_2025_K"}],"total":208,"consulte_le":"2026-07-29T07:28:49.560Z","telechargement":"GET /v1/documents/{type}/{id} — type = actes | bilans, id = champ `id` ci-dessous ($0.10, PDF)","source":"INPI — Registre national des entreprises (RNE), documents tels que déposés","data_freshness":"INPI RNE temps réel, liste en cache 24 h"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/documents/{type}/{id}":{"get":{"summary":"Download an official company document (PDF) from the INPI RNE registry","x-price":"$0.10","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string","enum":["actes","bilans"]},"description":"Document family from the list endpoint"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"Document ID from /v1/entreprise/{siren}/documents"}],"responses":{"200":{"description":"The official PDF as filed at the registry, served as-is at request time (typical size 1-10 MB). Sirenic stores no document.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid type or document ID. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No public document for this ID (withdrawn or restricted by the registry)."}}}},"/v1/prospection":{"get":{"summary":"Multi-criteria prospecting over the full registry (100 active companies per paid page)","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"naf","in":"query","required":false,"schema":{"type":"string"},"example":"62.01Z","description":"NAF/APE code or prefix (62, 62.01, 62.01Z)"},{"name":"departement","in":"query","required":false,"schema":{"type":"string"},"example":"75","description":"French departement (75, 2A, 971…) — exclusive with code_postal"},{"name":"code_postal","in":"query","required":false,"schema":{"type":"string"},"description":"Postal-code prefix (2 to 5 digits)"},{"name":"forme_juridique","in":"query","required":false,"schema":{"type":"string"},"description":"INSEE legal-category prefix (e.g. 54, 5499)"},{"name":"effectif_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum workforce (mapped to INSEE brackets)"},{"name":"effectif_max","in":"query","required":false,"schema":{"type":"integer"}},{"name":"age_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum company age in years"},{"name":"age_max","in":"query","required":false,"schema":{"type":"integer"}},{"name":"rge","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = active RGE certification"},{"name":"egapro_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum gender-equality index (0-100)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Page number — each page is one payment"}],"responses":{"200":{"description":"Up to 100 active companies (SIREN, name, NAF, legal form, workforce bracket, creation date, head-office postal code/city), stable SIREN order, page_suivante flag.","content":{"application/json":{"example":{"criteres":{"naf":"62.01Z","departement":"75","page":1},"nombre_resultats":100,"page":1,"page_suivante":true,"resultats":[{"siren":"100000348","denomination":"LES EDITIONS DIGITALES","activite_principale":"62.01Z","forme_juridique":"5710","tranche_effectif_salarie":"NN","date_creation":"2026-01-15","code_postal_siege":"75011","commune_siege":"PARIS"}]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/sante":{"get":{"summary":"Business-health risk read-out (FR + EN, closed grid, official data only)","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Risk read-out from official data: `synthese` (resume FR + resume_en, strengths, warning signs, missing data, verdict, activity trend, confidence level), `grille` (the reconciled evaluation grid, machine-readable codes) and `divergences_modele` (where deterministic guards overruled the model). A model only picks values from closed lists: no free text, no name and no figure of its own. WHAT TO EXPECT ON THIN FILES: entities that file no annual accounts — non-profits, sole traders, companies under a year old, ceased companies — return `verdict: \"non_concluant\"` with most grid fields set to `non_evaluable`; the prose then states explicitly that no accounts are available and whether that is normal at this age, and a ceased company is flagged with the `entreprise_administrativement_fermee` warning. Measured on a random sample of 47 SIREN: half of them are such files. Includes model, prompt version and cache status. Cached 7 days.","content":{"application/json":{"example":{"siren":"552032534","synthese":{"points_forts":["Résultats nets positifs récurrents"],"points_vigilance":["Ratios incohérents dans la source officielle"],"donnees_manquantes":["Structure du passif"],"verdict":"sous_reserve","tendance_activite":"croissance","niveau_confiance":"faible"},"grille":{"verdict":"sous_reserve","ca_tendance":"croissance_forte","ca_regularite":"irreguliere","rentabilite_niveau":"forte","rentabilite_tendance":"volatile","endettement_niveau":"eleve","endettement_tendance":"alourdissement","autonomie_financiere":"correcte","liquidite":"echelle_non_etablie","capacite_remboursement":"correcte","bfr_exploitation":"atypique_negatif","structure_synthese":"equilibree","points_forts":["resultats_nets_positifs_recurrents"],"points_vigilance":["ratios_incoherents"],"confiance_niveau":"faible","confiance_motifs":["incoherences_detectees"],"donnees_manquantes":["structure_du_passif"]},"divergences_modele":["correspondance de criblage : verdict contraste -> sous_reserve"],"modele":"claude-sonnet-5","version_prompt":"sante-v2","genere_le":"2026-08-11T07:51:02.474Z","donnees":{"score_completude":100,"data_freshness":"identité : stock Sirene mensuel (2026-07-01)"},"depuis_cache":true}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/score/defaillance/{siren}":{"get":{"summary":"Company default-risk score (transparent scorecard + BODACC override)","description":"Credit risk scoring for a French company: a default-risk score (0-100) at ~12 months from a transparent scorecard — filed financial ratios (structure, profitability, liquidity, net cash, debt service, trend), company age, and a hard BODACC override (open insolvency/liquidation, or closure for insufficiency of assets). Returns the score, a qualitative band, every component with its threshold, and a confidence level. Decision-support indicator — NOT a solvency opinion or credit rating.","x-price":"$0.10","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"score_risque (0-100), classe/risque_12m (qualitative band), every scoring component with value+threshold+points, signaux_bodacc, exercice_reference, confiance, version_modele. Components include a NET CASH axis read from the raw tax-form line items — cash + marketable securities minus bank overdraft, over debt due within one year — which is deliberately distinct from the current-ratio axis: the current ratio counts receivables and inventory as if they were cash. Where computable, the response also carries a ratios_informatifs block holding two figures read from those same line items, each with a note stating its status: the net cash ratio itself — served EVEN WHEN it costs no points, so that 'nothing to flag' is never confused with 'no data' — and dettes_fiscales_sociales_sur_va_pourcent (tax and social security liabilities as a share of value added), a FACT that does NOT feed the score and that no public threshold calibrates. The block is absent when neither figure is computable — the case for a majority of companies, because the upstream line-item dataset is republished irregularly and does not cover the most recent financial years. Silence there means missing data, never a good result, and the response says so explicitly: data_freshness carries the DATE of the upstream snapshot actually in use, tresorerie_muette gives the reason the axis made no finding (exercice_non_couvert = that year is not in the snapshot; poste_non_publie = the filed accounts do not carry the line), and note_tresorerie spells it out in both languages. No date is hard-coded in this description on purpose: it would become false the day the producer republishes. Three overrides come before the band, in this order: active BODACC proceedings ('defaut_avere' / 'procedure_en_cours'), a ceased company ('cessee', risque_12m 'sans objet' — a 12-month default risk has no object for an entity that no longer trades), and no computable financial ratio at all ('indetermine', never 'sain'). In the last two cases the response carries note_classe explaining why; the score and all components are still returned. Decision-support indicator, not a solvency opinion or credit rating (see docs/scoring.md).","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","score_risque":22,"classe":"sain","risque_12m":"faible","composantes":[{"axe":"liquidite","indicateur":"ratio_liquidite_%","valeur":7.093,"seuil":"<80/<100","points":12},{"axe":"dette","indicateur":"capacite_remboursement_annees","valeur":19.515,"seuil":"<0/>7/>4","points":10}],"exercice_reference":"2024-12-31","confiance":"moyenne","version_modele":"defaillance-v1.8","avertissement_perimetre":"Comptes SOCIAUX seuls : la santé du GROUPE n'est pas mesurée ; sur une tête de groupe, dette et liquidité peuvent être structurelles. Confiance plafonnée à « moyenne ». / Standalone STATUTORY accounts: GROUP health is not measured; on a group parent, debt and liquidity may be structural. Confidence capped at medium.","signaux_bodacc":{"procedure_collective":false,"liquidation_judiciaire":false,"cloture_insuffisance_actif":false},"data_freshness":"identité stock Sirene (2026-07-01) + ratios financiers + BODACC temps réel"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/secteur/{code_naf}/benchmarks":{"get":{"summary":"Sector benchmarks by NAF activity code (medians vs peers)","description":"Sector benchmarks and sector statistics for a French NAF activity code (any level: division, groupe, classe, sous-classe): number of active companies, median company age (with quartiles), workforce-bracket distribution, and — when at least 5 companies file public accounts — median revenue, EBITDA margin, pre-tax result and debt ratio. Peer comparison in one call: place a company against its peers. Aggregates only, no personal data; sectors with fewer than 5 companies are excluded.","x-price":"$0.05","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"code_naf","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{2}(\\.\\d{0,2}[A-Z]?)?$"},"example":"68.20B","description":"NAF code, any level: division (68), groupe (68.2), classe (68.20), sous-classe (68.20B)"}],"responses":{"200":{"description":"Number of active companies, median age (+quartiles), workforce distribution, and financial medians (masked when fewer than 5 companies file accounts).","content":{"application/json":{"example":{"code_naf":"62.01Z","niveau":"sous-classe","effectif_entreprises":{"actives_diffusibles":98868},"age_annees":{"mediane":4,"q1":1,"q3":11},"effectifs_salaries":{"repartition":{"NN":88097},"repartition_libelles":{"NN":"non renseigné"}},"finances":{"entreprises_avec_comptes":8950,"marge_ebe_pct":{"mediane":7.197},"rcai_sur_ca_pct":{"mediane":3.989},"taux_endettement":{"mediane":3.348}},"source":"INSEE Sirene (Licence Ouverte Etalab 2.0) et ratios financiers INPI / Banque de France (Licence Ouverte 2.0)"}}}},"400":{"description":"Invalid NAF code. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown NAF code, or sector excluded by k-anonymity (fewer than 5 companies)."}}}},"/v1/entreprise/{siren}/capital":{"get":{"summary":"Capital / ownership extracted by AI from public INPI articles of association","description":"Ownership and share capital structure of a French company from the official INPI registry: AI extraction of the latest PUBLIC articles of association filed at INPI — share capital amount, legal form, shareholders (name, role, birth YEAR, ownership %), notable clauses, with a confidence level and the source document reference. Due diligence from public filed deeds — NOT a beneficial-ownership register (RBE) and not a beneficial-owner identification. Immutable document: extracted once, cached.","x-price":"$0.35","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"capital {montant_capital_eur, forme_juridique, associes[name/role/birth-year/pct], clauses_notables, confiance} + document_source. Reconstructed from public filed deeds, NOT a beneficial-ownership register. When `capital.associes` is empty, `capital.motif_absence_associes` says why, in a closed list (since 2026-09-04): `statuts_sans_liste_associes` (the legal form is a société anonyme / SE / SCA whose articles never list shareholders — an empty list is the normal, expected answer) or `aucun_associe_lu_dans_les_statuts` (a form that usually lists them, none was read: treat as an extraction limit). `confiance: faible` alone said nothing of the reason — measured on 4 extractions out of 5.","content":{"application/json":{"example":{"siren":"552032534","modele":"claude-sonnet-5","capital":{"montant_capital_eur":170739060,"forme_juridique":"Société anonyme","associes":[],"clauses_notables":["droit_de_vote_double"],"confiance":"faible"},"version_prompt":"capital-v2","document_source":{"id":"6a33ae8b0397b4bf6e0f5118","nom":"Statuts_Danone_26_mai_2026_signes_2","type":"actes","date_depot":"2026-06-16"},"depuis_cache":true,"source":"INPI — actes/statuts publics déposés au registre national des entreprises (RNE)"}}}},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No public articles of association to extract for this SIREN."},"503":{"description":"Extraction temporarily unavailable (INPI or LLM); payment not settled."}}}},"/v1/entreprise/{siren}/pi":{"get":{"summary":"Industrial-property portfolio (trademarks, patents, designs) from INPI open data","description":"Intellectual property portfolio of a French company from official INPI open data: patents, trademarks and designs — counts plus items with number, title/label, status, ISO dates (trademark filing/registration/expiry, patent publication) and classification (Nice/CIB/Locarno). Designs: one line per filing. An R&D / brand-value signal for due diligence. Trademarks and designs are most-recent-first; patents are NOT sorted upstream (liste_ordre). Inventor names are never returned.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Three blocks — marques, brevets, dessins_modeles — each with nombre, liste, nombre_unite (\"titres\", \"depots\" or \"dessins\"), liste_tronquee and liste_ordre. date_nature says what a date IS (\"depot\" or \"publication\"): it differs between blocks. A trademark always carries date_enregistrement and date_expiration, null when INPI holds none (registration: 30% of measured trademarks). liste_ordre is \"date_decroissante\" for trademarks and designs, \"amont_non_trie\" for patents, which INPI neither sorts nor lets us sort: a truncated patent list is a portfolio sample, not its latest filings (note_ordre). Designs are grouped by FILING, one line per filing not per drawing, from one 100-document page per call; past that nombre_majorant is true and nombre counts DESIGNS, an upper bound on filings. No IP: zero counts, still 200.","content":{"application/json":{"example":{"siren":"552032534","marques":{"nombre":88,"liste":[{"numero":"4789796","libelle":"THE ONE HOME","statut":"Marque enregistrée","date":"2021-07-31","date_nature":"depot","date_enregistrement":"2021-12-24","date_expiration":"2031-07-31","classification":"41, 44"}],"liste_tronquee":true,"nombre_unite":"titres","liste_ordre":"date_decroissante"},"brevets":{"nombre":12,"liste":[{"numero":"FR2728873A1","libelle":"EMBALLAGE EN FILM DE MATERIAU SOUPLE ET SON PROCEDE DE FABRICATION","date":"1996-07-05","date_nature":"publication","classification":"B65D 65/32, B65D 75/58"}],"liste_tronquee":false,"nombre_unite":"titres","liste_ordre":"amont_non_trie"},"dessins_modeles":{"nombre":3,"liste":[{"numero":"054041","libelle":"Ornementation de supports de communication","date":"2005-08-19","date_nature":"depot","classification":"2003"}],"liste_tronquee":false,"nombre_unite":"depots","liste_ordre":"date_decroissante"},"source":"INPI — bases ouvertes de propriété industrielle (marques, brevets, dessins & modèles)","data_freshness":"INPI PI open data (marques/brevets hebdo, D&M bimensuel), cache 24 h"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/entreprise/{siren}/changements":{"get":{"summary":"New BODACC announcements since a date (poll-mode surveillance)","description":"Company changes monitoring for a French company: the new official BODACC gazette announcements published SINCE a given date (?depuis=YYYY-MM-DD) — the poll endpoint for watchlist and portfolio surveillance. Returns the new announcements (insolvency, deregistration, sales, filings, changes) in reverse-chronological order. Note: detects new BODACC publications, not field-level edits of the Sirene/RNE profile (the monthly stock keeps no history).","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"},{"name":"depuis","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2026-01-01","description":"List announcements published on or after this date (YYYY-MM-DD)"}],"responses":{"200":{"description":"New BODACC announcements since `depuis` (reverse-chronological, with famille, type and `role` — `sujet`, `partie_citee` or `indetermine`), nombre/nombre_total, a truncation flag, and changements_fiche.disponible=false (the monthly stock keeps no history). `denomination` is the Sirene legal name, with `denomination_source` (`sirene` | `bodacc_derniere_annonce`) — until 2026-09-04 this route served the raw trade label of the latest notice (\"ORANGE STORE, ORANGE\"). A SIREN with no new announcement returns an empty list (still 200).","content":{"application/json":{"example":{"siren":"552032534","denomination":"DANONE","depuis":"2020-01-01","nouveaux_evenements_bodacc":{"nombre":41,"nombre_total":41,"tronque":false,"annonces":[{"id":"B202601212014","date_parution":"2026-06-28","type_avis":"Avis initial","tribunal":"Greffe du Tribunal des Activités Economiques de Paris","jugement":null,"publication":"B","famille":"Modifications diverses"}]},"changements_fiche":{"disponible":false,"version_stock_courant":"2026-07-01"},"source":"BODACC (DILA) via bodacc-datadila.opendatasoft.com, licence ouverte Etalab 2.0","data_freshness":"BODACC (bulletin quotidien DILA), cache court ≤ 1 h par (siren, depuis)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/facture/verifier":{"get":{"summary":"Invoice verification — cross-check the identifiers printed on a French invoice","description":"Invoice verification for France — cross-check the identifiers PRINTED ON an invoice in one call: SIREN against the official registry (existence, active status, live), the VAT number on the invoice against the one computed from the SIREN AND live against VIES, the IBAN (ISO form, key digits, bank identified). Deterministic verdict coherent/incoherent/inverifiable, closed-list reasons. Flags a VAT that belongs to another company or a ceased supplier. Not a payee verification.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN printed on the invoice"},{"name":"tva","in":"query","required":false,"schema":{"type":"string","maxLength":20},"example":"FR27552032534","description":"VAT number printed on the invoice — cross-checked against the one computed from the SIREN AND live against VIES. At least one of tva/iban is required (400 otherwise)"},{"name":"iban","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"IBAN printed on the invoice — ISO form + key digits + bank identification (never a holder-name check). At least one of tva/iban is required"}],"responses":{"200":{"description":"controles.entreprise (Sirene status, live), controles.tva {fournie, attendue_pour_ce_siren, correspond_au_siren, vies} and controles.iban (form check + bank) as requested, plus verdict coherent/incoherent/inverifiable with closed-list raisons[] traced to their source. Flags a VAT number that belongs to ANOTHER company, a ceased supplier, or a key-invalid IBAN. A VIES outage yields inverifiable, never a false invalid; non_verifie names what the bank leg never checks (a valid-but-swapped IBAN is not detectable).","content":{"application/json":{"example":{"siren":"552032534","etat_administratif":"actif","controles":{"tva":{"fournie":"FR27552032534","attendue_pour_ce_siren":"FR27552032534","correspond_au_siren":true,"vies":{"statut":"valide"}},"iban":{"valide":true,"exemple_de_documentation":true,"banque":{"identifiee":true}}},"verdict":"coherent","raisons":[{"code":"iban_exemple_documentation","niveau":"information","source":"IBAN publié comme EXEMPLE de documentation — bien formé ; existence du compte non contrôlée."}],"non_verifie":["existence_du_compte","nom_du_titulaire"],"source":"Composition Sirenic : INSEE Sirene (état, live), croisement TVA calculée (clé FR déterministe), VIES (Commission européenne, live), contrôle de forme IBAN + registres bancaires officiels","disclaimer":"Croisement déterministe des identifiants affichés par une facture (raisons en liste fermée, tracées à leur source) — ni un avis de conformité fiscale, ni une Verification of Payee : le volet bancaire contrôle la FORME et identifie la banque, sans vérifier l'existence du compte ni le nom du titulaire — un IBAN valide mais substitué n'est pas détectable ici. / Deterministic cross-check of the identifiers printed on an invoice — neither tax advice nor a Verification of Payee: the bank leg checks FORM and identifies the bank; a valid-but-swapped IBAN cannot be detected here."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/facturation/dossier":{"get":{"summary":"Verify a supplier before payment — France (e-invoicing mandate, 1 September 2026)","description":"Invoice verification and supplier verification — verify supplier before payment in France, the invoicing pack of the e-invoicing mandate France September 2026 (all VAT-liable companies must receive): legal identity, obligation dates, intra-EU VAT number checked LIVE against VIES, IBAN form + key check, bank identified, deterministic pret_a_facturer verdict, closed-list reasons. Not a payee verification: no holder name, no account existence check. A VIES outage never yields a false invalid.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN of the invoice recipient"},{"name":"iban","in":"query","required":false,"schema":{"type":"string","maxLength":40},"description":"Optional supplier IBAN — form check (structure + key) and bank identification before the first payment"}],"responses":{"200":{"description":"destinataire (full e-invoicing preparation), tva_vies (computed number + live VIES status), banque (IBAN form check + bank identification when iban is provided) and verdict {pret_a_facturer, non_verifie[], raisons[]} — closed-list reasons, each with its level (bloquante/information) and source. When an iban is supplied, verdict.non_verifie travels NEXT TO the green light and names what the bank leg never checks: account existence, holder name. Also carries provenance[]: one entry per block served, naming the official register, its licence and its as_of date — inside the Ed25519-signed bytes, so the answer is auditable offline.","content":{"application/json":{"example":{"siren":"552032534","destinataire":{"destinataire":{"denomination":"DANONE","etat_administratif":"actif"}},"tva_vies":{"numero":"FR27552032534","statut":"valide"},"banque":{"iban_normalise":"FR1420041010050500013M02606","valide":true,"exemple_de_documentation":true,"banque":{"nom":"La Banque Postale","bic":"PSSTFRPPXXX"},"verification_titulaire":"non_disponible"},"verdict":{"pret_a_facturer":true,"non_verifie":["existence_du_compte","nom_du_titulaire"],"raisons":[{"code":"iban_exemple_documentation","niveau":"information","source":"IBAN publié comme EXEMPLE de documentation — bien formé ; existence du compte non contrôlée."}]},"source":"Composition Sirenic : préparation e-facturation (INSEE Sirene), VIES (Commission européenne, live), contrôle de forme IBAN + registres bancaires officiels","disclaimer":"Aide à la décision déterministe (raisons en liste fermée, tracées à leur source) — ni un avis de conformité fiscale, ni une Verification of Payee : le volet bancaire contrôle la FORME et identifie la banque, sans vérifier l'existence du compte ni le nom du titulaire ; la TVA (VIES) et l'état Sirene, eux, sont vérifiés en direct. / Deterministic decision support — neither tax-compliance advice nor a Verification of Payee: the bank leg checks FORM (structure + key digits) and identifies the bank, without checking the account's existence or the holder's name; the VAT (VIES) and the Sirene registry status are checked live."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/facturation-prep":{"get":{"summary":"Prepare an e-invoice for a French recipient (mandate of 1 September 2026)","description":"Supplier onboarding: PREPARE a compliant French e-invoice under the e-invoicing mandate France September 2026 (reception obligatory for every VAT-liable company; issuance phased GE/ETI 2026, SME 2027): legal name & form, status, computed intra-EU VAT number (with VIES pointer), establishments (SIRET) with addresses, NAF code, indicative obligation dates. Preparation only - Sirenic is not an accredited platform (PDP), never accesses the central directory and never issues or routes invoices.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated) of the invoice RECIPIENT"}],"responses":{"200":{"description":"Recipient identity (legal name, form, active/ceased, NAF), computed intra-EU VAT number with a VIES-check pointer, head office + establishments (SIRET, addresses), indicative reform calendar from the INSEE size category, the official directory manual-lookup URL, and warnings (ceased company, restricted diffusion). Never confirms PPF/PDP registration.","content":{"application/json":{"example":{"siren":"552032534","statut_diffusion":"totale","destinataire":{"denomination":"DANONE","nature_juridique":"5599","etat_administratif":"actif","activite_principale":"70.10Z","categorie_entreprise":"GE"},"tva":{"numero_intracommunautaire_calcule":"FR27552032534"},"adressage":{"siege":{"siret":"55203253400703","adresse":"59 RUE LA FAYETTE 75009 PARIS","code_postal":"75009","commune":"PARIS"},"nombre_etablissements":19,"etablissements":[{"siret":"55203253400703","est_siege":true,"adresse":"59 RUE LA FAYETTE 75009 PARIS","etat_administratif":"actif"}]},"calendrier_reforme":{"reception_obligatoire_depuis":"2026-09-01","emission_obligatoire_depuis":"2026-09-01","base_calcul":"catégorie d'entreprise INSEE : GE"},"avertissements":[],"data_freshness":"identité : stock Sirene mensuel (2026-07-01)","disclaimer":"Données de préparation fournies à titre indicatif ; Sirenic n'émet, ne transmet ni ne route aucune facture, et ne confirme pas l'enregistrement du destinataire sur le PPF ou une PDP."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/bodacc/recherche":{"get":{"summary":"Search BODACC legal announcements by criteria (family, date window, department)","description":"Search French BODACC legal announcements by CRITERIA, not by company: pick a family (insolvency proceedings, deregistrations, sales, incorporations, accounts filings, conciliation...), a date window and optionally a department. Answers questions like: which companies entered insolvency proceedings in department 59 this week? Up to 100 announcements, newest first, each with its SIREN, court, town and structured judgment. Sole traders are excluded (their name is personal data) and counted.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"famille","in":"query","required":true,"schema":{"type":"string","enum":["dpc","modification","creation","radiation","collective","vente","immatriculation","divers","conciliation","retablissement_professionnel"]},"example":"collective","description":"Announcement family (closed list — these are the upstream BODACC codes, not translations): `collective` = insolvency/collective proceedings, `dpc` = accounts filings (the largest family, 26M), `retablissement_professionnel` = professional recovery. Note that `retablissement_professionnel` targets SOLE TRADERS, so this endpoint serves almost nothing for it and reports them under `exclues_personnes_physiques`."},{"name":"depuis","in":"query","required":true,"schema":{"type":"string","format":"date"},"example":"2026-08-04","description":"Start of the publication window (YYYY-MM-DD). Required: there is no unbounded search."},{"name":"jusqu_a","in":"query","required":false,"schema":{"type":"string","format":"date"},"description":"Optional end of the window (YYYY-MM-DD). The window may not exceed 366 days."},{"name":"departement","in":"query","required":false,"schema":{"type":"string"},"example":"59","description":"Optional French department code: 01-95, 2A, 2B, 971-978."}],"responses":{"200":{"description":"Up to 100 announcements, newest first (`dateparution DESC`), each with its BODACC id, publication date, family, notice type (initial / rectificative / cancellation), court, town, postcode, department and a STRUCTURED judgment (nature, date, family) — plus the company SIREN when the register carries one, and the public BODACC URL. ⚠️ The judgment's operative FREE TEXT is deliberately removed from every announcement: it names court-appointed administrators together with their address. Facts that exist only in that text — the date of cessation of payments, for instance — are therefore NOT in this response; follow `url_bodacc` for the official publication, or GET /v1/entreprise/{siren}/alertes for a single company. `tronque: true` says there were more than 100 matches: narrow the window. `exclues_personnes_physiques` counts the announcements DELIBERATELY withheld because a natural person is PROVEN in them (their name is personal data); `exclues_type_indetermine` counts those withheld because the person type was unreadable — the guard is fail-closed, and conflating the two would claim sole traders where nothing could be established. The served total is ours, after those filters, never the upstream count. An announcement is not a verdict: the insolvency family also contains closures and cancellations, so read the CURRENT state with GET /v1/entreprise/{siren}/alertes or GET /v1/score/defaillance/{siren}.","content":{"application/json":{"example":{"criteres":{"famille":"collective","depuis":"2026-08-04","departement":"59"},"annonces":[{"id":"A202601513770","date_parution":"2026-08-11","famille":"Procédures collectives","type_avis":"Avis initial","tribunal":"Greffe du Tribunal Judiciaire de Lille","ville":"Tourcoing, Lille Cedex","code_postal":"59200, 59009","departement":"59","departement_nom":"Nord","siren":null,"jugement":{"nature":"Autre jugement et ordonnance","date":"2026-07-09","famille":"Extrait de jugement"},"url_bodacc":"https://www.bodacc.fr/pages/annonces-commerciales-detail/?q.id=id:A202601513770"},{"id":"A202601503905","date_parution":"2026-08-09","famille":"Procédures collectives","type_avis":"Avis initial","tribunal":"Greffe du Tribunal de Commerce de Douai","ville":"Hornaing","code_postal":"59171","departement":"59","departement_nom":"Nord","siren":"907941801","jugement":{"nature":"Jugement d'ouverture d'une procédure de redressement judiciaire","date":"2026-08-04","famille":"Jugement d'ouverture"},"url_bodacc":"https://www.bodacc.fr/pages/annonces-commerciales-detail/?q.id=id:A202601503905"}],"total_servi":56,"exclues_personnes_physiques":8,"exclues_type_indetermine":0,"tronque":false,"limite":100,"consulte_le":"2026-08-11T22:19:24.289Z","source":"BODACC (Bulletin officiel des annonces civiles et commerciales), DILA — via l'API Opendatasoft officielle, Licence Ouverte 2.0"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/entreprise/{siren}/dossier":{"get":{"summary":"Full company file in ONE call — pick your blocks, pay only for those","description":"Full French company file in ONE call: identity is the base, then add the blocks you want and pay only for those — etablissements, alertes_bodacc, contentieux, finances, marches_publics, marches_publics_ue, lobbying, risques_industriels, agrements, pi, documents, facturation_prep, score. Example: blocs=finances,pi,score. Each block costs what its own endpoint costs, total capped at $0.35. A block that cannot be served is NAMED with its reason: no data, not disclosable, or upstream outage.","x-price":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated), e.g. 552032534"},{"name":"blocs","in":"query","required":true,"schema":{"type":"string"},"example":"finances,pi,score","description":"Comma-separated blocks added to the identity base: etablissements, alertes_bodacc, contentieux, finances, marches_publics, marches_publics_ue, lobbying, risques_industriels, agrements, pi, documents, facturation_prep, score. Each is billed at the price of its own dedicated endpoint, on top of the $0.005 base, and the total is capped at $0.35. Duplicates are billed once. An unknown name returns 400 and nothing is charged. Required: there is no implicit 'everything', so no surprise amount."}],"responses":{"200":{"description":"The identity base (same content as GET /v1/entreprise/{siren}), then one key per block actually served under `blocs`. `blocs_absents` lists every requested block that could not be served, each with a reason from a CLOSED list: `aucune_donnee` (a negative answer — no patents, no public contracts), `non_diffusible` (partial Sirene diffusion / GDPR guard) or `panne_amont` (upstream register down at call time). `resume` counts them. If EVERY requested block is `panne_amont`, the call returns 503 instead and the payment is cancelled — you are never charged a supplement for blocks that no register answered. This endpoint is a DUMP of facts: no verdict and no prose (that is GET /v1/intelligence/{siren}).","content":{"application/json":{"example":{"siren":"552032534","identite":{"siren":"552032534","denomination":"DANONE","nature_juridique":"5599","activite_principale":"70.10Z","categorie_entreprise":"GE","etat_administratif":"actif"},"blocs_demandes":["finances","pi","score"],"blocs":{"finances":{"siren":"552032534","nombre_exercices":8,"exercices":[{"date_cloture":"2024-12-31","chiffre_affaires":1030000000,"ebe":697000000,"resultat_net":592000000}]},"pi":{"marques":{"nombre":88,"liste":[{"numero":"4789796","libelle":"THE ONE HOME","statut":"Marque enregistrée","date":"2021-07-31","date_nature":"depot","classification":"41, 44"}]},"brevets":{"nombre":12},"modeles":{"nombre":3}},"score":{"siren":"552032534","score_risque":22,"classe":"sain","risque_12m":"faible","confiance":"moyenne","version_modele":"defaillance-v1.8"}},"blocs_absents":[],"resume":{"demandes":3,"servis":3,"absents":0,"dont_panne_amont":0}}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/dirigeant/recherche":{"get":{"summary":"Reverse director search by surname","description":"Reverse search for company directors and officers in France: a people search by surname (?nom=) that lists the French companies where a person of that name holds or held an office, with each company SIREN, name and the person role — network mapping and due diligence on directors. Person data is limited to surname, first names, role and birth YEAR (French GDPR/INPI rules). Results are indicative: homonyms are not disambiguated and very common names are capped.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"nom","in":"query","required":true,"schema":{"type":"string"},"example":"Arnault","description":"Director surname — unsupported characters are stripped rather than rejected; 400 only when nothing searchable is left (1 to 100 characters once cleaned up)."}],"responses":{"200":{"description":"Companies where a person of that surname holds an office: company SIREN, name, status, and the masked mandate(s) (surname, first names, role, birth YEAR only). Includes a homonym warning and a truncation flag for common names.","content":{"application/json":{"example":{"nombre_resultats":1,"tronque":false,"resultats":[{"siren":"314685454","denomination":"AGACHE","etat_administratif":"actif","statut_diffusion":"totale","correspondance_locale":true,"mandats":[{"type":"personne_physique","nom":"ARNAULT","prenoms":"BERNARD","fonction":"Autre","annee_de_naissance":"1949"}]}]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/kyb/batch":{"get":{"summary":"Batch KYB: 2 to 100 French companies in one call","description":"Batch KYB and bulk company lookup: full Know Your Business files for 2 to 100 French companies in one call (comma-separated sirens parameter) — bulk due diligence, compliance and onboarding screening of a whole portfolio, each file with per-block provenance (official register + as-of date). Billed per company at $0.105 (30% off the $0.15 unit price); the amount is quoted from the number of SIREN. A SIREN with no diffusible company is returned as trouve=false and billed as one lookup.","x-price":"$0.105 per company (billed = unit price × number of SIREN; 30% off the unit KYB) — A full-size request quotes up to $10.50, above the $1.00 single-payment cap that x402 clients apply BY DEFAULT since @x402/core 2.23 (spendControls): raise spendControls.maxAmountPerPayment, or set spendControls: false, before signing — otherwise your own client rejects the quote without ever calling us.","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"sirens","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{9}(,\\d{9}){1,99}$"},"example":"552032534,542065479","description":"2 to 100 comma-separated 9-digit SIRENs (Luhn-validated, deduplicated)"}],"responses":{"200":{"description":"One entry per requested SIREN: found companies carry the full KYB file with trouve=true; unknown SIRENs carry trouve=false and are billed as one lookup. Fields nombre_demande and nombre_trouve summarize the batch. Each found file carries its own per-block provenance, in the same shape as GET /v1/kyb/{siren}.","content":{"application/json":{"example":{"nombre_demande":2,"nombre_trouve":2,"entreprises":[{"trouve":true,"siren":"552032534","identite":{"denomination":"DANONE","etat_administratif":"actif"},"tva_intracommunautaire":"FR27552032534","criblage_sanctions":{"statut":"correspondances_a_verifier"},"score_completude":100,"blocs_manquants":[]}],"tarification":"Facturé par SIREN demandé (prix unitaire de lot). Un SIREN sans entreprise diffusible est restitué `trouve: false` et compté comme une consultation. / Billed per requested SIREN; a not-found SIREN counts as one lookup."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"At least one file could not be built (infrastructure), or sanctions screening was unavailable for a company of the batch (`criblage_sanctions_indisponible`, core block): the WHOLE batch is cancelled, nothing is charged — retry."}}}},"/v1/comparer":{"get":{"summary":"Compare 2 to 5 French companies side by side","description":"Company comparison: compare 2 to 5 French companies side by side in one call on official company data — identity, deterministic default-risk score, latest filed accounts (statutory scope) and BODACC insolvency alerts. Benchmarking for supplier selection and vendor shortlist: per-axis rankings, never an overall winner, plus a comparabilite block that flags NOT comparable companies (different sectors, sizes, a holding in the batch). Billed PER COMPANY: signed quote = $0.12 x number of SIREN.","x-price":"$0.12 per company (billed = unit price × number of SIREN)","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"sirens","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{9}(,\\d{9}){1,4}$"},"example":"552032534,542065479","description":"2 to 5 comma-separated 9-digit SIRENs (Luhn-validated, deduplicated)"}],"responses":{"200":{"description":"One entry per requested SIREN (identity, default-risk score, latest filed accounts with their accounting scope, BODACC alerts, sanctions screening of the legal name), plus per-axis rankings, factual gaps and a comparabilite block listing, as a closed list, why the companies may not be comparable. Nine rankings (risk, revenue, net result, EBITDA margin, lowest debt, liquidity, revenue growth, cash vs short-term debt, seniority) each carry a status in eligibilite_classements with their data, scope, years and coverage: the evaluative risk ranking is served only when the batch is comparable and the ranked scores rest on the same axes; amounts are forbidden across fiscal years, ratios also across sectors or sizes; a forbidden ranking is absent, with its reasons. No overall ranking is ever returned. An unknown SIREN carries trouve=false and is billed as one lookup; if any company cannot be built the whole batch returns 503 and the payment is not settled.","content":{"application/json":{"example":{"nombre_demande":2,"nombre_trouve":2,"entreprises":[{"trouve":true,"siren":"552032534","denomination":"DANONE","identite":{"activite_principale":"70.10Z","categorie_entreprise":"GE","creee_en":1955,"etat_administratif":"actif"},"solidite":{"score_risque":22,"classe":"sain","confiance":"moyenne","exercice_reference":"2024-12-31","version_modele":"defaillance-v1.8"},"finances":{"exercice":"2024-12-31","perimetre":"social","chiffre_affaires":1030000000,"resultat_net":592000000},"alertes":{"procedure_collective_active":false,"liquidation_judiciaire":false,"cloture_insuffisance_actif":false,"radiations":0},"sanctions":{"statut":"aucune_correspondance","nombre_correspondances":0,"cible":"denomination"}}],"classements":{"chiffre_affaires":["542065479","552032534"],"anciennete":["542065479","552032534"]},"eligibilite_classements":{"risque_le_plus_faible":{"type":"evaluatif","statut":"interdit","raison":["secteurs_differents","holding_dans_le_lot"]}},"ecarts":[{"code":"ecart_taille_ca","min":1030000000,"max":62589489000}],"comparabilite":{"fiable":false,"avertissements":[{"code":"secteurs_differents","portee":"bloquante","lecture":"Les entreprises comparées n'ont pas le même code NAF : les scores et les ratios ne se comparent pas d'un secteur à l'autre. / The companies have different NAF activity codes: scores and ratios are not comparable across sectors."}]}}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/kyb/{siren}":{"get":{"summary":"Complete KYB file for a French company (one call)","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Identity, officers, BODACC legal alerts, filed financials, sanctions screening of the company and each officer (6 official lists), computed VAT number, completeness score with missing blocks. The screening block also reports every list consulted with its entry count, publication date and what that date means. Carries the common `provenance[]` envelope (states and reading rules: GET /v1/lecture, free). Screening status is qualification-aware since 2026-09-04: `correspondances_a_verifier` only when at least one match weighs in the shared concordance table (label identity, enclosing name, included name, near-homonym, short label, unqualifiable); `rapprochements_partiels_seulement` when matches exist but every one is a partial resemblance (likely homonymy on a generic token) — served, counted by no verdict; `aucune_correspondance` / `aucune_correspondance_partielle` unchanged. Statutory auditors (commissaires aux comptes) are no longer screened and are listed in `criblage_sanctions.cibles_ecartees` with the reason: measured on 11 files, 22% of all matches came from audit firms (KPMG alone: 12 identical matches on two unrelated clients).","content":{"application/json":{"example":{"siren":"552032534","identite":{"denomination":"DANONE","nature_juridique":"5599","activite_principale":"70.10Z","etat_administratif":"actif","date_creation":"1955-01-01","siege":{"siret":"55203253400703","code_postal":"75009","commune":"PARIS"},"nombre_etablissements":19},"tva_intracommunautaire":"FR27552032534","alertes_bodacc":{"procedures_collectives":[],"radiations":[],"total_annonces":106},"finances":{"nombre_exercices":8,"exercices":[{"date_cloture":"2024-12-31","chiffre_affaires":1030000000,"resultat_net":592000000}]},"criblage_sanctions":{"statut":"correspondances_a_verifier","cibles":[{"cible":"DANONE","role":"entreprise","nombre_correspondances":0,"correspondances":[],"troncature":{"tronquee":false,"correspondances_servies":0,"non_servies":0,"niveau_non_servi":null,"prefiltre_sature":false,"note":null}}],"cibles_non_criblees":[]},"score_completude":100,"blocs_manquants":[],"data_freshness":"identité : stock Sirene mensuel (2026-07-01)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Sanctions screening unavailable when the file was built (core block, CDU decision of 2026-09-05): file NOT served, payment cancelled — retry. Partial list outages are still served and flagged in `listes_absentes`."}}}},"/v1/entreprise/{siren}/risques-industriels":{"get":{"summary":"Industrial-risk profile: classified ICPE facilities, Seveso status, risk synthesis","description":"Industrial risk and environment profile of a French company from the official ICPE register (Géorisques/DGPR): classified facilities with Seveso status (upper/lower tier), authorisation regime, activity state, IED flag, nomenclature rubrics and a risk synthesis per SIREN — an ESG and environmental compliance signal on hazardous sites operated by the company. A company with no classified facility returns level aucun (still 200) — the clean answer is the signal.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Risk synthesis (niveau_risque_max seveso_seuil_haut → aucun, counters per regime, IED, national priority) plus each facility: AIOT code, SIRET, commune, Seveso status, regime, activity state, nomenclature rubrics, Géorisques link. No facility = level `aucun` (still 200).","content":{"application/json":{"example":{"siren":"095580841","synthese":{"niveau_risque_max":"seveso_seuil_haut","nb_installations":6,"nb_en_exploitation":6,"seveso_seuil_haut":2,"seveso_seuil_bas":0,"par_regime":{"autorisation":2,"enregistrement":4,"autres":0},"ied":0,"priorite_nationale":2},"installations":[{"code_aiot":"0005207266","raison_sociale":"TEREGA - Centre de stockage","commune":"Lussagnet","code_postal":"40270","statut_seveso":"Seveso seuil haut","regime":"Autorisation","etat_activite":"En exploitation avec titre","ied":false}],"source":"Géorisques — Ministère de la Transition écologique (DGPR), base des installations classées, Licence Ouverte / etalab-2.0","data_freshness":"stock Géorisques mensuel (extrait 2026-07-23)"}}}},"400":{"description":"Invalid SIREN. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"ICPE stock not yet loaded; payment not settled."}}}},"/v1/entreprise/{siren}/emploi":{"get":{"summary":"Hiring signals: actively hiring, posting volume, ROME families, pay-range share, Egapro index","description":"Hiring signals for a French company, derived on demand from France Travail data (snapshot under 24 h, nothing stored): actively-hiring yes/no/unprovable, active-postings count (SIREN-keyed employer page when available, else strict name matching over known locations), top ROME occupation families, contract-type mix, share of postings displaying a pay amount - plus the Egapro gender-equality index and the INSEE workforce bracket. Aggregated signals only, never posting texts or recruiter contacts.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"095580841","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"signaux_recrutement (recrute_activement true/false/null — null means absence is not provable, annonces_actives, familles_rome top 5, types_contrat, fourchettes_salariales, methode with coverage counters, consulte_le), index_egapro (last 3 years), effectif (INSEE bracket labels), avertissements[]. Aggregated signals only — never posting texts, recruiter contacts or posting ids.","content":{"application/json":{"example":{"siren":"095580841","denomination":"TEREGA","signaux_recrutement":{"recrute_activement":null,"annonces_actives":0,"familles_rome":[],"methode":{"comptage":"correspondance_denomination","zones":{"type":"departements","interrogees":5,"connues":12},"annonces_examinees":1050,"couverture_complete":false},"consulte_le":"2026-08-25T05:39:42.272Z"},"index_egapro":[{"annee":2025,"note":93}],"effectif":{"tranche":"500 à 999 salariés","annee":"2023"}}}}},"400":{"description":"Invalid SIREN; sole proprietorships and restricted-diffusion companies are not covered (never charged). Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"France Travail access not configured or unavailable; payment not settled."}}}},"/v1/eu/facturation/dossier":{"get":{"summary":"Verify a supplier before payment — Belgium & Poland (incl. the White List account check)","description":"European invoice verification and supplier verification for e-invoicing compliance in Belgium (mandate live since 1 Jan 2026) and Poland (KSeF): official registry identity, VAT check against VIES, Peppol reachability (BE), IBAN form + key check, bank identified and, in Poland, the official White List: is the IBAN DECLARED by the taxpayer? Paying an undeclared account over 15,000 PLN costs the buyer the VAT deduction and joint liability. Deterministic pret_a_facturer verdict, closed-list reasons.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"pays","in":"query","required":true,"schema":{"type":"string","enum":["BE","PL"]},"example":"BE","description":"Belgium or Poland (for France use /v1/facturation/dossier)"},{"name":"id","in":"query","required":true,"schema":{"type":"string"},"example":"0403199702","description":"Belgian enterprise number or Polish NIP (10 digits)"},{"name":"iban","in":"query","required":false,"schema":{"type":"string"},"description":"Payee IBAN — optional; form check (structure + key) plus bank identification, and in Poland it unlocks the White List account check"}],"responses":{"200":{"description":"Registry identity, VAT number checked against VIES, Peppol reachability (BE), White List status and account check (PL), IBAN form check + bank identification, mandate calendar, and a deterministic pret_a_facturer verdict whose reasons are a closed list, each classified blocking or informational and traced to its source. With an iban supplied, verdict.non_verifie sits NEXT TO the verdict and names what is never checked (account existence, holder name) — the Polish White List proves the account is DECLARED by that taxpayer, not who holds it. An unavailable source yields `non vérifiable`, never a false `invalid`. Also carries provenance[] — official register, licence and as_of date per block; the Polish account check restitutes the exact `date` sent to the White List, which is the date the buyer can rely on.","content":{"application/json":{"example":{"pays":"BE","id":"0403199702","destinataire":{"denomination":"BNP Paribas Fortis","etat":null},"tva":{"numero":"BE0403199702","statut":"valide"},"peppol":{"joignable":true,"identifiant":"0208:0403199702","nom_enregistre":"BNP Paribas Fortis NV","documents":["Invoice"],"accepte_facture_en16931":true},"banque":null,"mandat":{"obligation":"facturation électronique structurée entre assujettis","en_vigueur_depuis":"2026-01-01","canal_par_defaut":"Peppol (art. 13ter, présomption réfragable)"},"verdict":{"pret_a_facturer":true,"raisons":[{"code":"iban_non_fourni","niveau":"information","source":"Paramètre `iban` absent — contrôle bancaire non effectué."}]},"source":"Banque-Carrefour des Entreprises (BCE/KBO), VIES (Commission européenne), annuaire Peppol, registres bancaires officiels."}}}},"400":{"description":"Unsupported country or invalid identifier. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No company for this identifier in the national register."},"503":{"description":"Upstream registry unavailable; payment not settled."}}}},"/v1/eu/entreprise/{pays}/{id}/transactions-dirigeants":{"get":{"summary":"Belgian and German insider dealing (FSMA / BaFin, Art. 19 MAR): issuer-level aggregate, nobody named","description":"Director transactions and insider transactions at Belgian and German listed companies — managers transactions (directors' dealings) under MAR Article 19, as notified to the FSMA and BaFin: are the company's managers buying or selling? Issuer-level aggregate over a rolling 12 months — counts, gross buy and sell amounts, net flow, breakdown by declarer category, and the underlying notifications. BE: 10-digit enterprise number. DE: LEI or ISIN. No individual is ever named.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"pays","in":"path","required":true,"schema":{"type":"string","enum":["BE","DE"]},"example":"DE","description":"Belgium (FSMA) or Germany (BaFin)"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^(\\d{10}|[0-9A-Z]{18}[0-9]{2}|[A-Z]{2}[0-9A-Z]{9}[0-9])$"},"example":"529900D6BF99LW9R2E68","description":"BE: 10-digit enterprise number. DE: LEI or ISIN — BaFin publishes no register number."},{"name":"depuis","in":"query","required":false,"schema":{"type":"string","format":"date"},"description":"Start date (default: rolling 12 months)"}],"responses":{"200":{"description":"Aggregate for the issuer: notification counts (buys, sells, and `autre` for notifications that are neither), gross buy/sell amounts, net flow, distinct declarer count, breakdown by declarer category, and the underlying notifications (type, instrument, venue, price, amount, date). Amounts in currencies other than EUR are counted but excluded from the EUR totals — never converted. Germany publishes an average price and an aggregated volume, never a share count (`quantite` is null there). No individual is named; the category breakdown is withheld below 3 distinct declarers, since it would single someone out.","content":{"application/json":{"example":{"pays":"BE","denomination":"UMICORE","synthese":{"nb_notifications":2,"nb_achats":2,"nb_ventes":0,"nb_autres":0,"montant_achats_eur":9765,"montant_ventes_eur":0,"montant_net_eur":9765,"nb_notifications_montant_hors_eur":0,"nb_declarants_distincts":2,"date_derniere_notification":"2026-08-06"},"note_montants":null,"par_categorie_declarant":null,"ventilation_masquee":"Moins de 3 déclarants distincts sur la période : la ventilation par catégorie est masquée (y compris dans le détail des notifications), elle désignerait une personne identifiable. Les transactions et leurs montants restent servis.","notifications":[{"reference_source":"621888","date_publication":"2026-08-06","date_transaction":"2026-08-05","type_transaction":"acquisition","lieu":"Off exchange","quantite":12500,"montant":0,"devise":"EUR","categorie_declarant":null}],"source":"FSMA — Transactions de dirigeants (art. 19 MAR), licence CC BY 4.0 ; identifiants d'entreprise résolus via GLEIF."}}}},"400":{"description":"Invalid `depuis` format, or malformed German identifier (LEI/ISIN expected). Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Country other than BE or DE, or no issuer for this identifier in the register."},"503":{"description":"Stock not yet collected, or German stock older than 3 days (photo_perimee); payment not settled."}}}},"/v1/entreprise/{siren}/agrements":{"get":{"summary":"Regulatory authorisations: payment/e-money (EBA), insurance (EIOPA), telecom (ARCEP)","description":"Regulatory authorisation and licences held by a French company, by SIREN: payment institution, e-money institution, account-information provider, payment agent or exempt entity from the EBA PSD2 register (daily), insurance undertaking from EIOPA, telecom operator (electronic-communications operator, ARCEP). Returns authorisation dates, licensed PSD2 services, EEA passporting and withdrawals — a compliance check across three official registers. Not authorised is a paid answer too (200).","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"953990934","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"Summary (est_agree, domains, counts) plus each authorisation: domain, status (actif/retire/exempte), entity type, competent authority, authorisation and withdrawal dates, licensed PSD2 services with labels, EEA passporting, LEI or ARCEP code, source reference and extraction date. No authorisation found is still 200 — the EBA register has no legal significance, so absence is not proof.","content":{"application/json":{"example":{"siren":"953990934","denomination":"CIRCLE INTERNET FINANCIAL EUROPE SAS","resume":{"est_agree":true,"regime":"agrement","domaines":["monnaie_electronique"],"nombre_agrements":1},"agrements":[{"domaine":"monnaie_electronique","statut":"actif","type_entite":"établissement de monnaie électronique","autorite":"ACPR","date_agrement":"2024-07-01","date_retrait":null,"services":[{"code":"ES_010","libelle":"Émission, distribution et remboursement de monnaie électronique"}],"passeportage":["AT"]}],"source":"EBA (Payment Institutions Register), EIOPA (Register of Insurance Undertakings), ARCEP (opérateurs déclarés) — reproduction autorisée avec mention de la source.","disclaimer":"Registres publics reproduits tels que publiés. Le registre EBA n'a pas de valeur juridique : l'absence d'inscription ne prouve pas l'absence d'agrément, et l'inscription ne confère aucun droit — vérifiez auprès de l'autorité compétente. Ces données sont disponibles gratuitement auprès de l'EBA, de l'EIOPA et de l'ARCEP.","data_freshness":"eiopa-assureurs 2026-07-28, eba-pir 2026-07-28, arcep-operateurs 2026-07-28"}}}},"400":{"description":"Invalid SIREN. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"Authorisation stock not yet loaded; payment not settled."}}}},"/v1/association/{rna}":{"get":{"summary":"French association (loi 1901) profile by RNA number","description":"Official profile of a French association (loi 1901) by RNA number (W + 9), from the RNA register (Ministry of the Interior, monthly): title, purpose and Waldec codes, nature, grouping, position (active/dissolved/deleted), creation, declaration, JO publication and dissolution dates, registered office, website, RUP number as declared, prefecture, and the SIREN when Sirene confirms it (categorie juridique 92xx). Covers associations WITHOUT a SIREN. No officer data. Excludes Alsace-Moselle.","x-price":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"rna","in":"path","required":true,"schema":{"type":"string","minLength":3,"maxLength":14},"example":"W751004076","description":"RNA number (W + 9, e.g. W751004076) or legacy RNA id as published"}],"responses":{"200":{"description":"Title, purpose and Waldec codes, nature, grouping, position, dates, registered office, website, publication_web_autorisee, RUP as declared, prefecture, siren when Sirene confirms an association, fichier_source (waldec | import), fraicheur.qualite (declaree | inconnue), anomalies, couverture. No officer data.","content":{"application/json":{"example":{"rna":"W751004076","titre":"CROIX ROUGE FRANCAISE","titre_court":"CROIX ROUGE FRANCAISE","objet":"prévenir et alléger en toutes circonstances les souffrances humaines. Protéger la vie et la santé ainsi qu'à faire respecter la personnes humaine.","objet_social_codes":["017055","050000"],"nature":{"code":"R","libelle":"reconnue_utilite_publique"},"groupement":{"code":"S","libelle":"simple"},"position":{"code":"A","libelle":"active"},"dates":{"creation":"1964-12-30","derniere_declaration":"2025-09-26","publication_jo":null,"dissolution":null},"siege":{"adresse":"98 RUE Didot","code_insee":"75114","code_postal":"75694","commune":"Paris 14e"},"site_web":null,"publication_web_autorisee":false,"rup_mi":"75.000.0001","prefecture_gestionnaire":"759S","siren":"775672272","siren_origine":"identifiant_sirene","siret_declare":null,"fichier_source":"waldec","fraicheur":{"qualite":"declaree","derniere_mise_a_jour":"2026-03-28T19:00:02.000Z","millesime_export":"2026-09-01"},"anomalies":[],"data_freshness":"export RNA 2026-09-01 (photo mensuelle, 5 j)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown identifier in the RNA stock. Nothing is charged."},"503":{"description":"RNA stock not loaded or older than 45 days; payment not settled."}}}},"/v1/associations/recherche":{"get":{"summary":"Search French associations by name (RNA, top 20)","description":"Search French associations (loi 1901) by name in the Répertoire national des associations (RNA, Ministry of the Interior): trigram similarity on the normalised title, optional postal-code, department and position filters (active, dissoute, supprimee), top 20 with score_confiance and the RNA number to use on /v1/association/{rna}. Associations with AND without a SIREN; the legacy file (no declaration since 2009) is flagged fichier_source: import. Excludes Alsace-Moselle (local law).","x-price":"$0.002","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"croix rouge","description":"Association title, or an RNA number (resolved directly)"},{"name":"code_postal","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{2,5}$"},"example":"75014","description":"Postal code or prefix (2-5 digits)"},{"name":"departement","in":"query","required":false,"schema":{"type":"string"},"example":"75","description":"01-95, 2A, 2B or 971-989"},{"name":"position","in":"query","required":false,"schema":{"type":"string","enum":["active","dissoute","supprimee"]},"description":"Position filter"}],"responses":{"200":{"description":"Up to 20 matches: rna, titre, position, code_postal, commune, date_creation, siren (when confirmed), fichier_source, score_confiance (0-1) and `correspondance`, which explains the ORDER before the score: `identifiant` (you typed an RNA number), `debut_du_titre` (the title starts with your query — these are always complete) then `mots_similaires` (fuzzy, tolerates typos and inverted words). etages_abandonnes is ALWAYS present ([] = both stages answered): a stage that exceeds the 6s call budget is NAMED there and the answer is still served, with resultats_partiels: true and note_completude — 503 (unbilled) only when nothing at all was found. A generic query matching more than 3000 titles per stage carries the same reserve: each stage ranks a bounded pool. No match = 200, empty list.","content":{"application/json":{"example":{"q":"croix rouge","filtres":{"code_postal":"75","departement":null,"position":null},"total_results":2,"resultats":[{"rna":"W751004076","titre":"CROIX ROUGE FRANCAISE","position":"active","code_postal":"75694","commune":"Paris 14e","date_creation":"1964-12-30","siren":"775672272","fichier_source":"waldec","correspondance":"debut_du_titre","score_confiance":0.55}],"etages_abandonnes":[],"data_freshness":"export RNA 2026-09-01 (photo mensuelle, 5 j)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"503":{"description":"RNA stock not loaded or older than 45 days, or search over its 8 s budget; payment not settled."}}}},"/v1/association/{rna}/annonces":{"get":{"summary":"JOAFE notices of a French association (creations, modifications, dissolutions)","description":"Official Journal notices of a French association (JOAFE, DILA) by RNA number: creations, modifications (title, purpose, registered office), dissolutions, corrections — the association equivalent of BODACC notices, most recent first, with issue date, declaration date and prefecture, purpose themes and the PDF file name. Carries `couverture` (first and last loaded issue): no notice inside that window is a fact, not a gap. Weekly issue, loaded every Tuesday.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"rna","in":"path","required":true,"schema":{"type":"string","minLength":3,"maxLength":14},"example":"W011006690","description":"RNA number (W + 9, e.g. W011006690)"}],"responses":{"200":{"description":"Notices most recent first (200 max, tronque flag): identifiant, parution, date_parution, type (creation | modification | dissolution | rectificatif | annulation), forme, departement, declaration date and prefecture, titles, purposes, siege, site_web, themes, fichier_pdf; association when known; couverture {depuis, jusqu_a, parutions}.","content":{"application/json":{"example":{"rna":"W011006690","association":{"titre":"MEXIMIEUX EN MOUVEMENT","position":"active"},"nombre":1,"tronque":false,"annonces":[{"identifiant":"202600350001","parution":"20260035","date_parution":"2026-09-01","numero_annonce":1,"type":{"code":"1","libelle":"creation"},"forme":"assoLoi1901","departement":"01","date_declaration":"2026-08-23","lieu_declaration":"Belley","titre":"MEXIMIEUX EN MOUVEMENT","ancien_titre":null,"nouveau_titre":null,"objet":"promouvoir, organiser et développer la pratique sportive sous toutes ses formes, dans une optique multisport, à destination de tous les publics","nouvel_objet":null,"siege":{"adresse":"8 rue du Faubourg","code_postal":"01800","commune":"Meximieux"},"site_web":null,"themes":[{"code":"011005","libelle":"associations multisports locales"}],"fichier_pdf":"JOAFE_PDF_Unitaire_20260035_00001.pdf"}],"couverture":{"depuis":"2020-01-07","jusqu_a":"2026-09-01","parutions":348},"data_freshness":"JOAFE parution 20260035 (5 j)"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"Unknown in the RNA and without any notice. Nothing is charged."},"503":{"description":"JOAFE stock not loaded or older than 14 days; payment not settled."}}}},"/v1/surveillance/creer":{"get":{"summary":"Create a 30, 90 or 365-day watchlist (daily checks, signed webhooks, e-mail digests)","description":"Monitoring for France: a 30, 90 or 365-day watchlist (?duree=), recurring KYB & compliance alerts. Each target checked DAILY against official sources; Ed25519-signed webhook and/or e-mail digest, always pollable. Company targets (SIREN): BODACC, status, officers, sanctions/AMF blacklist, PSAN/SGP, Seveso, FR & EU procurement awards. Directors (dirigeant:Name): new/ended offices. Associations (RNA W…): JOAFE notices. Per target (1-100) x duration: $0.05 / $0.135 / $0.50. No account, no refund.","x-price":"$0.05 per target for 30 days, $0.135 per target for 90 days, $0.50 per target for 365 days (billed = that unit price × number of targets, 1-100) — A full-size request quotes up to $50.00, above the $1.00 single-payment cap that x402 clients apply BY DEFAULT since @x402/core 2.23 (spendControls): raise spendControls.maxAmountPerPayment, or set spendControls: false, before signing — otherwise your own client rejects the quote without ever calling us.","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"cibles","in":"query","required":true,"schema":{"type":"string"},"example":"552032534,542065479,dirigeant:Bernard Arnault","description":"1-100 comma-separated targets: 9-digit SIRENs, RNA numbers (W + 9, associations — JOAFE notices) and/or dirigeant:Name entries"},{"name":"duree","in":"query","required":false,"schema":{"type":"integer","enum":[30,90,365],"default":30},"example":90,"description":"Watch duration in days. Sets the UNIT PRICE per target: 30 = $0.05, 90 = $0.135 (-10%), 365 = $0.50 (-17.8% vs the monthly rate). Payment is final — no pro-rata refund."},{"name":"webhook","in":"query","required":false,"schema":{"type":"string","format":"uri"},"description":"Public https URL receiving Ed25519-signed event batches (verification recipe: /.well-known/sirenic-signing-key)"},{"name":"email","in":"query","required":false,"schema":{"type":"string","format":"email"},"description":"E-mail address receiving event digests"}],"responses":{"200":{"description":"The watch token under two names for convenience — surveillance_id and jeton carry the SAME bearer token. Its form is sw_<uuid>.<timestamp>.<Ed25519 signature>: the signature lets a CLIENT verify offline that the token was issued by this server; the SERVER authority is the uuid looked up in its database, so a token presented with a tampered or missing signature segment is still honoured (measured and deliberate — documented here since 2026-09-04 so that a conformance battery does not read it as a defect). Every route that returns the token (creation, state, renewal) returns the full signed form — plus the retained duration (duree_jours), expiry, channels and the pull URL. Events start from now, never retroactive. An expiration_proche event is emitted 7 days before expiry, on every channel.","content":{"application/json":{"example":{"surveillance_id":"sw_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.<horodatage_base64url>.<signature_ed25519_base64url>","jeton":"sw_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.<horodatage_base64url>.<signature_ed25519_base64url>","cibles":2,"duree_jours":30,"expire_le":"2026-08-28T07:36:32.134Z","canaux":{"webhook":false,"email":false,"pull":"/v1/surveillance/sw_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"},"source":"Surveillance Sirenic — diffs quotidiens sur sources officielles (Sirene, BODACC, sanctions, AMF, Géorisques, DECP, TED)","disclaimer":"Vérification QUOTIDIENNE : un événement est signalé au plus tard le jour ouvré suivant sa publication par la source. Les correspondances (sanctions, listes AMF) sont des rapprochements de noms à vérifier — jamais une décision. Cible dirigeant : uniquement le suivi des MANDATS publics (nom + année), purgé à l'expiration."}}}},"400":{"description":"Invalid targets, duration, webhook or e-mail (rejected before any settlement). Never charged. / Jamais facturé."},"402":{"description":"Payment required — amount = the unit price of the requested duration × number of targets. That total is served in BOTH the signed PAYMENT-REQUIRED header and the JSON body (accepts[].maxAmountRequired and price), for this exact request. Until 2026-09-04 the body carried the unit price of the default duration instead: a client reading the body signed too little and was refused."}}}},"/v1/surveillance/{jeton}":{"get":{"summary":"Watchlist status and accumulated events (free — the token IS the capability)","security":[],"parameters":[{"name":"jeton","in":"path","required":true,"schema":{"type":"string"},"description":"The token returned at creation, as jeton (or its alias surveillance_id)"}],"responses":{"200":{"description":"Status (active / expiree_renouvelable / expiree), targets with last-checked timestamps, last 100 events with delivery status."},"404":{"description":"Unknown token."}}}},"/v1/surveillance/{jeton}/renouveler":{"get":{"summary":"Renew a watchlist for 30, 90 or 365 more days","description":"Watchlist renewal: extend an existing company monitoring watchlist by 30, 90 or 365 days (?duree=, default 30, any duration whatever the original) of daily surveillance against official sources — $0.05 / $0.135 / $0.50 per target. The cibles parameter must repeat the exact watched targets: it is what the quote is computed from. Possible until 7 days after expiry, then the watch is purged. No refund, no pro rata.","x-price":"$0.05 per target for 30 days, $0.135 per target for 90 days, $0.50 per target for 365 days (billed = that unit price × number of targets, 1-100) — A full-size request quotes up to $50.00, above the $1.00 single-payment cap that x402 clients apply BY DEFAULT since @x402/core 2.23 (spendControls): raise spendControls.maxAmountPerPayment, or set spendControls: false, before signing — otherwise your own client rejects the quote without ever calling us.","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"jeton","in":"path","required":true,"schema":{"type":"string"}},{"name":"cibles","in":"query","required":true,"schema":{"type":"string"},"description":"The exact watched targets (used to compute the quote)"},{"name":"duree","in":"query","required":false,"schema":{"type":"integer","enum":[30,90,365],"default":30},"example":365,"description":"Extension in days — a FREE choice, independent of the original duration. Same unit prices as creation. Counted from the current expiry date (or from now if already expired)."}],"responses":{"200":{"description":"The retained duration (duree_jours) and the new expiry date.","content":{"application/json":{"example":{"surveillance_id":"sw_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","jeton":"sw_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","duree_jours":30,"expire_le":"2026-09-27T07:36:32.134Z","source":"Surveillance Sirenic — diffs quotidiens sur sources officielles (Sirene, BODACC, sanctions, AMF, Géorisques, DECP, TED)","disclaimer":"Vérification QUOTIDIENNE : un événement est signalé au plus tard le jour ouvré suivant sa publication par la source. Les correspondances (sanctions, listes AMF) sont des rapprochements de noms à vérifier — jamais une décision. Cible dirigeant : uniquement le suivi des MANDATS publics (nom + année), purgé à l'expiration."}}}},"400":{"description":"Targets differ from the watch, invalid duration, or expiry beyond 400 days from now (horizon_depasse) — payment cancelled. Never charged. / Jamais facturé."},"402":{"description":"Payment required — amount = the unit price of the requested duration × number of targets."},"404":{"description":"Unknown token (payment cancelled)."},"410":{"description":"Grace period exceeded — watch purged (payment cancelled)."}}}},"/v1/surveillance/{jeton}/arreter":{"get":{"summary":"Stop a watchlist and purge its data immediately (free)","security":[],"parameters":[{"name":"jeton","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Stopped; targets (including any watched director names) and events deleted."},"404":{"description":"Unknown token."}}}},"/v1/entreprise/{siren}/marches-publics-ue":{"get":{"summary":"European public-procurement awards won (TED, identifier-matched)","description":"European public procurement contract awards won by a French company, from TED (Tenders Electronic Daily, EU Publications Office): government contracts and tenders — buyer, country, subject, notice-level amount, CPV codes, co-winners and official notice link. Identifier-based matching only (SIREN/SIRET incl. spaced variants). Coverage: eForms award notices since 2023-10-25, above EU thresholds; ~57% of award notices carry a usable national identifier — an empty list is not proof of absence.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"428634356","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"Award notices matched by SIREN/SIRET (incl. spaced variants): buyer, country, subject (fr→en), notice-level amount, CPV, co-winners, official TED link, plus explicit coverage caveats (eForms since 2023-10-25, ~57% identifiable, EU thresholds). Empty list is still 200.","content":{"application/json":{"example":{"siren":"428634356","nombre_avis":1,"nombre_retourne":1,"tronque":false,"avis":[{"reference_ted":"425760-2026","date_publication":"2026-06-22","type_avis":"can-standard","objet":"Études préliminaires usines d'eau potable","acheteur":{"nom":"SYNDICAT EAU47","pays":"FRA"},"montant_avis":{"valeur":1250000,"devise":"EUR","portee":"avis entier (tous lots/titulaires)"},"codes_cpv":["71241000"],"co_titulaires":["CABINET MERLIN"],"identifiants_gagnants":["42863435600532"],"lien_ted":"https://ted.europa.eu/fr/notice/425760-2026/pdf","correspondance":{"methode":"identifiant","confiance":"haute"}}],"source":"TED — Tenders Electronic Daily (ted.europa.eu), Office des publications de l'UE ; réutilisation libre, © Union européenne","data_freshness":"interrogation TED en direct, cache 24 h"}}}},"400":{"description":"Invalid SIREN. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"TED temporarily unavailable; payment not settled."}}}},"/v1/entreprise/{siren}/lobbying":{"get":{"summary":"Lobbying profile from the official HATVP interest-representative register","description":"Lobbying and influence profile of a French company from the official HATVP register of interest representatives — a transparency, governance and ESG due diligence signal: registration status, category, lobbying-expense brackets per fiscal year, staff count, recent subjects with intervention domains and action types, clients (for consulting firms), affiliations, declaration defaults and deregistrations. Organisation-level only — no personal data. Not registered is a meaningful answer (still 200).","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"$ref":"#/components/parameters/siren"}],"responses":{"200":{"description":"Registration status (`inscrit`), category, expense brackets per fiscal year, staff count, recent subjects (domains, action types, targeted public-official CATEGORIES — never names), clients, affiliations, declaration defaults, deregistration. Organisation-level only. Not registered = still 200.","content":{"application/json":{"example":{"siren":"552032534","inscrit":true,"denomination":"DANONE","categorie":{"code":"SCOMCIV","famille":"ENTREPRISE"},"date_premiere_publication":"2017-12-05","desinscription":null,"exercices":[{"fin":"2025-12-31","nb_salaries":1,"nb_activites":8,"depenses_tranche":"> = 200 000 euros et < 300 000 euros","defaut_declaration":false}],"sujets_recents":[{"date":"2026-04-08","objet":"Soutenir le développement des innovations en faveur de la transition agroécologique, de la collecte et du recyclage du plastique notamment via la consigne","domaines":["Agriculture, agroalimentaire"]}],"clients":[],"source":"HATVP — Répertoire des représentants d'intérêts (AGORA), Licence Ouverte 2.0","disclaimer":"Données DÉCLARATIVES publiées par la HATVP, restituées au niveau de l'organisation (aucune personne physique) et resynchronisées régulièrement — le champ `objet` des sujets est le texte déclaré par l'organisation. Ni un avis ni une appréciation sur la licéité des activités.","data_freshness":"répertoire HATVP (extrait 2026-07-27)"}}}},"400":{"description":"Invalid SIREN. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."},"503":{"description":"HATVP register not yet loaded; payment not settled."}}}},"/v1/regulateurs/fr/alertes":{"get":{"summary":"French regulator (AMF) alerts: blacklists, PSAN registrations, licensed SGP","description":"French financial regulator alerts and scam check against the official AMF blacklist: screen a name for unauthorized investment websites, scams and AMF impersonation, and look up PSAN crypto provider registrations and licensed asset management companies (SGP) by name or SIREN. A compliance screening of the regulator blacklists for agents vetting French counterparties in crypto and asset management. Official AMF open data (Licence Ouverte 2.0), refreshed daily.","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"nom","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":100},"example":"swisscapitalhub","description":"Name to screen (site, brand, company) — required unless siren is given"},{"name":"siren","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{9}$"},"description":"9-digit SIREN for PSAN/SGP register lookup — required unless nom is given"}],"responses":{"200":{"description":"Blacklist matches (unauthorized sites, scams, AMF impersonation) with category and listing date, PSAN registrations and SGP authorisations (status, dates, withdrawal reason, activities), plus per-list availability. No match returns empty lists (still 200).","content":{"application/json":{"example":{"requete":{"nom":null,"siren":"552032534"},"correspondances_liste_noire":[],"psan":[],"sgp":[],"listes":{"liste_noire":{"disponible":true,"entrees":3382,"rafraichie_le":"2026-07-29T07:29:17.796Z"}},"source":"AMF — Autorité des marchés financiers, jeux open data officiels sur data.gouv.fr (listes noires, liste blanche PSAN, SGP agréées), Licence Ouverte 2.0, export quotidien","disclaimer":"Aide au criblage par rapprochement de noms sur les listes telles que publiées par l'AMF — ni un avis de conformité ni une décision ; vérifier toute correspondance sur amf-france.org. Une liste `disponible: false` signifie que sa source est momentanément injoignable (jamais un faux « aucune correspondance »).","data_freshness":"listes AMF quotidiennes (data.gouv), cache 24 h"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/eu/agrements":{"get":{"summary":"EU financial authorisations (ESMA Registers, all EU/EEA countries)","description":"EU financial authorisation lookup in the official ESMA Registers: search ~14,000 MiFID-regulated entities across the EU/EEA (investment firms, UCITS/AIFM managers) by name or LEI — authorisation status of the regulated entity, home and host member states, competent authority, authorisation dates. One integration covers all 27+ countries of Europe: an investment firm and regulated entity KYB check for the whole single market. Data freely available at the source (ESMA).","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"BNP Paribas Asset Management","description":"Entity name or 20-char LEI — unsupported characters are stripped rather than rejected (1 to 100 characters once cleaned up)."},{"name":"pays","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2}$"},"example":"FR","description":"Optional ISO-3166 alpha-2 home-member-state filter"}],"responses":{"200":{"description":"Top 10 matching regulated entities: name, LEI, entity type, competent authority, home/host member states, office type, status, authorisation and withdrawal dates. No match returns an empty list (still 200).","content":{"application/json":{"example":{"requete":{"q":"BNP Paribas","pays":null},"nombre_total":64,"nombre_retourne":10,"tronque":true,"agrements":[{"nom":"BNP PARIBAS ASSET MANAGEMENT EUROPE","lei":"W51AX6427FJZJFPF8H34","type_entite":"UCITS management company","autorite_competente":"Autorité des Marchés Financiers (AMF)","pays_origine":"FRANCE","pays_accueil":["AUSTRIA"],"statut":"Active","date_autorisation":"2002-04-01T00:00:00Z","date_retrait":null}],"source":"ESMA Registers — European Securities and Markets Authority (registers.esma.europa.eu). This data is freely available at the source.","disclaimer":"Entités telles que publiées dans le registre unifié ESMA au moment de la consultation (statuts, autorités, passeports) — ni un avis de conformité ni une confirmation d'agrément ; vérifier auprès de l'autorité compétente.","data_freshness":"interrogation ESMA en direct, cache 1 h"}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/sanctions/check":{"get":{"summary":"Sanctions screening against the 6 official lists (UN, EU, OFAC, UK, FR, CH)","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":100},"example":"Vladimir Putin","description":"Person or company name to screen"},{"name":"birth_year","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}$"},"description":"Optional birth year to refine person matches"}],"responses":{"200":{"description":"Matches with 0-100 confidence score and level (forte/possible/faible), matched alias, source list, regime, birth year, plus the inventory of loaded lists — each with its entry count, publication date and `precision_publication` saying whether that date is the upstream official publication or Sirenic's ingestion date (OFAC publishes none). Never a bare yes/no. Carries the common `provenance[]` envelope (states and reading rules: GET /v1/lecture, free).","content":{"application/json":{"example":{"requete":{"nom":"Vladimir Putin","annee_naissance":1952},"nombre_correspondances":1,"repartition_niveaux":{"forte":1,"possible":0,"faible":0},"correspondances":[{"liste":"ue","nom_principal":"Vladimir Vladimirovich PUTIN","score":93,"niveau":"forte","regime":"(EU) 2022/330"}],"troncature":{"tronquee":false,"correspondances_servies":1,"non_servies":0,"niveau_non_servi":null,"prefiltre_sature":false,"note":null},"listes_consultees":[{"liste":"ue","libelle":"Liste consolidée des sanctions financières de l'UE (FSF)","entrees":6017,"publication":"2026-07-28"}],"listes_absentes":[]}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/iban/verifier/{iban}":{"get":{"summary":"IBAN form check (structure + key) and bank identification from official registries — NOT a payee verification","description":"IBAN verification and bank validation for SEPA payments: a FORM check to verify a supplier before payment — ISO 13616 structure + mod-97 key, plus bank identification from FREE official sources (FR via ACPR/REGAFI incl. LEI and SIREN; BE NBB; AT OeNB incl. LEI; NL BIC list; DE Bundesbank file). French BICs via GLEIF/SWIFT BIC-to-LEI. NOT a payee verification for instant payments: neither the holder name nor the account's existence is checked (verification_titulaire: non_disponible).","x-price":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"iban","in":"path","required":true,"schema":{"type":"string","minLength":15,"maxLength":42},"example":"FR1420041010050500013M02606","description":"IBAN (spaces and dashes tolerated)"}],"responses":{"200":{"description":"Structure/length/mod-97 checks, identified bank when a free official register covers the country (FR: name+LEI+SIREN via ACPR/REGAFI; BE, AT, NL: name+BIC; DE when the Bundesbank file is loaded; FR banks get a BIC via the GLEIF/SWIFT LEI mapping) and ALWAYS verification_titulaire: non_disponible — an invalid IBAN is a meaningful (still 200) answer. Next to `valide`: nature_du_controle (forme | forme_et_registres — did a bank register actually answer?), non_verifie [account existence, holder name] and exemple_de_documentation, true for IBANs on a published list of known samples (well-formed; account existence untested) — false proves nothing.","content":{"application/json":{"example":{"iban_normalise":"FR1420041010050500013M02606","valide":true,"controles":{"pays_connu":"ok","longueur":"ok","mod97":"ok"},"code_banque":"20041","nature_du_controle":"forme_et_registres","non_verifie":["existence_du_compte","nom_du_titulaire"],"exemple_de_documentation":true,"banque":{"identifiee":true,"nom":"La Banque Postale","bic":"PSSTFRPPXXX","lei":"96950066U5XAAIRCPA78","siren":"421100645"},"verification_titulaire":"non_disponible","disclaimer":"Contrôle de FORME (structure ISO 13616 + clé mod 97-10) et registres publics uniquement — ceci n'est PAS une Verification of Payee au sens du règlement (UE) 2024/886 (le schéma VoP est réservé aux prestataires de services de paiement) : le nom du TITULAIRE du compte n'est jamais vérifié. L'existence du compte n'est pas contrôlée. / Format check (ISO 13616 structure + mod 97-10 check digits) and public registers only — NOT a Verification of Payee: the account holder's name is never checked and the account's existence is not tested."}}}},"400":{"description":"Malformed IBAN parameter. Never charged. / Jamais facturé."},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"}}}},"/v1/tva/verifier/{numero}":{"get":{"summary":"Validate an EU intra-community VAT number (VIES) before invoicing or paying","description":"EU VAT validation against the official VIES service: validate any intra-community VAT number (all member states) for compliance and due diligence. This tax id check is the tax half of verify supplier before payment, and a required check under the e-invoicing mandate France September 2026. Returns valid/invalid/unavailable status with the VIES consultation identifier as proof — VAT number validation usable across Europe for KYB and supplier onboarding.","x-price":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"numero","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{2}[A-Za-z0-9+*]{2,12}$"},"example":"FR27552032534","description":"Full VAT number with country prefix, e.g. FR27552032534"}],"responses":{"200":{"description":"Status valide/invalide/indisponible with registered name and address when provided, plus the VIES consultation identifier.","content":{"application/json":{"example":{"numero":"FR27552032534","pays":"FR","statut":"valide","nom":"SA DANONE","adresse":"59 RUE LA FAYETTE 75009 PARIS","request_identifier":null,"verifie_le":"2026-07-29T07:29:08.915Z","valide":true,"source":"VIES — Commission européenne (service officiel de validation TVA)","disclaimer":"Statut au moment de la consultation ; en cas d'indisponibilité du service de l'État membre, le statut est `indisponible` (jamais un faux invalide)."}}}},"400":{"$ref":"#/components/responses/Reponse400InvalidInput"},"402":{"$ref":"#/components/responses/Reponse402PaymentRequired"},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/provenance/registres":{"get":{"summary":"FREE — provenance dictionary: what each `provenance[].source_code` of a paid response means","security":[],"responses":{"200":{"description":"Join table for the `provenance` block carried by paid responses: for each stable source_code, the official register name, the publishing authority, the country, the access mode (stock / temps_reel / calcul), the licence code and the register URL. Also documents the closed vocabularies of `mode` and `precision_as_of`. Source metadata only — no company or personal data."}}}},"/v1/lecture":{"get":{"summary":"FREE — reading dictionary: `provenance[].etat` states, closed lists, reading rules","security":[],"responses":{"200":{"description":"Closed lists of paid responses (per-block envelope, verdicts, classes, statuses) and reading rules, FR/EN. Not a guard; no personal data."}}}},"/v1/suggestions":{"get":{"summary":"FREE — French company-name autocomplete: name → SIREN (max 5 results, no account, no key)","security":[],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"carrefour","description":"Start of the company name (3-100 chars once cleaned), or a 9-digit SIREN — labelled or spaced resolves directly and bypasses the 3-char floor. Matches the START of the registered name, then whole words; no typo tolerance (that is GET /v1/recherche)."}],"responses":{"200":{"description":"Up to 5 suggestions from the INSEE Sirene register (open data): siren, denomination, postcode, commune, NAF code and `actif` (null when the register states no status — never false by default). Companies and sole traders whose record is publicly diffusible; entities under partial diffusion are never suggested. Ranking puts an exact name match first, then large enterprises (INSEE category), then name similarity. Like every /v1 response this one is Ed25519-signed in the headers and verifiable offline — it simply carries no `provenance` block, and no match-confidence score: for those, and for typo tolerance, use GET /v1/recherche ($0.002).","content":{"application/json":{"example":{"suggestions":[{"siren":"552032534","denomination":"DANONE","code_postal":"75009","commune":"PARIS","code_naf":"70.10Z","actif":true},{"siren":"430474262","denomination":"DANONE DAIRY ASIA","code_postal":"75009","commune":"PARIS","code_naf":"70.10Z","actif":true}],"gratuit":true,"limite":5,"source":"Base Sirene locale (INSEE, open data), version 2026-07-01 — personnes morales et entrepreneurs individuels en diffusion totale.","pour_aller_plus_loin":"Fiche complète : GET /v1/entreprise/{siren} ($0.005). Recherche tolérante aux fautes de frappe, avec score de confiance : GET /v1/recherche ($0.002).","disclaimer":"Correspondance sur le DÉBUT de la dénomination, puis sur les mots entiers ; sans tolérance aux fautes de frappe et plafonnée à 5 résultats. / Prefix and whole-word match only, no fuzzy matching, capped at 5 results."}}}},"400":{"description":"`q` missing, or — once unsupported characters are stripped — shorter than 3 characters or over 100. A SIREN (9 digits, labelled or spaced) bypasses the 3-character floor."},"429":{"description":"Free quota exhausted: 2,000 calls per day per IP, or 60 per minute. The paid GET /v1/recherche has no such quota."},"503":{"description":"Local Sirene stock not loaded. This endpoint never falls back to the upstream public API, whose rate limit is shared with the paid routes."}}}},"/v1/reperer":{"get":{"summary":"FREE — detect company identifiers (SIREN/SIRET/VAT/LEI) in raw text, with suggested calls","security":[],"parameters":[{"name":"texte","in":"query","required":true,"schema":{"type":"string","maxLength":10000},"description":"Raw text to scan (email, invoice, contract...)"}],"responses":{"200":{"description":"Detected identifiers with formal validity (Luhn / mod 97-10) and, for each, the recommended Sirenic call with its price. Deterministic; the text is never stored or logged."},"400":{"description":"Missing or oversized texte parameter."}}}},"/preview/entreprise/55203253400646":{"get":{"summary":"Free sample of the full-profile response (no payment)","security":[],"responses":{"200":{"description":"Sample company profile."}}}},"/v1/demo/entreprise":{"get":{"summary":"FREE DEMO — the exact GET /v1/entreprise/{siren} response for two fixed SIREN (552032534, 652014051), no payment","security":[],"parameters":[{"name":"siren","in":"query","required":false,"schema":{"type":"string","enum":["552032534","652014051"],"default":"552032534"},"description":"One of the two demo SIREN. Any other value → 400 with the allowed list (the paid route serves any SIREN)."}],"responses":{"200":{"description":"Same structure as the paid route (plus a `_demo` note), served from a 24 h in-process cache, signed like every 2xx of /v1."},"400":{"description":"SIREN outside the demo list. Nothing was charged: this route is not priced."},"404":{"description":"Demo SIREN unknown upstream (should not happen in production)."}}}},"/healthz":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"OK"}}}}}}