# Comparable French companies

Finds administratively comparable French companies for later comparison or benchmarking.

## Endpoint

- Method: `POST`
- URL: `https://api.helpmyagent.com/v1/company/fr/peers`
- Price: `0.020 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

- Finds administratively comparable French companies for later comparison or benchmarking.
- You need administratively comparable French companies selected from activity, size and geographic criteria.
- You want a peer set that can feed a later benchmark or manual comparison.

## Avoid when

- You need procurement-specific competitors observed in public-contract awards; use company/fr/public-contract-competitors.
- You want metrics and relative positioning rather than just a peer set; use company/fr/benchmark.

## Limitations

- Peer relationships are inferred from public administrative attributes and do not prove economic comparability.
- The returned peer set depends on source coverage and the selected geographic scope.

## Freshness

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

## Sources

- [https://recherche-entreprises.api.gouv.fr](https://recherche-entreprises.api.gouv.fr)

## Input schema

```json
{
    "type": "object",
    "properties": {
        "identifier": {
            "type": "string",
            "pattern": "^[0-9]{9}([0-9]{5})?$",
            "description": "French company identifier: 9-digit SIREN or 14-digit SIRET."
        },
        "scope": {
            "type": "string",
            "enum": [
                "department",
                "region",
                "france"
            ],
            "default": "region",
            "description": "Geographic comparison scope controlling whether candidates are selected by department, region or all of France. (default region; allowed values: department, region, france)."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 10,
            "description": "Maximum number of records returned by this call. (minimum 1; maximum 25; default 10)."
        }
    },
    "required": [
        "identifier"
    ],
    "additionalProperties": false,
    "description": "Structured input parameters for the company/fr/peers API."
}
```

## Output schema

```json
{
    "type": "object",
    "properties": {
        "identifier": {
            "type": "string",
            "description": "Identifier supplied for the request, echoed in normalized form when applicable."
        },
        "exists": {
            "type": "boolean",
            "description": "Whether the requested company or public record was found in the checked source."
        },
        "siren": {
            "description": "Normalized 9-digit French SIREN when available."
        },
        "name": {
            "description": "Publicly available company, person, buyer or record name for this result."
        },
        "scope": {
            "type": "string",
            "description": "Structured value returned for “scope” as defined by this API contract."
        },
        "criteria": {
            "type": "object",
            "description": "Structured value returned for “criteria” as defined by this API contract."
        },
        "peers": {
            "type": "array",
            "description": "Structured value returned for “peers” as defined by this API contract."
        },
        "limitations": {
            "type": "array",
            "description": "Known interpretation, source-coverage or freshness limitations for this result."
        }
    },
    "required": [
        "identifier",
        "exists",
        "siren",
        "name",
        "scope",
        "criteria",
        "peers"
    ],
    "additionalProperties": false,
    "description": "Structured result returned by the company/fr/peers 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/peers
- Generated at: 2026-09-07T14:49:28+00:00

## Request example

```json
{
    "identifier": "356000000",
    "scope": "france",
    "limit": 5
}
```

## Stored response example

```json
{
    "identifier": "356000000",
    "exists": true,
    "siren": "356000000",
    "name": "LA POSTE",
    "scope": "france",
    "criteria": {
        "activity_code": "53.10Z",
        "company_category": "GE",
        "department": null,
        "region": null
    },
    "limitations": [
        "Les pairs sont sélectionnés selon des critères administratifs publics comparables et ne constituent pas un groupe de pairs financier officiel.",
        "Une analyse financière détaillée doit utiliser company/fr/benchmark ou company/fr/compare."
    ],
    "peers": [
        {
            "siren": "409108115",
            "name": "SOCIETE DE TRAITEMENT DE PRESSE (STP)",
            "activity_code": "53.10Z",
            "company_category": "GE",
            "employee_band_code": "41",
            "headquarters": {
                "postal_code": "94270",
                "city": "LE KREMLIN-BICETRE",
                "department": "94",
                "region": "11"
            },
            "match_reasons": [
                "same_activity_code",
                "same_company_category"
            ]
        }
    ]
}
```

## Billing policy

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