# Batch KYB, up to 100 companies

This is the route for projects: cleaning a supplier master file, screening a portfolio, preparing a compliance exercise. The point to remember is that unresolved rows are returned explicitly — you know what is left to handle manually, instead of discovering a gap later.

## What the route returns

Catalogue description, exactly as agents read it:

**Batch KYB and bulk company lookup: full Know Your Business files for 2 to 100 French companies in one call (comma-separated sirens parameter) — bulk due diligence, compliance and onboarding screening of a whole portfolio, each file with per-block provenance (official register + as-of date). Billed per company at $0.105 (30% off the $0.15 unit price); the amount is quoted from the number of SIREN. A SIREN with no diffusible company is returned as trouve=false and billed as one lookup.**

## Expected identifier

`sirens` parameter: 2 to 100 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-07-29, truncated to one item per array. It is not live data. The full extract is served **free of charge** from [the samples surface](https://api.sirenic.eu/exemples/), and the schema from the OpenAPI document.

```
{
 "nombre_demande": 2,
 "nombre_trouve": 2,
 "entreprises": [
  {
   "trouve": true,
   "siren": "552032534",
   "identite": {
    "denomination": "DANONE",
    "etat_administratif": "actif"
   },
   "tva_intracommunautaire": "FR27552032534",
   "criblage_sanctions": {
    "statut": "correspondances_a_verifier"
   },
   "score_completude": 100,
   "blocs_manquants": []
  }
 ],
 "tarification": "Facturé par SIREN demandé (prix unitaire de lot). Un SIREN sans entreprise diffusible est restitué `trouve: false` et compté comme une consultation. / Billed per requested SIREN; a not-found SIREN counts as one lookup."
}
```

## Price and billing

Price: **$0.105 / 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 100 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/kyb/batch

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

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

## Neighbouring routes

- `/v1/kyb/{siren}` — $0.15
- `/v1/comparer` — $0.12 / entité
- `/v1/prospection` — $0.02

## 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](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs) 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](https://api.sirenic.eu/openapi.json) and in [llms.txt](https://api.sirenic.eu/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

| Route | Price | What it returns |
| --- | --- | --- |
| `/v1/kyb/batch` | $0.105 / entité | Batch KYB and bulk company lookup: full Know Your Business files for 2 to 100 French companies in one call (comma-separated sirens parameter) — bulk due diligence, compliance and onboarding screening of a whole portfolio, each file with per-block provenance (official register + as-of date). Billed per company at $0.105 (30% off the $0.15 unit price); the amount is quoted from the number of SIREN. A SIREN with no diffusible company is returned as trouve=false and billed as one lookup. |

## Take it further

- [See a real response (free)](https://api.sirenic.eu/exemples/kyb-batch.json)
- [Get the quote for /v1/kyb/batch](https://api.sirenic.eu/v1/kyb/batch)
- [Get notified about euro packs](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs)

## Read next

- [Preparing supplier master data for the French e-invoicing mandate](https://api.sirenic.eu/en/use-cases/french-e-invoicing-get-your-supplier-master-data-ready)

---

Volume figures on this page were measured in our database on 2026-08-19. They are dated snapshots, not live counters.

Full catalogue : https://api.sirenic.eu/