# French Company KYB Batch

Runs the existing public-data KYB dossier for 2 to 10 French company identifiers.

## Endpoint

- Method: `POST`
- URL: `https://api.helpmyagent.com/v1/company/fr/kyb-batch`
- Price: `0.100 USD` / call

## Machine discovery

- llms.txt: https://helpmyagent.com/llms.txt
- OpenAPI 3.1: https://api.helpmyagent.com/openapi.json
- capabilities.json: https://helpmyagent.com/capabilities.json
- MCP: https://helpmyagent.com/mcp
- RFC 9727: https://helpmyagent.com/.well-known/api-catalog
- pricing.json: https://helpmyagent.com/pricing.json
- x402: https://helpmyagent.com/.well-known/x402
- x402-service.json: https://helpmyagent.com/.well-known/x402-service.json
- Health status: https://helpmyagent.com/health

## x402 payment methods

- USDC on `eip155:8453`
- RLUSD on `xrpl:0`

## Coverage

FR

## Use when

- Screen a batch of French suppliers with the public-data KYB dossier.
- You need the existing public-data KYB dossier for several French company identifiers in one call.
- You are screening a small supplier batch and need per-company success/failure results.

## Avoid when

- You have only one company; use company/fr/intelligence with the KYB sections profile, directors, financials, risk and compliance.
- You specifically need VAT or IBAN consistency checks during supplier onboarding; use company/fr/supplier-verification.

## Limitations

- Each item inherits the source coverage of the corresponding company/fr/intelligence sections.
- One company can fail or be partial without implying the same status for the other batch items.

## Example queries

- Screen a batch of French suppliers with the public-data KYB dossier.

## Freshness

```json
{
    "mode": "source_dependent"
}
```

## Sources

