sirenic

Public procurement and EU funding

Rivals on your public-procurement segments

The comparison scope is not chosen by you but derived from the facts: the route takes the company's top 5 CPV segments over 5 years, then looks for who wins on them. That is what stops you comparing a company with rivals it never meets.

https://api.sirenic.eu/v1OpenAPI 3.1llms.txt

GET/v1/entreprise/{siren}/concurrents-marches

Price
$0.02
Free quota
Included
Family
Public procurement and EU funding
Parameters
ParameterWhereExample
sirenpath · required130031487

What is charged

  • 200Ed25519-signed response, charged at the route's price
  • 402Signed x402 quote, nothing is debited
  • 4xxUnknown or invalid identifier, never charged
  • 5xxUpstream source unavailable, or a counted total below the list read (compte_incoherent), never charged

See a real response (free) Get the quote for /v1/entreprise/{siren}/concurrents-marches

What the route returns

Catalogue description, exactly as agents read it:

Who wins French public contracts on the SAME CPV segments as a given company (SIREN): top rival contractors over the last 3 years, with contract counts, total amounts and shared segments — competitive intelligence for public-procurement bidding, from DECP open data. The company's own top-5 CPV segments (last 5 years) define the comparison scope.

Expected identifier

9-digit company number.

A wrongly formatted identifier in the path returns 400 and is not billed — but it costs you a round trip. It is the leading cause of failed calls on the foreign routes. A search parameter, by contrast, is cleaned up: unsupported characters are stripped and the usable query is served.

Price and billing

Price: $0.02. The authoritative amount is the one in the 402 quote returned by the route itself, not this text, which derives from the same grid but is still just a page.

An error response cancels the payment: a 400, 404 or 503 is never billed. An upstream outage closes the route with a 503 rather than serving a degraded response.

Neighbouring routes

  • /v1/entreprise/{siren}/marches-publics: $0.01
  • /v1/acheteur/{siret}/profil: $0.02

How you pay

Every route is paid per call, in USDC or EURC on the Base network, over the x402 protocol: no account to create, no API key, no subscription. The first call returns a 402 quote your client settles, then replays the call. A failed call is never billed.

Would you rather have a euro invoice and prepaid credits? That is in preparation, and we will not announce a date until it is open. Write to contact@sirenic.eu and we will let you know when it opens.

Paid responses are Ed25519-signed: you can later prove what was served to you, and when. The whole catalogue is free to read in the OpenAPI document and in llms.txt.

One call, end to end

# x402 client (npm): the 402 quote is settled and the call replayed automatically
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534

# Or over MCP, in Claude Code / Cursor
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp

Routes used and pricing

RoutePriceSampleWhat it returns
/v1/entreprise/{siren}/concurrents-marches$0.02free sampleWho wins French public contracts on the SAME CPV segments as a given company (SIREN): top rival contractors over the last 3 years, with contract counts, total amounts and shared segments — competitive intelligence for public-procurement bidding, from DECP open data. The company's own top-5 CPV segments (last 5 years) define the comparison scope.

Contract end dates are estimates, computed from the notification date and the declared duration. This is not an official re-tendering calendar.

Take it further

No account to create, no key to request: the first step is free and shows you exactly what you would be buying.

See a real response (free) Get the quote for /v1/entreprise/{siren}/concurrents-marches Get notified about euro packs

Read next

OpenAPI · llms.txt · Full route catalogue and pricing