@pipeworx/bodacc

Connect: https://gateway.pipeworx.io/bodacc/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 4

French official business-events bulletin (BODACC — Bulletin officiel des annonces civiles et commerciales): dated notices per company — creations, insolvency proceedings (redressement/liquidation judiciaire), business sales/transfers, deregistrations, modifications, and annual account filings.

Tools

  • bodacc_company_events(siren | name, event_type?) — full BODACC event history for one company, newest first. siren is the same 9-digit id used by the entreprises-fr and insee packs — chain a SIREN looked up there straight into this tool (or the reverse).
  • bodacc_search(q?, name?, event_type?, departement?, since?, until?, siren?) — open-ended search across all BODACC notices. q is whole-notice full text (name, activity, judgment/act text, address, …); name is the separate, field-scoped form for matching the company name only. Also filters by event family, département, date range, and/or SIREN.
  • bodacc_insolvency_feed(since, until?, departement?) — insolvency-only (familleavis=collective) notices published since a date, newest first. Built for polling/monitoring with an advancing since.
  • bodacc_get_notice(id) — a single notice by its BODACC id.

Auth

Keyless. The upstream (DILA’s Opendatasoft portal) requires no registration or API key for read access to this dataset.

Data sources

Traps:

  • offset + limit is capped at 10,000 for this dataset (confirmed live: offset=9999&limit=2 → 400 InvalidRESTParameterError). total_count in the API response is NOT capped — only how far pagination can reach into it is. Every tool here reports total_count, count (rows actually returned), and a truncated flag (offset + limit >= 10000 while total_count exceeds it) so a caller never reads the cap as the true count. Narrow with event_type / departement / a date range to stay under the cap on a broad query.
  • registre is an array, not a scalar — ["805243102", "805 243 102"] (digits-only and space-grouped forms of the same SIREN). ODSQL registre="805243102" matches against the array directly; this pack always strips spaces from an input SIREN before building that filter, and reads registre[0] (digits-only) back out when shaping a record.
  • Most upstream fields are per-family, not universal. jugement is populated for insolvency/conciliation notices, acte for creations/sales, radiationaurcs for deregistrations, modificationsgenerales for modifications, depot for account filings — the others are null on a given row. Each is itself a JSON-encoded string, not a nested object; this pack parses whichever of them are non-null into a single detail object per notice rather than exposing raw upstream field names.
  • familleavis codes (pass to event_type): creation, immatriculation, collective (insolvency), conciliation, retablissement_professionnel, modification, radiation, dpc (account filings), vente (sale/transfer), divers. Source of truth: the ac_mapping_famille_avis dataset on the same Opendatasoft domain. event_type also accepts English aliases (sale/transfervente, insolvency/bankruptcycollective, deregistration/deletionradiation, accountsdpc, registrationimmatriculation) — an unrecognized value is a thrown error naming the valid codes, never a silent total_count: 0 (fixed 2026-09-23: event_type: "sale" used to build familleavis="sale", an upstream field value that matches nothing).
  • ODSQL’s search() is field-scoped unless you omit the field. search(commercant, "...") matches the commercant field only (company name as filed); the unscoped search("...") matches every indexed field (activity description, judgment/act text, address, etc). bodacc_search’s q uses the unscoped form on purpose — the field-scoped form silently returned total_count: 0 for q: "fonds de commerce" (a term that never appears in a company name) while the unscoped form returns 3,188 hits for the same query, confirmed live 2026-09-23. Use name instead of q to get the field-scoped, name-only match deliberately.
  • Every call here hits the upstream endpoint directly, per request: the API is keyless, has no meaningful rate limit for normal query volumes, and a since-bounded monitoring query naturally stays well under the 10k pagination cap.

Tools

  • bodacc_company_events — Full BODACC event history for one French company: every dated notice published for it — creations, insolvency proceedings (redressement/liquidation judiciaire), business sales/transfers, deregistratio
  • bodacc_search — Search all BODACC notices across every French company by free text (searched across the whole notice — company name, activity, judgment/act text, addresses — not just the name), event family, départem
  • bodacc_insolvency_feed — Recent French insolvency-proceeding notices (familleavis=“collective”: redressement judiciaire, liquidation judiciaire, sauvegarde and their related deposit/judgment notices) published since a given d
  • bodacc_get_notice — Fetch a single BODACC notice by its id (e.g. “A202601824309”, visible in bodacc_search / bodacc_company_events / bodacc_insolvency_feed results). Returns the full shaped notice including the parsed ju

Tools

  • bodacc_company_events — Full BODACC event history for one French company: every dated notice published for it — creations, insolvency proceedings (redressement/liquidation judiciaire), business sales/transfers, deregistratio
  • bodacc_get_notice — Fetch a single BODACC notice by its id (e.g. A202601824309 , visible in bodacc_search / bodacc_company_events / bodacc_insolvency_feed results). Returns the full shaped notice including the parsed jud
  • bodacc_insolvency_feed — Recent French insolvency-proceeding notices (familleavis= collective : redressement judiciaire, liquidation judiciaire, sauvegarde and their related deposit/judgment notices) published since a given d
  • bodacc_search — Search all BODACC notices across every French company by free text (searched across the whole notice — company name, activity, judgment/act text, addresses — not just the name), event family, départem

Regenerated from source · build September 23, 2026