- [HelpMyAgent public-data composition](https://helpmyagent.com)
- [API Recherche d’entreprises](https://recherche-entreprises.api.gouv.fr)

## Input schema

```json
{
    "type": "object",
    "properties": {
        "identifiers": {
            "type": "array",
            "items": {
                "type": "string",
                "pattern": "^[0-9]{9}([0-9]{5})?$"
            },
            "minItems": 2,
            "maxItems": 10,
            "uniqueItems": true,
            "description": "List of French company identifiers to process; each item must be a 9-digit SIREN or 14-digit SIRET. (at least 2 items; at most 10 items)."
        }
    },
    "additionalProperties": false,
    "required": [
        "identifiers"
    ],
    "description": "Structured input parameters for the company/fr/kyb-batch API."
}
```

## Output schema

```json
{
    "type": "object",
    "properties": {
        "requested_count": {
            "type": "integer",
            "description": "Structured value returned for “requested count” as defined by this API contract."
        },
        "completed_count": {
            "type": "integer",
            "description": "Structured value returned for “completed count” as defined by this API contract."
        },
        "failed_count": {
            "type": "integer",
            "description": "Structured value returned for “failed count” as defined by this API contract."
        },
        "results": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "description": "Identifier supplied for the request, echoed in normalized form when applicable."
                    },
                    "status": {
                        "type": "string",
                        "description": "Normalized endpoint or source status."
                    },
                    "data": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "additionalProperties": true,
                        "description": "Structured value returned for “data” as defined by this API contract."
                    },
                    "error": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “error” as defined by this API contract."
                    }
                },
                "additionalProperties": false,
                "required": [
                    "identifier",
                    "status",
                    "data",
                    "error"
                ]
            },
            "description": "Structured result records returned by the endpoint."
        },
        "checked_at": {
            "type": "string",
            "description": "UTC timestamp at which HelpMyAgent performed the check."
        },
        "limitations": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "Known interpretation, source-coverage or freshness limitations for this result."
        }
    },
    "additionalProperties": false,
    "required": [
        "requested_count",
        "completed_count",
        "failed_count",
        "results",
        "checked_at"
    ],
    "description": "Structured result returned by the company/fr/kyb-batch API."
}
```

## Demonstration snapshot

This example is a database-stored snapshot and does not execute the live API.
- URL: https://api.helpmyagent.com/demo/company/fr/kyb-batch
- Generated at: 2026-09-07T14:49:38+00:00

## Request example

```json
{
    "identifiers": [
        "356000000",
        "552100554"
    ]
}
```

## Stored response example

```json
{
    "requested_count": 2,
    "completed_count": 2,
    "failed_count": 0,
    "results": [
        {
            "identifier": "356000000",
            "status": "ok",
            "data": {
                "identifier": "356000000",
                "identifier_type": "siren",
                "exists": true,
                "siren": "356000000",
                "name": "LA POSTE",
                "checked_at": "2026-09-07T16:49:34+02:00",
                "sections": {
                    "profile": {
                        "status": "ok",
                        "data": {
                            "identifier": "356000000",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "356000000",
                            "name": "LA POSTE",
                            "status": "active",
                            "legal_form_code": "5510",
                            "creation_date": "1991-01-01",
                            "closure_date": null,
                            "activity_code": "53.10Z",
                            "company_category": "GE",
                            "employee_band_code": "53",
                            "employee_band_year": "2023",
                            "is_employer": null,
                            "establishments_count": 13130,
                            "open_establishments_count": 8862,
                            "headquarters": {
                                "siret": "35600000000048",
                                "status": "active",
                                "activity_code": "53.10Z",
                                "creation_date": "2003-01-01",
                                "address": "DIRECTION GENERALE DE LA POSTE 9 RUE DU COLONEL PIERRE AVIA 75015 PARIS",
                                "postal_code": "75015",
                                "city": "PARIS",
                                "department": "75",
                                "region": "11",
                                "latitude": "48.831515159",
                                "longitude": "2.2780898787"
                            }
                        }
                    },
                    "directors": {
                        "status": "ok",
                        "data": {
                            "identifier": "356000000",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "356000000",
                            "name": "LA POSTE",
                            "directors": [
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "BAUDRY",
                                    "first_names": "IRENE",
                                    "birth_year": "1976",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "CHEVET-DEHAIL",
                                    "first_names": "STEPHANE",
                                    "birth_year": "1975",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "JAY (DEBON)",
                                    "first_names": "MARIE-ANGE CATHERINE",
                                    "birth_year": "1965",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Commissaire aux comptes suppléant",
                                    "name": "GEORGHIOU",
                                    "first_names": "JEAN CHRISTOPHE",
                                    "birth_year": "1965",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "HASPOT",
                                    "first_names": "FRANCK",
                                    "birth_year": "1967",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "JOSEPH",
                                    "first_names": "SYLVIE",
                                    "birth_year": "1961",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "BERTHOME (KERMOAL)",
                                    "first_names": "MARIANNE",
                                    "birth_year": "1978",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "FLEURENCE (LEGAIN)",
                                    "first_names": "ISABELLE",
                                    "birth_year": "1964",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "LEJBOWICZ",
                                    "first_names": "CORINNE",
                                    "birth_year": "1960",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "LEMOINE",
                                    "first_names": "PHILIPPE",
                                    "birth_year": "1949",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "MAREUSE",
                                    "first_names": "OLIVIER",
                                    "birth_year": "1963",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "ESTABLIE (MAYENOBE)",
                                    "first_names": "CATHERINE",
                                    "birth_year": "1964",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "NEVES DA ROCHA",
                                    "first_names": "RUBEN JOSE",
                                    "birth_year": "1974",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Autre",
                                    "name": "REIS",
                                    "first_names": "HUGO",
                                    "birth_year": "1972",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "DE BAILLIENCOURT DIT COURCOL (RICHARTE)",
                                    "first_names": "MARIE-PIERRE",
                                    "birth_year": "1970",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "SAINTOYANT",
                                    "first_names": "ANTOINE",
                                    "birth_year": "1977",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "SORIANO",
                                    "first_names": "SÉBASTIEN LOUIS AUGUSTE MARCEL MAO",
                                    "birth_year": "1975",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "TUBIANA (SPANAGLE)",
                                    "first_names": "NATHALIE",
                                    "birth_year": "1967",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Administrateur",
                                    "name": "URBAIN",
                                    "first_names": "VALÉRIE MARIE-HÉLÈNE",
                                    "birth_year": "1964",
                                    "siren": null
                                },
                                {
                                    "type": "company",
                                    "role": "Commissaire aux comptes suppléant",
                                    "name": "SALUSTRO REYDEL",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "652044371"
                                },
                                {
                                    "type": "company",
                                    "role": "Commissaire aux comptes titulaire",
                                    "name": "KPMG S.A.",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "775726417"
                                },
                                {
                                    "type": "company",
                                    "role": "Commissaire aux comptes titulaire",
                                    "name": "MAZARS",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "784824153"
                                },
                                {
                                    "type": "company",
                                    "role": null,
                                    "name": "L'ETAT",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": null
                                }
                            ]
                        }
                    },
                    "financials": {
                        "status": "ok",
                        "data": {
                            "identifier": "356000000",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "356000000",
                            "name": "LA POSTE",
                            "summary": {
                                "years_available": 1,
                                "latest_year": "2024",
                                "latest_revenue": 34569000000,
                                "latest_net_income": 1722000000,
                                "latest_revenue_growth_percent": null,
                                "latest_net_margin_percent": 4.98
                            },
                            "financials": [
                                {
                                    "year": "2024",
                                    "revenue": 34569000000,
                                    "net_income": 1722000000,
                                    "revenue_growth_percent": null,
                                    "net_margin_percent": 4.98
                                }
                            ]
                        }
                    },
                    "risk": {
                        "status": "ok",
                        "data": {
                            "identifier": "356000000",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "356000000",
                            "name": "LA POSTE",
                            "company_status": "active",
                            "risk_level": "low",
                            "assessment_basis": "bodacc_legal_events",
                            "lookback_years": 10,
                            "coverage_complete": true,
                            "signals": {
                                "company_closed": false,
                                "collective_procedure_events": 0,
                                "radiation_events": 0
                            },
                            "latest_event": null,
                            "events": []
                        }
                    },
                    "compliance": {
                        "status": "ok",
                        "data": {
                            "identifier": "356000000",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "356000000",
                            "name": "LA POSTE",
                            "company_status": "active",
                            "domain": null,
                            "status": "NO_PUBLIC_ALERT_FOUND",
                            "checked_at": "2026-09-07T16:49:34+02:00",
                            "checks": [
                                {
                                    "check": "AMF_BLACKLIST",
                                    "source": "data.gouv.fr:amf-blacklist",
                                    "source_type": "SOURCE_PUBLIQUE",
                                    "status": "ok",
                                    "match_count": 0,
                                    "source_records": 3430,
                                    "publication_date": null,
                                    "limitation": "La liste AMF est publique mais explicitement non exhaustive."
                                },
                                {
                                    "check": "ASSET_FREEZE",
                                    "source": "gels-avoirs.dgtresor.gouv.fr",
                                    "source_type": "SOURCE_PUBLIQUE",
                                    "status": "ok",
                                    "match_count": 0,
                                    "source_records": 6578,
                                    "publication_date": "2026-09-03T11:52:46.0865293+02:00",
                                    "limitation": "Les rapprochements par nom ou domaine sont signalés comme inférés."
                                }
                            ],
                            "matches": [],
                            "limitations": [
                                "NO_PUBLIC_ALERT_FOUND signifie uniquement qu’aucune correspondance n’a été trouvée dans les sources vérifiées.",
                                "Ce résultat ne constitue ni un avis juridique, ni une garantie de conformité, ni un score de solvabilité.",
                                "Les rapprochements sans identifiant administratif commun sont explicitement marqués INFERE avec un niveau de confiance.",
                                "Un domaine fourni en entrée est contrôlé comme un sujet distinct et n’est pas présenté comme appartenant officiellement à l’entreprise."
                            ]
                        }
                    }
                },
                "coverage": [
                    {
                        "service": "verify",
                        "status": "ok"
                    },
                    {
                        "service": "profile",
                        "status": "ok"
                    },
                    {
                        "service": "directors",
                        "status": "ok"
                    },
                    {
                        "service": "financials",
                        "status": "ok"
                    },
                    {
                        "service": "risk",
                        "status": "ok"
                    },
                    {
                        "service": "compliance",
                        "status": "ok"
                    }
                ],
                "limitations": [
                    "Ce dossier agrège des données publiques et ne constitue pas une décision KYB/AML réglementaire complète.",
                    "L’absence de correspondance dans les contrôles publics ne constitue jamais une garantie de conformité ou d’absence de fraude.",
                    "Les bénéficiaires effectifs ne sont pas inclus tant qu’une source publique exploitable et conforme n’est pas intégrée."
                ]
            },
            "error": null
        },
        {
            "identifier": "552100554",
            "status": "ok",
            "data": {
                "identifier": "552100554",
                "identifier_type": "siren",
                "exists": true,
                "siren": "552100554",
                "name": "PEUGEOT SA",
                "checked_at": "2026-09-07T16:49:38+02:00",
                "sections": {
                    "profile": {
                        "status": "ok",
                        "data": {
                            "identifier": "552100554",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "552100554",
                            "name": "PEUGEOT SA",
                            "status": "closed",
                            "legal_form_code": "5699",
                            "creation_date": "1955-01-01",
                            "closure_date": "2021-01-16",
                            "activity_code": "70.10Z",
                            "company_category": null,
                            "employee_band_code": "NN",
                            "employee_band_year": null,
                            "is_employer": null,
                            "establishments_count": 5,
                            "open_establishments_count": 0,
                            "headquarters": {
                                "siret": "55210055400054",
                                "status": null,
                                "activity_code": "70.10Z",
                                "creation_date": "2020-04-27",
                                "address": "RTE DE GIZY 78140 VELIZY-VILLACOUBLAY",
                                "postal_code": "78140",
                                "city": "VELIZY-VILLACOUBLAY",
                                "department": "78",
                                "region": "11",
                                "latitude": "48.774126458",
                                "longitude": "2.2219642076"
                            }
                        }
                    },
                    "directors": {
                        "status": "ok",
                        "data": {
                            "identifier": "552100554",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "552100554",
                            "name": "PEUGEOT SA",
                            "directors": [
                                {
                                    "type": "person",
                                    "role": "Président du directoire",
                                    "name": "ANTUNES TAVARES DIAS",
                                    "first_names": "CARLOS",
                                    "birth_year": "1958",
                                    "siren": null
                                },
                                {
                                    "type": "person",
                                    "role": "Membre du conseil de surveillance",
                                    "name": "ZHANG",
                                    "first_names": "ZUTONG",
                                    "birth_year": "1969",
                                    "siren": null
                                },
                                {
                                    "type": "company",
                                    "role": "Commissaire aux comptes suppléant",
                                    "name": "AUDITEX",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "377652938"
                                },
                                {
                                    "type": "company",
                                    "role": "Commissaire aux comptes titulaire",
                                    "name": "ERNST & YOUNG ET AUTRES",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "438476913"
                                },
                                {
                                    "type": "company",
                                    "role": "Membre du conseil de surveillance",
                                    "name": "BPIFRANCE PARTICIPATIONS",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "509584074"
                                },
                                {
                                    "type": "company",
                                    "role": "Membre du conseil de surveillance",
                                    "name": "FFP",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "562075390"
                                },
                                {
                                    "type": "company",
                                    "role": "Commissaire aux comptes titulaire",
                                    "name": "MAZARS",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "784824153"
                                },
                                {
                                    "type": "company",
                                    "role": "Membre du conseil de surveillance",
                                    "name": "LION PARTICIPATIONS",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "829163294"
                                },
                                {
                                    "type": "company",
                                    "role": "Membre du conseil de surveillance",
                                    "name": "ETABLISSEMENTS PEUGEOT FRERES",
                                    "first_names": null,
                                    "birth_year": null,
                                    "siren": "875750317"
                                }
                            ]
                        }
                    },
                    "financials": {
                        "status": "ok",
                        "data": {
                            "identifier": "552100554",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "552100554",
                            "name": "PEUGEOT SA",
                            "summary": {
                                "years_available": 1,
                                "latest_year": "2019",
                                "latest_revenue": 74731000000,
                                "latest_net_income": 3584000000,
                                "latest_revenue_growth_percent": null,
                                "latest_net_margin_percent": 4.8
                            },
                            "financials": [
                                {
                                    "year": "2019",
                                    "revenue": 74731000000,
                                    "net_income": 3584000000,
                                    "revenue_growth_percent": null,
                                    "net_margin_percent": 4.8
                                }
                            ]
                        }
                    },
                    "risk": {
                        "status": "ok",
                        "data": {
                            "identifier": "552100554",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "552100554",
                            "name": "PEUGEOT SA",
                            "company_status": "closed",
                            "risk_level": "high",
                            "assessment_basis": "bodacc_legal_events",
                            "lookback_years": 10,
                            "coverage_complete": true,
                            "signals": {
                                "company_closed": true,
                                "collective_procedure_events": 0,
                                "radiation_events": 1
                            },
                            "latest_event": {
                                "id": "B202100247176",
                                "type": "radiation",
                                "publication_date": "2021-02-04",
                                "decision_date": null,
                                "family": "Radiations",
                                "decision_type": "radiation_rcs",
                                "description": null,
                                "tribunal": "GREFFE DU TRIBUNAL DE COMMERCE DE VERSAILLES",
                                "url": "https://www.bodacc.fr/pages/annonces-commerciales-detail/?q.id=id:B202100247176"
                            },
                            "events": [
                                {
                                    "id": "B202100247176",
                                    "type": "radiation",
                                    "publication_date": "2021-02-04",
                                    "decision_date": null,
                                    "family": "Radiations",
                                    "decision_type": "radiation_rcs",
                                    "description": null,
                                    "tribunal": "GREFFE DU TRIBUNAL DE COMMERCE DE VERSAILLES",
                                    "url": "https://www.bodacc.fr/pages/annonces-commerciales-detail/?q.id=id:B202100247176"
                                }
                            ]
                        }
                    },
                    "compliance": {
                        "status": "ok",
                        "data": {
                            "identifier": "552100554",
                            "identifier_type": "siren",
                            "exists": true,
                            "siren": "552100554",
                            "name": "PEUGEOT SA",
                            "company_status": "closed",
                            "domain": null,
                            "status": "NO_PUBLIC_ALERT_FOUND",
                            "checked_at": "2026-09-07T16:49:38+02:00",
                            "checks": [
                                {
                                    "check": "AMF_BLACKLIST",
                                    "source": "data.gouv.fr:amf-blacklist",
                                    "source_type": "SOURCE_PUBLIQUE",
                                    "status": "ok",
                                    "match_count": 0,
                                    "source_records": 3430,
                                    "publication_date": null,
                                    "limitation": "La liste AMF est publique mais explicitement non exhaustive."
                                },
                                {
                                    "check": "ASSET_FREEZE",
                                    "source": "gels-avoirs.dgtresor.gouv.fr",
                                    "source_type": "SOURCE_PUBLIQUE",
                                    "status": "ok",
                                    "match_count": 0,
                                    "source_records": 6578,
                                    "publication_date": "2026-09-03T11:52:46.0865293+02:00",
                                    "limitation": "Les rapprochements par nom ou domaine sont signalés comme inférés."
                                }
                            ],
                            "matches": [],
                            "limitations": [
                                "NO_PUBLIC_ALERT_FOUND signifie uniquement qu’aucune correspondance n’a été trouvée dans les sources vérifiées.",
                                "Ce résultat ne constitue ni un avis juridique, ni une garantie de conformité, ni un score de solvabilité.",
                                "Les rapprochements sans identifiant administratif commun sont explicitement marqués INFERE avec un niveau de confiance.",
                                "Un domaine fourni en entrée est contrôlé comme un sujet distinct et n’est pas présenté comme appartenant officiellement à l’entreprise."
                            ]
                        }
                    }
                },
                "coverage": [
                    {
                        "service": "verify",
                        "status": "ok"
                    },
                    {
                        "service": "profile",
                        "status": "ok"
                    },
                    {
                        "service": "directors",
                        "status": "ok"
                    },
                    {
                        "service": "financials",
                        "status": "ok"
                    },
                    {
                        "service": "risk",
                        "status": "ok"
                    },
                    {
                        "service": "compliance",
                        "status": "ok"
                    }
                ],
                "limitations": [
                    "Ce dossier agrège des données publiques et ne constitue pas une décision KYB/AML réglementaire complète.",
                    "L’absence de correspondance dans les contrôles publics ne constitue jamais une garantie de conformité ou d’absence de fraude.",
                    "Les bénéficiaires effectifs ne sont pas inclus tant qu’une source publique exploitable et conforme n’est pas intégrée."
                ]
            },
            "error": null
        }
    ],
    "checked_at": "2026-09-07T16:49:38+02:00",
    "limitations": [
        "Le lot est limité à 10 entreprises afin de respecter les délais et de ne pas surcharger les sources publiques.",
        "Chaque dossier reste une agrégation de données publiques et ne constitue pas une décision KYB/AML réglementaire."
    ]
}
```

## Billing policy

```json
{
    "charge_on": "valid_result",
    "no_charge_on_empty_result": true,
    "no_charge_on_error": true
}
```
