Count French companies matching free cross-criteria on a pre-joined table of the
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.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://api.sirenic.eu/v1/entreprises/requete/compter
| Category | Code and developer |
|---|---|
| Provider host | api.sirenic.eu |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-03 | valid payment request | 402 | $0.002 | 880 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"criteres": "[{\"champ\":\"siege.departement\",\"op\":\"=\",\"valeur\":\"69\"},{\"champ\":\"finances.ca\",\"op\":\">\",\"valeur\":1000000}]"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"champs": {
"description": "Accepted without effect by the count route. Comma-separated catalogue fields to serve (default: identity, head office, last closing date, revenue, net income); the SIREN and the fields of the criteria and of the sort are always served.",
"type": "string"
},
"criteres": {
"description": "JSON array of at most 20 conditions {\"champ\",\"op\",\"valeur\"}, URL-encoded, at most 2048 characters, combined with AND (OR goes through the in operator): champ is a filterable field of the catalogue served by GET /v1/lecture, op one of its operators, valeur typed by the field. Active legal persons by default (identite.etat = A; any criterion on identite.etat replaces it).",
"type": "string"
},
"page": {
"description": "Accepted without effect by the count route. Page number, 1 to 100, 100 companies per page; each page is a separate payment (default 1).",
"type": "string"
},
"tri": {
"description": "Accepted without effect by the count route, so that the same query serves both modes. Sort field among identite.siren, finances.date_cloture, finances.ca, finances.resultat_net, finances.bfr_sur_ca, prefixed with - for descending order (default identite.siren); missing values come last in both orders.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}