Resolve402 / services
EU listed company financials (ESEF)
GET /api/esef-financials · $0.005 per call (USDC on Base or Solana, x402)
Get the latest audited annual financials of a European listed company from its ESEF (IFRS iXBRL) annual report: revenue, operating profit, net income, total assets, equity, cash, borrowings and derived net debt, with currency, fiscal year, prior year and the filing URL. Give an LEI, or a company name and country. One stable JSON schema across countries, full units, each figure with the IFRS concept it came from. Charged only if financials are found.
Problem solved
You need the headline financials of a European listed company, as audited and filed, in one schema whatever the country, language or layout of its annual report, without parsing a 300-page iXBRL file.
Use cases
- Counterparty or supplier screening: revenue, net income, equity and net debt of a listed EU group from its last annual report.
- Peer comparison across countries: the same fields for Heineken (NL), Carlsberg (DK) and AB InBev (BE), each with its currency and fiscal year end.
Input
GET /api/esef-financials?lei=<LEI> | ?company=<name>&country=<ISO-2, e.g. FR, IT, NL>
| Parameter | Where | Type | Description |
|---|---|---|---|
lei | query | string | Legal Entity Identifier of the issuer (20 characters). Preferred over company. |
company | query | string | Company name, e.g. Heineken, Nokia, Banco Santander (used when no lei) |
country | query | string | ISO-2 country of the issuer, required with company (FR, IT, NL, BE, FI, DK, AT, SE, ES...) |
Output
company {name, lei, country}, filing {period_start, period_end, currency, filing_url (iXBRL viewer), report_url, package_url, json_url, added_at, language, fxo_id, validation}, financials {revenue, operating_profit, net_income, net_income_attributable_to_owners, total_assets, equity, equity_attributable_to_owners, cash_and_equivalents, borrowings, net_debt} in full units of currency, prior_period (same fields), provenance {field: {concept, decimals, method}}, resolution {by, alternatives}, meta {source, licence, notes}. null = the issuer does not present that line. 404 = nothing found, not charged.
Price
$0.005 per call. Charged only if financials are found: 404 not_found, 400 invalid input and 502 source_unavailable are not charged.
Example
GET https://resolve402.dev/api/esef-financials?company=Heineken&country=NL
{
"company": {
"name": "Heineken N.V.",
"lei": "724500K5PTPSST86UQ23",
"country": "NL"
},
"filing": {
"period_start": "2025-01-01",
"period_end": "2025-12-31",
"currency": "EUR",
"filing_url": "https://filings.xbrl.org/724500K5PTPSST86UQ23/2025-12-31/ESEF/NL/0/heia-2025-12-31-en/reports/ixbrlviewer.html",
"added_at": "2026-02-17"
},
"financials": {
"revenue": 34257000000,
"operating_profit": 3406000000,
"net_income": 2138000000,
"net_income_attributable_to_owners": 1885000000,
"total_assets": 53753000000,
"equity": 20614000000,
"equity_attributable_to_owners": 17978000000,
"cash_and_equivalents": 4773000000,
"borrowings": 19279000000,
"net_debt": 14506000000
},
"provenance": {
"revenue": {
"concept": "ifrs-full:Revenue",
"decimals": -6,
"method": "ifrs-full"
}
}
}Real output of lib/esef.ts on 2026-10-14 against filings.xbrl.org (abridged: filing URLs, prior_period, provenance and meta shortened).
Sources
- ESEF annual financial reports filed by issuers with their national Officially Appointed Mechanism, indexed by filings.xbrl.org (XBRL International); no restrictions on use
- GLEIF LEI records (api.gleif.org), CC0 1.0, to resolve a company name
Limits
- Listed issuers that file ESEF reports only. Germany and Ireland are not in the filings.xbrl.org index; Sweden, Spain, Poland, Luxembourg, Greece and Portugal had no FY2025 report indexed on 14/10/2026, so the latest available year comes back (period_end says which).
- Figures are the consolidated statements as tagged by the issuer. revenue is the top line; for banks it is the total operating income line (e.g. net banking income), null when none is presented.
- operating_profit is null when the issuer presents no operating result, or only one before special items.
- net_debt = borrowings - cash and cash equivalents as tagged; it is not the issuer's own alternative performance measure.
- Accuracy measured on 55 companies in 9 countries against the printed statements: 99.2 % of core fields exact (ops/quality/esef_eval_2026-10-14.md).
- Large filings are read in full (a few seconds for the biggest banks). Nothing stored.
Use it
- HTTP + x402: call the URL, pay the 402 with any x402 v2 client, retry with the PAYMENT-SIGNATURE header.
- OpenAPI: /openapi.json (operation
esefFinancials) - MCP:
npx -y resolve402-mcp, toolesef_financials(npm) - Agent guide: /llms.txt · skill: /SKILL.md