Tender anticipation: French public contracts expiring within a window

Contracts whose ESTIMATED end date (notification + initially declared duration; duration amendments are absent from the DECP source) falls inside the window, sorted by end date: buyer (SIRET + resolved name), incumbent holders, amount (after amendment when published), framework-agreement flag, CPV, department. Buyers typically re-tender 4-9 months before expiry. An empty list is scoped honestly: contracts under EUR 40k excl. VAT are unpublished. Preserve coverage and provenance. Missing data is not zero; a name match is not proof of identity.

price-ascending: candidates are ordered by the listed price of the operation, with no managed-first preference applied. Unlike /v1/apis, this surface does not rank Apiosk-settled listings above federated ones — a comparison that reorders on commercial grounds is not a comparison. Pass sort=managed_first for the catalog's ordering.

ProviderOperationPriceSettlementNotes

Compared: listed price, settlement rail and input compatibility. Not measured yet: latency, reliability, result quality, and provider terms such as rate limits, jurisdiction and licensing.