esef_search_filings
Pack: esef-filings · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/esef_search_filings for the schema, then POST the same URL with its arguments for the data.
Search the XBRL International filings index (filings.xbrl.org) for published company annual reports. Answers “which European companies have filed an annual report for 2023”, “does Nokia have an ESEF filing”, “list Finnish filings with validation errors”, “Portuguese filings with a period end after 2024-06-30”, “Spanish annual reports for 2025”. Returns per filing: company name, LEI or national identifier, country, reporting regime, period end, source (xbrl.org, cmvm, cnmv, newsweb or fi) and official publication time where known, XBRL validation error/warning counts, report language, and direct links to the machine-readable xBRL-JSON, the inline-XBRL HTML report and the viewer. Filter by company name (substring), country (ISO-2), regime, exact period end date, calendar year, or a period_end_from/period_end_to date range. Any other argument name is rejected with a user_error rather than silently ignored.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
entity_name | string | no | Company name or fragment, case-insensitive substring match against the filer name (e.g. “Nokia”, “Citycon”, “Vodafone”, “Siemens”). |
country | string | no | ISO-2 country of the filing jurisdiction: AT, BE, CY, CZ, DK, ES, FI, FR, GB, GR, IS, IT, LT, MT, NL, NO, PL, PT, RO, SE (ESEF) or UA (UAIFRS). LU, SI, EE, IE and BG are also accepted — these five are looked up live (see the coverage note above) and pinning country to one of them is required to trigger that lookup; GR is always live-augmented in addition to the index. |
regime | string | no | Reporting regime: “ESEF” for the European Single Electronic Format annual financial report, or “UAIFRS” for Ukrainian IFRS filings. Omit to search both. |
year | number | no | Calendar year of the reporting period end, e.g. 2023. Matches any period ending in that year. |
period_end | string | no | Exact reporting period end date, ISO format, e.g. “2023-12-31”. Takes precedence over year and over period_end_from/period_end_to. |
period_end_from | string | no | Only filings whose reporting period end is on or after this ISO date, e.g. “2024-01-01”. Combine with period_end_to for a range; either bound may be used alone. Ignored if period_end (exact) is also set; takes precedence over year. |
period_end_to | string | no | Only filings whose reporting period end is on or before this ISO date, e.g. “2024-12-31”. Combine with period_end_from for a range; either bound may be used alone. Ignored if period_end (exact) is also set; takes precedence over year. |
with_errors | boolean | no | Set true to return only filings that failed XBRL validation (error_count greater than zero). |
sort | string | no | Result ordering: “newest” (most recently added to the index, the default), “oldest”, “period_desc” (latest reporting period first), or “period_asc”. |
limit | number | no | Filings to return, 1-100. Default 20. |
page | number | no | Page number for paging through a large match set, starting at 1. Default 1. |
Example call
Arguments
{
"entity_name": "Citycon",
"country": "FI"
}
curl
curl -X POST https://gateway.pipeworx.io/esef-filings/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"esef_search_filings","arguments":{"entity_name":"Citycon","country":"FI"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('esef_search_filings', {
"entity_name": "Citycon",
"country": "FI"
});
More examples
{
"entity_name": "ArcelorMittal",
"country": "LU"
}
{
"entity_name": "Tallink",
"country": "EE"
}
{
"country": "GB",
"year": 2024,
"sort": "period_desc",
"limit": 10
}
{
"regime": "UAIFRS",
"year": 2021,
"limit": 5
}
{
"country": "PT",
"year": 2025,
"limit": 50
}
{
"entity_name": "Ryanair",
"country": "IE"
}
{
"entity_name": "Jumbo",
"country": "GR"
}
{
"entity_name": "Vipom",
"country": "BG"
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the esef-filings pack
{
"mcpServers": {
"esef-filings": {
"url": "https://gateway.pipeworx.io/esef-filings/mcp"
}
}
}
See Getting Started for client-specific install steps.