Send a SIREN, a SIRET or a company name; get back a verdict on a French company: who it is, whether it is still
active, whether it has been through insolvency, whether its VAT number holds.
One request reconciles three public registries, and a single action_required boolean tells a program
whether to look closer.
curl -s -X POST https://api.getcompanycheck.com/v1/company \
-H 'content-type: application/json' \
-d '{"siren": "120027016", "directors_limit": 0}'
Real response, abbreviated (…). VIES did not answer in time, so the check says so instead of reading as clear:
{
"status": "found",
"company": {
"siren": "120027016",
"legal_name": "INSTITUT NATIONAL DE LA STATISTIQUE ET DES ETUDES ECONOMIQUES",
"state": "active",
"incorporated_on": "1983-03-01",
"directors": [],
"vat_number": "FR85120027016",
…
},
"insolvency": {
"notice_count": 0,
"adverse_count": 0,
"adverse_recent_count": 0,
"adverse_last_published_on": null,
…
},
"complete": false,
"action_required": true,
"flags": ["partial_check", "source_degraded:vies"],
"sources": {"recherche_entreprises": "ok", "bodacc": "ok", "vies": "timeout"},
"data_as_of": "2026-09-28T18:34:19+00:00"
}
action_required is true whenever flags is
non-empty; each flag names the reason. A program branches on one field without reading three registries.complete: false, a source_degraded:* flag, and action_required: true.
A degraded check never reads as clear.found, ambiguous, not_found, source_unavailable, error).timeout.| Source | Provides |
|---|---|
| recherche-entreprises.api.gouv.fr | Identity from SIRENE (INSEE) and officers from the RNE. |
| BODACC | Legal notices: insolvency procedures, deregistrations, conciliations, accounts filings. |
| VIES | Intra-EU VAT number validity. |
POST https://api.getcompanycheck.com/v1/company with a JSON body holding one of
siren, siret or q.french-company-check-v1.API documentation: /docs. Running a supplier: /operators. For language models: /llms.txt.
Officers' names and roles come from the French trade register, which publishes them, but they remain personal data.
At most 3 are returned by default and directors_limit: 0 omits them. On Pocket Network, requests and
answers transit through third-party suppliers and gateways: a q search on a person's name sends that name
to them in clear. Prefer siren or siret when you have one.