French Public Contract Expiry & Renewal Signals

Estimates upcoming public-contract end dates using DECP notification, initial duration and published duration modifications, with an explicit confidence level.

0.010 USD

Charged on valid result · Empty result not charged · Errors not charged

When to use this API?

Use for

  • Find French public contracts likely to expire or renew soon, taking published DECP duration modifications into account.

Avoid when

  • You need open tenders rather than awarded-contract expiry signals; use procurement/fr/search.

Limitations

  • End dates remain estimates; confidence is reduced when DECP reports a modification without a revised duration.
  • Malformed or non-date DECP modification fields are ignored and an isolated modification identifier no longer creates a modification signal by itself.

Sources and provenance

Données essentielles de la commande publique (DECP)

www.data.economie.gouv.fr

Input / Output schemas

Simplified endpoint contracts. The complete schema remains available in OpenAPI 3.1.

OpenAPI 3.1 →

Input schema
cpv_prefixstring

departmentstring

min_monthsinteger

max_monthsinteger

limitinteger

View full JSON Schema
{
    "type": "object",
    "properties": {
        "cpv_prefix": {
            "type": "string",
            "pattern": "^[0-9]{1,8}$"
        },
        "department": {
            "type": "string"
        },
        "min_months": {
            "type": "integer",
            "minimum": 0,
            "maximum": 60,
            "default": 0
        },
        "max_months": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60,
            "default": 18
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 25
        }
    },
    "additionalProperties": false
}
Output schema
cpv_prefixstring | null

Required

departmentstring | null

Required

min_monthsinteger

Required

max_monthsinteger

Required

source_statusstring

Required

returned_countinteger | null

Required

contractsarray

Required

generated_atstring

Required

limitationsarray

View full JSON Schema
{
    "type": "object",
    "properties": {
        "cpv_prefix": {
            "type": [
                "string",
                "null"
            ]
        },
        "department": {
            "type": [
                "string",
                "null"
            ]
        },
        "min_months": {
            "type": "integer"
        },
        "max_months": {
            "type": "integer"
        },
        "source_status": {
            "type": "string",
            "enum": [
                "ok",
                "unavailable"
            ]
        },
        "returned_count": {
            "type": [
                "integer",
                "null"
            ]
        },
        "contracts": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "contract_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "object": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "cpv": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "buyer_siret": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "buyer_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "holder_sirets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "amount": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    },
                    "notification_date": {
                        "type": "string"
                    },
                    "duration_months": {
                        "type": "integer"
                    },
                    "effective_duration_months": {
                        "type": "integer"
                    },
                    "duration_source": {
                        "type": "string",
                        "enum": [
                            "decp_initial",
                            "decp_modification"
                        ]
                    },
                    "modification_detected": {
                        "type": "boolean"
                    },
                    "modification_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "modification_date": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "modification_object": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "estimated_end_date": {
                        "type": "string"
                    },
                    "estimated_end_confidence": {
                        "type": "string",
                        "enum": [
                            "low",
                            "medium",
                            "high"
                        ]
                    },
                    "months_until_end": {
                        "type": "integer"
                    },
                    "execution_location": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "additionalProperties": false,
                "required": [
                    "contract_id",
                    "object",
                    "cpv",
                    "buyer_siret",
                    "buyer_name",
                    "holder_sirets",
                    "amount",
                    "notification_date",
                    "duration_months",
                    "effective_duration_months",
                    "duration_source",
                    "modification_detected",
                    "modification_id",
                    "modification_date",
                    "modification_object",
                    "estimated_end_date",
                    "estimated_end_confidence",
                    "months_until_end",
                    "execution_location"
                ]
            }
        },
        "generated_at": {
            "type": "string"
        },
        "limitations": {
            "type": "array",
            "items": {
                "type": "string"
            }
        }
    },
    "additionalProperties": false,
    "required": [
        "cpv_prefix",
        "department",
        "min_months",
        "max_months",
        "source_status",
        "returned_count",
        "contracts",
        "generated_at"
    ]
}

Example queries

Which public contracts are likely to expire in the next 12 months, including published duration amendments?