Provenance and freshness of Sirenic data, measured on 20 SIREN
Measured on 2026-10-07, from 22:24 to 22:27 UTC, on 20 SIREN: 10 drawn at random, seed 0.476, by the query published below, among 1,247,545 active companies that have filed accounts; 10 chosen, each for a stated reason. Replacement rule, set before the calls: a company name made of a natural person's first and last name is replaced by the next rank. For each SIREN, one call to the Sirenic company file then the public official sources, read within 2 seconds, and the full list of accounts filing notices, read again 95 to 153 seconds after the call: what is served, the declared source, the age of the data.
See a real response (free) Get the quote for /v1/entreprise/{siren}/dossier
Sample, seed and query
Population: active, publicly disclosed legal units that are legal persons under Sirenic's predicate (level I from 3 to 9, except 9210 and 0000: groupings without legal personality are left out too), with at least one financial year on file. Copy of the Sirenic database restored on 2026-10-03 (Sirene stock of 2026-10-01): 1,247,545 SIREN; SHA-256 fingerprint of their sorted list, joined by commas: 39595dbf78372db4f4720cba64e8613dfa1502c5daa25ceb9b5da6d44e9d6cc8.
Draw: setseed(0.476), one random() value per SIREN in SIREN order, ranks by increasing value; run three times, same ranks. The replacement rule applied once: rank 7, whose name reproduces a person's first and last name, is replaced by rank 11 and is not published. Chosen cases: AIRVANCE GROUP, holding company, a usual control case for Sirenic; LES MOUSQUETAIRES, parent of an unlisted group, consolidated accounts; CYCLES LAPIERRE, judicial recovery opened in August 2026; PROVENCE FIOUL SERVICES, confidential income statement; LA POSTE, unlisted SA, large company; DOCTOLIB, unlisted SAS; PRINT ART CONSULTING, SARL with all accounts public; SCI DES 43-45 RUE DE COURCELLES, SCI that files accounts; TERRENA, agricultural cooperative, consolidated accounts; TOTALENERGIES SE, listed European company.
Draw query (PostgreSQL 15 or later)
BEGIN TRANSACTION READ ONLY;
SET LOCAL max_parallel_workers_per_gather = 0;
SELECT setseed(0.476);
WITH candidats AS MATERIALIZED (
SELECT u.siren
FROM unites_legales u
WHERE u.etat_administratif = 'A'
AND u.statut_diffusion = 'O'
AND coalesce(btrim(u.categorie_juridique) ~ '^[3456789][0-9]{3}$'
AND btrim(u.categorie_juridique) NOT IN ('9210', '0000'), false)
AND EXISTS (SELECT 1 FROM finances_annuelles f WHERE f.siren = u.siren)
ORDER BY u.siren
),
tires AS MATERIALIZED (
SELECT siren, random() AS r FROM candidats
)
SELECT (SELECT count(*) FROM candidats) AS population,
(SELECT encode(sha256(convert_to(string_agg(siren::text, ',' ORDER BY siren), 'UTF8')), 'hex') FROM candidats) AS sha256_population,
t.siren, round(t.r::numeric, 8) AS r
FROM tires t ORDER BY t.r LIMIT 11;
ROLLBACK;
Reads and price
Sirenic: GET /v1/entreprise/{siren}/dossier?blocs=finances,alertes_bodacc,contentieux,documents, one call per SIREN, from 22:24:18 to 22:25:28 UTC, with an API key debited in credits (no x402 payment). Grid price: base $0.005 + finances $0.01 + alertes_bodacc $0.01 + contentieux $0.01 + documents $0.02 = $0.055 per call. 20 responses 200, no retry (cap set beforehand: 22 calls), 0.055 credits debited for each, 1.10 credits in all (1 credit = 1 euro, the same number as the dollar price).
Official sources, with no account and no key, from 22:24:19 to 22:27:03 UTC: BODACC (DILA, dataset annonces-commerciales) for notices and accounts filing notices; the public dataset ratios_inpi_bce (INPI and BCE, data.economie.gouv.fr), the one Sirenic loads; the Recherche d'entreprises API (DINUM) to check the identity: same status and same legal category for 20 SIREN of 20.
Blocks served and declared provenance
80 blocks served of 80, none absent or unavailable; the finances blocks of LES MOUSQUETAIRES and LA POSTE are partiel (list of keyed balance sheets cut, and said so). The officers block is served for 20 SIREN of 20, counted here, never read; provenance[] gives it no entry of its own. The contentieux block serves decisions for 5 SIREN (LES MOUSQUETAIRES, CYCLES LAPIERRE, LA POSTE, DOCTOLIB and TOTALENERGIES SE). Declared provenance, identical across the 20 responses:
- The
contentieuxblock declared a wrong source:sirenic_regles, Sirenic rules in calculation mode, with no date, whereas its decisions come from Judilibre (Cour de cassation), whose dates the block body gives (store updated on 2026-10-07 at 03:30 UTC, last decision served by the source on 2026-09-22); so the response's citation does not name Judilibre. This defect is tracked internally as #525; the table publishes what was served. - Live reads declare the time of their consultation: the time of the call for 38 of 40; 2 came from the 24-hour cache (notices of AIRVANCE GROUP, consulted at 05:22 UTC and documents of LA POSTE, consulted at 00:31 UTC).
| Block | Served | Declared source | Mode | Declared date |
|---|---|---|---|---|
| identity | 20/20 | INSEE Sirene (insee_sirene) | stock | 2026-10-01 (6 d) |
finances | 20/20, 2 partial | INPI ratios (inpi_ratios_bce) | stock | 2026-09-15 (22 d) |
alertes_bodacc | 20/20 | BODACC (bodacc_dila) | temps_reel | consultation time |
contentieux | 20/20 | sirenic_regles: wrong (Judilibre) | calcul | none |
documents | 20/20 | INPI RNE (inpi_documents) | temps_reel | consultation time |
The 20 SIREN: latest year end and latest notice
Ages in days at 2026-10-07. Year end: last closing served by Sirenic (finances block, consolidated accounts and set-aside rows included, or accounts listed by the documents block); at the source, last closing in the public ratios dataset or in a BODACC accounts filing notice. Notice: last BODACC publication, all families; at Sirenic, last date served, which the block gives for insolvency proceedings, deregistrations, sales and transfers, and for no other family.
financesblock and ratios dataset: same last closing for 20 SIREN of 20. It is the same dataset, the version online that day (published on 2026-09-15, loaded by Sirenic on 2026-10-02, 17 days later): no gap that day between the block and the public dataset, which says nothing of the register's freshness.- Year end, all sources: zero gap for 17 SIREN, positive for 3: SUPERETTE DU FRONT DE MER (2,922 days), INFESTUS (2,192 days) and LES FLEURS DU SOLEIL (731 days). For them BODACC publishes 8, 6 and 2 filing notices for later closings, all with a confidentiality statement (article L. 232-25 of the French commercial code): those accounts are neither in the public ratios dataset nor among the RNE accounts that Sirenic serves. Yet the
financesblock saysaucun_depot_plus_recent: it does not count these confidential filings announced at BODACC (defect tracked as #525). - The first RNE filing, which the
documentsblock dates, comes 5 to 216 days before the first BODACC notice, median 11, for the 16 SIREN whose last closing is the same on both sides. SCI DES 43-45 RUE DE COURCELLES has no filing notice at BODACC. - Notices: same number in the block and at BODACC for 20 SIREN of 20 (LA POSTE, 100 read of 102 and TOTALENERGIES SE, 100 read of 149: partial read stated). In the dated families, the last date served equals BODACC's for 7 SIREN of 7. The latest notice, all families, is dated by Sirenic for 1 SIREN of 20 (CYCLES LAPIERRE). Family of the latest BODACC notice: accounts filing for 11, change for 7, registration for 1 and insolvency proceedings for 1. At BODACC, its age runs from 1 to 2,733 days, median 70.
| SIREN, name | Blocks served | Year end, Sirenic | Year end, source | Notice, BODACC | Dated notice, Sirenic | Debited (credits) |
|---|---|---|---|---|---|---|
| 984247213 FREGEAC PRODUCTION (SARL, rank 1) | 4/4 | 2025-03-31 (555 d) | 2025-03-31 (555 d) | 2026-06-09 (120 d) | none, none at BODACC | 0.055 |
| 487801284 SUPERETTE DU FRONT DE MER (SAS, rank 2) | 4/4 | 2017-12-31 (3,202 d) | 2025-12-31 (280 d), gap 2,922 d | 2026-08-06 (62 d) | none, none at BODACC | 0.055 |
| 921844361 WICAP PUMPART 4 (SAS, rank 3) | 4/4 | 2025-04-30 (525 d) | 2025-04-30 (525 d) | 2025-11-11 (330 d) | none, none at BODACC | 0.055 |
| 489468942 JCH INTERNATIONAL (SAS, rank 4) | 4/4 | 2022-12-31 (1,376 d) | 2022-12-31 (1,376 d) | 2024-02-27 (953 d) | 2017-10-11 (3,283 d), same date at BODACC | 0.055 |
| 847668522 INFESTUS (SARL, rank 5) | 4/4 | 2019-12-31 (2,472 d) | 2025-12-31 (280 d), gap 2,192 d | 2026-10-06 (1 d) | none, none at BODACC | 0.055 |
| 805297819 CENTREX (SARL, rank 6) | 4/4 | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-07-28 (71 d) | none, none at BODACC | 0.055 |
| 799303466 IZCO CARRIERES (SAS, rank 8) | 4/4 | 2025-04-30 (525 d) | 2025-04-30 (525 d) | 2026-04-02 (188 d) | 2014-02-18 (4,614 d), same date at BODACC | 0.055 |
| 902962117 LES FLEURS DU SOLEIL (SAS, rank 9) | 4/4 | 2023-08-31 (1,133 d) | 2025-08-31 (402 d), gap 731 d | 2026-06-11 (118 d) | none, none at BODACC | 0.055 |
| 392219705 BLANC ET RAVON (SAS, rank 10) | 4/4 | 2025-09-30 (372 d) | 2025-09-30 (372 d) | 2026-03-19 (202 d) | none, none at BODACC | 0.055 |
| 428783542 PRO-AVENIR-INVEST (SAS, rank 11) | 4/4 | 2017-12-31 (3,202 d) | 2017-12-31 (3,202 d) | 2019-04-14 (2,733 d) | none, none at BODACC | 0.055 |
| 490586708 AIRVANCE GROUP (SAS, chosen) | 4/4, alertes_bodacc cached | 2024-12-31 (645 d) | 2024-12-31 (645 d) | 2026-08-04 (64 d) | 2025-11-14 (327 d), same date at BODACC | 0.055 |
| 789169323 LES MOUSQUETAIRES (SAS, chosen) | 4/4, finances partial | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-09-06 (31 d) | none, none at BODACC | 0.055 |
| 016650996 CYCLES LAPIERRE (SAS, chosen) | 4/4 | 2024-12-31 (645 d) | 2024-12-31 (645 d) | 2026-08-31 (37 d) | 2026-08-31 (37 d), same date at BODACC | 0.055 |
| 800022220 PROVENCE FIOUL SERVICES (SAS, chosen) | 4/4 | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-07-30 (69 d) | none, none at BODACC | 0.055 |
| 356000000 LA POSTE (SA, chosen) | 4/4, finances partial, documents cached | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-08-23 (45 d) | 2026-07-09 (90 d), same date at BODACC | 0.055 |
| 794598813 DOCTOLIB (SAS, chosen) | 4/4 | 2024-12-31 (645 d) | 2024-12-31 (645 d) | 2026-07-07 (92 d) | none, none at BODACC | 0.055 |
| 800022147 PRINT ART CONSULTING (SARL, chosen) | 4/4 | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-08-25 (43 d) | none, none at BODACC | 0.055 |
| 487633554 SCI DES 43-45 RUE DE COURCELLES (SCI, chosen) | 4/4 | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-08-11 (57 d) | none, none at BODACC | 0.055 |
| 429707292 TERRENA (agricultural cooperative, chosen) | 4/4 | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-07-30 (69 d) | 2026-02-06 (243 d), same date at BODACC | 0.055 |
| 542051180 TOTALENERGIES SE (SE, chosen) | 4/4 | 2025-12-31 (280 d) | 2025-12-31 (280 d) | 2026-07-10 (89 d) | 2022-03-10 (1,672 d), same date at BODACC | 0.055 |
Limits
- 20 SIREN, one day: no rate generalises from them.
- Population and draw read from the copy of 2026-10-03, not from live Sirene; legal persons under Sirenic's predicate, no individual entrepreneur.
- RNE and Judilibre cannot be compared without an account (RNE API answers 401, anti-robot challenge on its pages; Judilibre through the PISTE portal): the filing is compared with BODACC, which dates the publication, not the filing.
- Loading delay: the ratios dataset published on 2026-09-15 was loaded by Sirenic on 2026-10-02 (
ingestionstable of the copy of 2026-10-03); the zero gap of 2026-10-07 between thefinancesblock and this dataset does not measure it. - The BODACC block dates insolvency proceedings, deregistrations, sales and transfers, and no other family; the litigation block's provenance was wrong that day (defect #525).
- Sirenic's live reads go through a 24-hour cache, time declared; the Recherche d'entreprises API is used to check the identity and for nothing else.
- Officers counted, never read: no name, no date of birth.
A measurement of what Sirenic serves against public official sources, on one given day; no other service is compared.
Replaying the measurement
The draw: the query above, on a database with the same population (the fingerprint checks it). The reads, for each SIREN:
# Here 490586708; API key or x402 payment for the first line, parameters to be URL-encoded
GET https://api.sirenic.eu/v1/entreprise/490586708/dossier?blocs=finances,alertes_bodacc,contentieux,documents
GET https://bodacc-datadila.opendatasoft.com/api/explore/v2.1/catalog/datasets/annonces-commerciales/records?where=registre like "490586708"&select=familleavis_lib,count(*) as n,max(dateparution) as derniere&group_by=familleavis_lib
GET https://bodacc-datadila.opendatasoft.com/api/explore/v2.1/catalog/datasets/annonces-commerciales/records?where=registre like "490586708" and familleavis_lib = "Dépôts des comptes"&select=dateparution,depot&order_by=dateparution desc&limit=100
GET https://data.economie.gouv.fr/api/explore/v2.1/catalog/datasets/ratios_inpi_bce/records?where=siren="490586708"&order_by=date_cloture_exercice desc&limit=3
GET https://recherche-entreprises.api.gouv.fr/search?q=490586708&page=1&per_page=1
How you pay
Every route is paid per call, in USDC or EURC on the Base network, over the x402 protocol: no account to create, no API key, no subscription. The first call returns a 402 quote your client settles, then replays the call. A failed call is never billed.
Open today: 150 free calls a month with an account, on 106 of 122 routes (the price list says which), and pay-per-call over x402 (USDC or EURC), with no account except registry filings. Prepaid credits: card top-up is not open yet.
Paid responses are Ed25519-signed: you can later prove what was served to you, and when. The whole catalogue is free to read in the OpenAPI document and in llms.txt.
One call, end to end
# x402 client (npm): the 402 quote is settled and the call replayed automatically
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534
# Or over MCP, in Claude Code / Cursor
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
# Or as a local server (stdio), with your key or an x402 wallet
claude mcp add sirenic -e SIRENIC_API_KEY=srn_live_... -- npx -y sirenic-mcp
Routes used and pricing
| Route | Price | Sample | What it returns |
|---|---|---|---|
/v1/entreprise/{siren}/dossier | $0.005 | free sample | 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. |
Take it further
No account to create, no key to request: the first step is free and shows you exactly what you would be buying.
See a real response (free) Get the quote for /v1/entreprise/{siren}/dossier Read the route reference Create an account: 150 free calls a month