Compare 2 to 5 companies

This route's particularity is what it refuses to do: it never names an overall winner, because a single rating would hide a weighting that belongs to you alone. And its comparability block tells you when the table you were about to show would have been misleading.

See a real response (free) Get the quote for /v1/comparer

What the route returns

Catalogue description, exactly as agents read it:

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.

Expected identifier

sirens parameter: 2 to 5 company numbers, comma-separated.

A wrongly formatted identifier 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.

Extract from a genuinely paid response

Dated snapshot from 2026-08-01, 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.

{
 "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": {
  "risque_le_plus_faible": [
   "552032534",
   "542065479"
  ],
  "chiffre_affaires": [
   "542065479",
   "552032534"
  ],
  "anciennete": [
   "542065479",
   "552032534"
  ]
 },
 "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."
   }
  ]
 }
}

Price and billing

Price: $0.12 / entité. 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.

Batch billing: the sirens parameter accepts 2 to 5 comma-separated values, and the amount is the unit price times the number of values. The quote is frozen before settlement: there is no partial settlement.

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/comparer

# 2. L'appel réglé — le client x402 paie le devis et rejoue la requête
npx x402-fetch https://api.sirenic.eu/v1/comparer

# 3. Ou en MCP, dans Claude Code / Cursor / un agent
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp

Neighbouring routes

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

RoutePriceWhat it returns
/v1/comparer (free sample)$0.12 / entité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.

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/comparer Get notified about euro packs

Read next