Sirenic
GET api.sirenic.eu/v1/marches/expirations
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Upcoming French public-contract EXPIRATIONS — the predictive layer over DECP open data: contracts whose estimated end date falls inside your window (fenetre_mois, 1-24 months), filterable by CPV prefix (cpv=45) and department, with buyer, incumbent holders, lot number, declared subcontracting, and amounts flagged firm price or ENVELOPE (call-offs, subsequent contracts, tranches, framework ceiling). Buyers re-tender 4 to 9 months before expiry: anticipation BEFORE publication. 50 per page.
Resource: api.sirenic.eu/v1/marches/expirations
Network: eip155:8453 · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0x76A672EEe56D29D475b0715cc03B8C99D70EC8A2
Payment methods: — · Last validation: 2026-09-14 11:57:55.172+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [],
"properties": {
"cpv": {
"type": "string",
"description": "Optional CPV prefix, 2-8 digits (45 = construction, 9091 = cleaning)"
},
"page": {
"type": "string",
"description": "Page number, 50 contracts per page (default 1)"
},
"departement": {
"type": "string",
"description": "Optional French department code: 2-3 digits, 2A or 2B (e.g. 69)"
},
"fenetre_mois": {
"type": "string",
"description": "Window in months, 1-24 (default 12): contracts whose estimated end falls inside"
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x76A672EEe56D29D475b0715cc03B8C99D70EC8A2",
"amount": "50000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x76A672EEe56D29D475b0715cc03B8C99D70EC8A2",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "50000"
},
{
"raw": {
"asset": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
"extra": {
"name": "EURC",
"version": "2"
},
"payTo": "0x76A672EEe56D29D475b0715cc03B8C99D70EC8A2",
"amount": "50000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
"asset": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
"payTo": "0x76A672EEe56D29D475b0715cc03B8C99D70EC8A2",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "50000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.