A company's annual accounts and ratios
The richest data block in the French catalogue, and the one that demands the most careful reading. The response carries an accounting-scope block stating whether figures are statutory or consolidated, and flagging series where the source conflates the two — without which you compare incomparable quantities.
See a real response (free) Get the quote for /v1/entreprise/{siren}/finances
What the route returns
Catalogue description, exactly as agents read it:
Financials of a French company (annual accounts filed at INPI, Banque de France ratios): revenue, EBITDA, net income, debt, financial autonomy — ONE row per fiscal year, each graded (qualite: exploitable / a_verifier / non_exploitable, anomalies, doubtful fields); source rows set aside are served in exercices_ecartes with their reason. Consolidated accounts are served apart and graded the same way. Includes the INPI-keyed tax-form line items (up to 20 years) and a perimetre_comptable block.
Expected identifier
9-digit company number.
A wrongly formatted identifier in the path returns 400 and is not billed — but it costs you a round trip. It is the leading cause of failed calls on the foreign routes. A search parameter, by contrast, is cleaned up: unsupported characters are stripped and the usable query is served.
Extract from a genuinely paid response
Dated snapshot from 2026-09-04, truncated to one item per array. It is not live data. The full extract is served free of charge from the samples surface, and the schema from the OpenAPI document.
{
"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"
}
Price and billing
Price: $0.01. The authoritative amount is the one in the 402 quote returned by the route itself — not this text, which derives from the same grid but is still just a page.
An error response cancels the payment: a 400, 404 or 503 is never billed. An upstream outage closes the route with a 503 rather than serving a degraded response.
Calling the route
# 1. Le devis, sans rien payer : la route répond 402 avec son montant
curl -i https://api.sirenic.eu/v1/entreprise/552032534/finances
# 2. L'appel réglé — le client x402 paie le devis et rejoue la requête
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534/finances
# 3. Ou en MCP, dans Claude Code / Cursor / un agent
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
What this route does not do
Only a minority of French small companies file public accounts. An empty response is therefore not a fault: it is a company that does not file, and no vendor can manufacture its accounts.
Neighbouring routes
/v1/score/defaillance/{siren}— $0.10/v1/comparer— $0.12 / entité/v1/secteur/{code_naf}/benchmarks— $0.05
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.
Would you rather have a euro invoice and prepaid credits? That is in preparation, and we will not announce a date until it is open. Write to contact@sirenic.eu and we will let you know when it opens.
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
# Client x402 (npm) — le devis 402 est réglé et l'appel rejoué automatiquement
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534
# Ou en MCP, dans Claude Code / Cursor
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
Routes used and pricing
| Route | Price | Sample | What it returns |
|---|---|---|---|
/v1/entreprise/{siren}/finances | $0.01 | free sample | Financials of a French company (annual accounts filed at INPI, Banque de France ratios): revenue, EBITDA, net income, debt, financial autonomy — ONE row per fiscal year, each graded (qualite: exploitable / a_verifier / non_exploitable, anomalies, doubtful fields); source rows set aside are served in exercices_ecartes with their reason. Consolidated accounts are served apart and graded the same way. Includes the INPI-keyed tax-form line items (up to 20 years) and a perimetre_comptable block. |
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}/finances Get notified about euro packs
Read next
Volume figures on this page were measured in our database on 2026-08-19. They are dated snapshots, not live counters. · OpenAPI · llms.txt · Full route catalogue and pricing