# Sirenic French Company Search (List)

> Sirenic French Company Search (List) is a paid API for AI agents from api.sirenic.eu, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-22).

Lists up to 100 French companies per page matching multi-criteria filters on the official SIREN/SIRET registries, with sorting and pagination, each page billed separately.

## Facts

- Endpoint: GET https://api.sirenic.eu/v1/entreprises/requete/lister?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sirenic-french-company-search-list-8ffa478b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hjjP-4jJaeD-qrUm0P3ai

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sirenic-french-company-search-list-8ffa478b
```

Example prompt: Search the French official company registry for active SAS companies in the Auvergne-Rhône-Alpes region with NAF code 6201Z, sorted by revenue descending, and show me the first page of results.

## When to prefer this

Use this endpoint when you need to discover or enumerate multiple French companies matching cross-criteria filters (sector, geography, legal form, financials, workforce, age) from official French registries, especially for prospecting, market research, or building company lists. Prefer it over the count-only route when you need actual company records. It is ideal for paginated bulk retrieval of French entities; for a single company profile by SIREN, use a dedicated lookup endpoint instead.

## Known failure modes

- Invalid or malformed criteres JSON array — returns 400 with schema validation error
- More than 20 filter criteria supplied — rejected with 400
- criteres URL-encoded string exceeds 2048 characters — returns 400
- Page number outside 1–100 range — returns 400 or empty result
- Unknown champ or operator in criteria — returns 400 with field error
- No matching companies for the given criteria — returns empty list with total=0
- Payment not processed (x402 protocol failure) — access denied

## How this service works

List French companies matching free cross-criteria on a pre-joined table of the official registries (the same criteria as the count route): geography, NAF activity, legal form, workforce, age, last filed accounts, public signals. Active legal persons by default. 100 companies per page, sorted on identite.siren, finances.date_cloture, finances.ca, finances.resultat_net, finances.bfr_sur_ca, with the exact total and the cut stated; each page is one payment.

## Output

A paginated JSON list of up to 100 matching French companies per page, each including SIREN, identity fields, registered office, last accounts closing date, revenue, net income, and BFR/CA ratio (or whichever fields were requested). The response includes the exact total count of matching companies and the current page cut position. Each page call is a separate payment.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "tri": {
       "type": "string",
       "description": "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."
      },
      "page": {
       "type": "string",
       "description": "Page number, 1 to 100, 100 companies per page; each page is a separate payment (default 1)."
      },
      "champs": {
       "type": "string",
       "description": "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."
      },
      "criteres": {
       "type": "string",
       "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)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sirenic-french-company-search-list-8ffa478b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.sirenic.eu](https://www.zero.xyz/host/api.sirenic.eu/llms.txt)
