# French Public Procurement Market

Summarizes the size and structure of a French public-procurement segment from awarded DECP contracts.

## Endpoint

- Method: `POST`
- URL: `https://api.helpmyagent.com/v1/procurement/fr/market`
- 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

- Measure the size and structure of a French public-procurement segment over a recent time window.

## Avoid when

- Use procurement/fr/awards when you need individual awarded-contract records.
- Use procurement/fr/buyer-profile when the question is specifically about one public buyer.

## Limitations

- Supplier ranking is based on the latest 100 matching awards; its sample coverage is returned explicitly.

## Example queries

- Summarize the French public market for CPV 641 over the last 12 months.

## Freshness

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

## Sources

- [Données essentielles de la commande publique (DECP)](https://www.data.economie.gouv.fr/api/explore/v2.1/catalog/datasets/decp-2022-marches-valides/records)

## Input schema

```json
{
    "type": "object",
    "properties": {
        "cpv_prefix": {
            "type": "string",
            "pattern": "^[0-9]{1,8}$",
            "description": "Optional CPV prefix used to restrict procurement records to a purchasing segment."
        },
        "department": {
            "type": "string",
            "pattern": "^(?:[0-9]{2,3}|2A|2B)$",
            "description": "Optional French department code used to restrict results geographically."
        },
        "buyer": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Public-buyer name or identifier used to restrict procurement results. (minimum length 2; maximum length 200)."
        },
        "lookback_months": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60,
            "default": 12,
            "description": "Optional value for “lookback months” as defined by this API contract. (minimum 1; maximum 60; default 12)."
        }
    },
    "additionalProperties": false,
    "description": "Structured input parameters for the procurement/fr/market API."
}
```

## Output schema

```json
{
    "type": "object",
    "properties": {
        "filters": {
            "type": "object",
            "properties": {
                "cpv_prefix": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “cpv prefix” as defined by this API contract."
                },
                "department": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “department” as defined by this API contract."
                },
                "buyer": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “buyer” as defined by this API contract."
                },
                "date_from": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “date from” as defined by this API contract."
                },
                "date_to": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “date to” as defined by this API contract."
                }
            },
            "required": [
                "cpv_prefix",
                "department",
                "buyer",
                "date_from",
                "date_to"
            ],
            "additionalProperties": false,
            "description": "Structured value returned for “filters” as defined by this API contract."
        },
        "lookback_months": {
            "type": "integer",
            "description": "Structured value returned for “lookback months” as defined by this API contract."
        },
        "source_status": {
            "type": "string",
            "enum": [
                "ok",
                "partial",
                "unavailable"
            ],
            "description": "Availability status of the relevant upstream public source. (allowed values: ok, partial, unavailable)."
        },
        "summary": {
            "type": "object",
            "properties": {
                "contracts_count": {
                    "type": [
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “contracts count” as defined by this API contract."
                },
                "total_amount": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “total amount” as defined by this API contract."
                },
                "average_amount": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “average amount” as defined by this API contract."
                },
                "median_amount": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “median amount” as defined by this API contract."
                },
                "minimum_amount": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “minimum amount” as defined by this API contract."
                },
                "maximum_amount": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “maximum amount” as defined by this API contract."
                }
            },
            "required": [
                "contracts_count",
                "total_amount",
                "average_amount",
                "median_amount",
                "minimum_amount",
                "maximum_amount"
            ],
            "additionalProperties": false,
            "description": "Compact derived summary of the returned records."
        },
        "top_buyers": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "siret": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Normalized 14-digit French SIRET when available."
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Publicly available company, person, buyer or record name for this result."
                    },
                    "contracts_count": {
                        "type": "integer",
                        "description": "Structured value returned for “contracts count” as defined by this API contract."
                    },
                    "total_amount": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “total amount” as defined by this API contract."
                    }
                },
                "required": [
                    "siret",
                    "name",
                    "contracts_count",
                    "total_amount"
                ],
                "additionalProperties": false
            },
            "description": "Structured value returned for “top buyers” as defined by this API contract."
        },
        "top_cpv": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "cpv": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “cpv” as defined by this API contract."
                    },
                    "contracts_count": {
                        "type": "integer",
                        "description": "Structured value returned for “contracts count” as defined by this API contract."
                    },
                    "total_amount": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “total amount” as defined by this API contract."
                    }
                },
                "required": [
                    "cpv",
                    "contracts_count",
                    "total_amount"
                ],
                "additionalProperties": false
            },
            "description": "Structured value returned for “top cpv” as defined by this API contract."
        },
        "top_suppliers_in_latest_sample": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "siren": {
                        "type": "string",
                        "description": "Normalized 9-digit French SIREN when available."
                    },
                    "contracts_count_in_sample": {
                        "type": "integer",
                        "description": "Structured value returned for “contracts count in sample” as defined by this API contract."
                    }
                },
                "required": [
                    "siren",
                    "contracts_count_in_sample"
                ],
                "additionalProperties": false
            },
            "description": "Structured value returned for “top suppliers in latest sample” as defined by this API contract."
        },
        "supplier_sampled_count": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Structured value returned for “supplier sampled count” as defined by this API contract."
        },
        "supplier_sample_coverage_percent": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “supplier sample coverage percent” as defined by this API contract."
        },
        "generated_at": {
            "type": "string",
            "description": "UTC timestamp at which this derived result was generated."
        },
        "limitations": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "Known interpretation, source-coverage or freshness limitations for this result."
        }
    },
    "required": [
        "filters",
        "lookback_months",
        "source_status",
        "summary",
        "top_buyers",
        "top_cpv",
        "top_suppliers_in_latest_sample",
        "supplier_sampled_count",
        "supplier_sample_coverage_percent",
        "generated_at"
    ],
    "additionalProperties": false,
    "description": "Structured result returned by the procurement/fr/market API."
}
```

## Request example

```json
{
    "cpv_prefix": "641",
    "lookback_months": 12
}
```

## Billing policy

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