amf_search_filings
Pack: amf-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/amf_search_filings for the schema, then POST the same URL with its arguments for the data.
Search French AMF-regulated company disclosures (résultats, franchissements de seuils, information privilégiée, rachats d’actions, and similar) from Info-financière, the French Officially Appointed Mechanism. PREFER OVER esef_filing_search FOR FRENCH ISSUERS — this source is updated same-day, unlike the community ESEF index which runs months behind for French/EU filings. Identify the issuer with isin (most reliable), lei (frequently null — do not rely on it alone), or a free-text company name; narrow by date_from/date_to (ISO date, UTC) — date_to IS INCLUSIVE of that whole UTC day, so a single-day check sets date_from and date_to to the SAME date (e.g. both “2026-10-16” to get everything published that day); a date_from after date_to returns empty_reason:“empty_window” rather than a bare zero. ALL THREE ARE OPTIONAL — omit company/isin/lei entirely to get every issuer’s filings in the date window in ONE call (paginate with limit/offset only if a single day’s market-wide volume exceeds the 100-row limit); this is far cheaper than calling once per issuer for a multi-issuer daily check. company is matched against the AMF’s own LEGAL-NAME field (e.g. “TELEVISION FRANCAISE 1”, not “TF1”) — a trade-name search that matches zero legal-name rows automatically retries against disclosure titles and the response says matched_via:“title” when that is what found it, so prefer isin when you have it. Bilingual issuers publish each release TWICE (fr + en, separate ids, same minute) — pass language to get one edition, or group results by the returned language_pair_key. subtype_of_information is normalised to a real null (some disseminators send the literal string “NULL”). Returns disclosure EVENTS — title, issuer, timestamp, and a PDF/document link — NOT extracted XBRL facts.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
company | string | no | Free-text issuer name search, e.g. “TotalEnergies”, “LVMH”. Matches on the AMF’s own LEGAL-NAME company field first; a distinct legal entity (e.g. a listed subsidiary) with a similar name may also match. If the legal name differs from the trade name you typed (e.g. “TF1” vs. legal name “TELEVISION FRANCAISE 1”) and the legal-name match is empty, this tool automatically retries against disclosure titles — check matched_via and company_resolved in the response. |
isin | string | no | Issuer ISIN, e.g. “FR0013230950”. The most reliable identifier in this dataset — prefer this over lei or company name when known. |
lei | string | no | Issuer LEI (Legal Entity Identifier), e.g. “9695002GVC14VHLFIH85”. Populated on many but not all rows — a miss does not mean the issuer has no filings; retry with isin or company. |
date_from | string | no | Only filings published on or after this date (YYYY-MM-DD, UTC). Filters on the actual AMF publication timestamp. |
date_to | string | no | Only filings published on or before this date (YYYY-MM-DD, UTC, INCLUSIVE — the last day you want included). For a single-day check pass the same date as date_from. The upstream API’s own bound is exclusive of that day; this tool handles that internally by querying one calendar day past it, so you never need to add a day yourself. |
language | string | no | Filter to one language edition when an issuer files bilingual pairs: “fr” or “en”. Omit to get both (each language edition is a separate row with its own id). |
limit | number,string | no | Number of filings to return (1-100, clamped if you pass more — the response reports limit_clamped_from when it does). Default 10. |
offset | number,string | no | Result offset for pagination. Default 0. |
Example call
Arguments
{
"isin": "FR0013230950",
"limit": 3
}
curl
curl -X POST https://gateway.pipeworx.io/amf-filings/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"amf_search_filings","arguments":{"isin":"FR0013230950","limit":3}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('amf_search_filings', {
"isin": "FR0013230950",
"limit": 3
});
More examples
{
"date_from": "2026-10-16",
"date_to": "2026-10-16",
"limit": 100
}
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 amf-filings pack
{
"mcpServers": {
"amf-filings": {
"url": "https://gateway.pipeworx.io/amf-filings/mcp"
}
}
}
See Getting Started for client-specific install steps.