82trust / 100
Requete Compter
by Sirenic in Company & people data
x402 APIPassing, checked 4 min ago
Count French companies matching free cross-criteria on a pre-joined table of the official registries: geography (departement, region, postal-code prefix), NAF activity, legal form, workforce, age, last filed accounts (revenue, net income, margins, ratios, trends, cash items) and public signals (RGE, equality index, ICPE/Seveso, public contracts, authorisations). Active legal persons by default. Returns the exact count and each source's date: size a market before listing it.
GET https://api.sirenic.eu/v1/entreprises/requete/compter
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 162 ms typical, 162 ms slowest 5%
- Last check
- 4 min ago
- Next check
- in 25 min
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://api.sirenic.eu/v1/entreprises/requete/compter?criteres=%5B%7B%22champ%22%3A%22siege.departement%22%2C%22op%22%3A%22%3D%22%2C%22valeur%22%3A%2269%22%7D%2C%7B%22champ%22%3A%22finances.ca%22%2C%22op%22%3A%22%3E%22%2C%22valeur%22%3A1000000%7D%5D"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.sirenic.eu%2Fv1%2Fentreprises%2Frequete%2Fcompter
const res = await pay("https://api.sirenic.eu/v1/entreprises/requete/compter?criteres=%5B%7B%22champ%22%3A%22siege.departement%22%2C%22op%22%3A%22%3D%22%2C%22valeur%22%3A%2269%22%7D%2C%7B%22champ%22%3A%22finances.ca%22%2C%22op%22%3A%22%3E%22%2C%22valeur%22%3A1000000%7D%5D");
console.log(await res.json());Example input
{
"criteres": "[{\"champ\":\"siege.departement\",\"op\":\"=\",\"valeur\":\"69\"},{\"champ\":\"finances.ca\",\"op\":\">\",\"valeur\":1000000}]"
}Example output
{
"disclaimer": "Compte exact ; chaque source datée dans stock.flux, table fermée au-delà de 45 jours ; géographie du siège ; finances du dernier exercice social qualifié. / Exact count; each source dated in stock.flux, table closed beyond 45 days; head-office geography; finances of the last qualified annual accounts.",
"nombre_total": 23,
"perimetre": "personnes morales diffusibles du stock Sirene, actives (identite.etat = A) sauf critère sur identite.etat ; entrepreneurs individuels et unités en diffusion partielle jamais comptés ni listés ; un critère ne retient jamais une valeur absente ; un critère sur identite.naf ne retient que les codes de la NAF rév. 2 / public legal persons of the Sirene stock, active (identite.etat = A) unless a criterion sets identite.etat; sole traders and partially public units never counted or listed; a criterion never retains a missing value; a criterion on identite.naf only retains NAF rev. 2 codes",
"source": "INSEE Sirene, INPI et Banque de France (comptes), Signaux Faibles (liasses), ADEME (RGE), ministère du Travail (égapro), Géorisques (ICPE), DECP, EBA, EIOPA et ARCEP (agréments), table pré-croisée par Sirenic ; licence de chaque source : GET /v1/provenance/registres",
"stock": {
"age_jours": 1,
"construit_le": "2026-10-02",
"flux": {
"sirene-stock-unites-legales": {
"dernier_mis_a_jour": "2026-10-01"
}
},
"seuil_jours": 45
}
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 4 min ago | Passed | 402 | 177 ms | $0.002 |
| 3 h ago | Passed | 402 | 162 ms | $0.002 |
| 8 h ago | Passed | 402 | 128 ms | $0.002 |