Sirenic
About
Pay-per-call API of official French & European company data (SIRENE, EU registries, VAT, sanctions), built for AI agents — settled in USDC/EURC via x402
Details
- Author
- sirenic-eu
- Categories
- Finance
Jump to
Setup
Install Sirenic in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/sirenic-eu/sirenic-examples
Follow the installation instructions in the repository README, then restart your MCP client.
🚀 Sirenic launched on Product Hunt in July 2026:https://www.producthunt.com/products/sirenic
Working examples forSirenic— official French and European company data for AI agents: company lookup by name or SIREN, full company profiles, KYB verification and due-diligence files, AML sanctions screening, annual accounts and financial statements, default-risk scoring and company monitoring, from the French company registry (INSEE Sirene, INPI RNE) and official registers across 12 European countries. Pay-per-call inUSDC or EURCvia thex402 protocol:no account, no API key— your agent pays each request on Base. Every paid response isEd25519-signedand verifiable offline (recipe) — and carries itsper-block provenance: which official register each block came from, its licence, its version and itsas_ofdate, with the exact meaning of that date (upstream official publication, Sirenic ingestion, or live consultation). Verify the signature, then read the provenance: your agent can prove to an auditor what it knew when it paid. Codes are resolved for free at/v1/provenance/registres.
- Landing & pricing:https://api.sirenic.eu
- OpenAPI:https://api.sirenic.eu/openapi.json
- For LLMs:https://api.sirenic.eu/llms.txt
- MCP server:https://api.sirenic.eu/mcp(streamable HTTP)
- A2A agent:POST https://api.sirenic.eu/a2a(JSON-RPC, a2a-x402 payment extension) — card athttps://api.sirenic.eu/.well-known/agent-card.json
Data sources: INSEE Sirene / INPI RNE and other official registers, open licenses (Etalab 2.0, NLOD, CC-BY 4.0, OGL, CC0). Data is redistributed as published — every response carriessourceanddisclaimerfields.
Quickstart 0 — name → SIREN, for free (no wallet, no account, no key)
Every other call takes a SIREN. Getting one from a name costs nothing:
curl -s "https://api.sirenic.eu/v1/suggestions?q=carrefour"
Up to 5 matches, each withsiren,denomination,code_postal,commune,code_nafandactif. Source: the official INSEE Sirene register (open data). Drop it straight into a form's autocomplete, or let your agent resolve the name before it decides what to buy. Quota: 2,000 calls per day per IP.
It matches thestartof the registered name, then whole words (agricolefinds CRÉDIT AGRICOLE) — no typo tolerance and no match-confidence score. For those,GET /v1/recherchecosts $0.002. Then pick your paid call below.
Quickstart 1 — "Can you safely invoice or pay this company?"
One call, three answers: is the supplier still active, is its VAT number validtoday, and is that IBAN a real account at an identified bank. Start with the quote — free, no wallet, no account:
curl -i "https://api.sirenic.eu/v1/facturation/dossier?siren=552032534&iban=FR1420041010050500013M02606"
Then pay the $0.03 and get the file, with a deterministic verdict:
const res = await payingFetch( "https://api.sirenic.eu/v1/facturation/dossier?siren=552032534&iban=FR1420041010050500013M02606", ); const dossier = await res.json(); dossier.verdict.pret_a_facturer; // true | false dossier.verdict.raisons; // closed list: entreprise_cessee, tva_invalide_vies, iban_invalide…
payingFetchis the six-line x402 wrapper of Quickstart 3. Belgium and Poland:GET /v1/eu/facturation/dossier?pays=&id=&iban=(same price, same verdict). The response is Ed25519-signed and carries its provenance inside the signed bytes —examples/verify-invoice-file.tsturns one call into an audit file that still re-verifies offline years later. Why this matters in 2026: seethe section below.
Quickstart 2 — see a payment quote (no wallet needed)
curl -i "https://api.sirenic.eu/v1/entreprise/552032534" -H "Accept: application/json"
You getHTTP 402with the x402 payment requirements in thePAYMENT-REQUIREDheader and a JSON body. Each quote carriestwo payment options at the same numeric amount— USDC (first, the default for existing clients) or EURC — with the official Circle contracts, receiving address and network.
Quickstart 3 — pay and call in ~10 lines (TypeScript)
npm install @x402/fetch @x402/core @x402/evm viem
import { privateKeyToAccount } from "viem/accounts"; import { wrapFetchWithPayment } from "@x402/fetch"; import { x402Client } from "@x402/core/client"; import { registerExactEvmScheme } from "@x402/evm/exact/client"; const account = privateKeyToAccount(process.env.TEST_WALLET_KEY as 0x${string}); const client = new x402Client(); registerExactEvmScheme(client, { signer: account }); const payingFetch = wrapFetchWithPayment(fetch, client); const res = await payingFetch("https://api.sirenic.eu/v1/entreprise/552032534"); console.log(await res.json()); // paid, settled, delivered
TEST_WALLET_KEYis the private key ofyour client test wallet(the payer). The server never holds any key. Theexactscheme uses signed authorizations, so the client pays no gas.
Quickstart 4 — plug into Claude / Cursor (MCP)
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
Cursor / any MCP client (mcpServersconfig):
{ "mcpServers": { "sirenic": { "url": "https://api.sirenic.eu/mcp" } } }
76 tools are exposed — including TWO FREE ones: suggest_company_names (type a company name, get its SIREN — start here) and detect_company_identifiers (paste any text, get SIREN/SIRET/VAT/LEI with the right call to make). Plus verify_iban_bank. Search with 0-1 confidence scores, company profiles, KYB files, an à-la-carte company file where you pick the blocks and pay only for those, a $1 company-intelligence report, sanctions screening, AMF regulator alerts,regulatory authorisations by SIREN (EBA PSD2 register, EIOPA, ARCEP), EU financial authorisations (ESMA), industrial risk (Seveso/ICPE), lobbying register, EU procurement awards (TED),watchlists with daily checks and Ed25519-signed webhooks, financials, capital structure, sector benchmarks, failure-risk score, Belgian annual accounts…). Each tool accepts an optionalx_paymentparameter: without it you get the 402 quote; sign it with an x402 client and call again. Every tool declares anoutput schemaand returnsstructuredContent, plus MCP annotations (read-only vs. state- changing), so a client can type-check responses instead of parsing prose. The quote you get back is thesignable x402 payment requirements({x402Version, accepts[]}) — an agent can pay entirely from MCP, without touching the REST API.
Sirenic is also an A2A 1.0 agent with the official crypto payment extension (a2a-x402). Discover it from the card, send a JSON data part, get the quote as task metadata, pay on the same task:
curl -s https://api.sirenic.eu/.well-known/agent-card.json -H "A2A-Version: 1.0" npx tsx examples/a2a.ts # quote for free; add TEST_WALLET_KEY to pay
Quickstart 6 — LangChain & CrewAI SDKs
Ready-made paying tools with a hard price cap (sdk/typescript,sdk/python):
import { sirenicTools } from "sirenic-agents"; // LangChain.js const tools = sirenicTools({ walletKey, maxPriceUsd: 0.25 });
from sirenic_agents import SirenicClient, build_crewai_tools # CrewAI / LangChain tools = build_crewai_tools(SirenicClient(wallet_key=key, max_price_usd=0.25))
CrewAI can also use Sirenic's MCP server directly, no SDK:Agent(..., mcps=["https://api.sirenic.eu/mcp"]).
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
