philippe2463/recherche-entreprises-bundle
A Symfony bundle that integrates the French Recherche d'entreprises API, letting you search companies by name, SIREN/SIRET, or location and retrieve structured business data directly in your PHP applications.
French-market B2B features, not general company data. This bundle is a thin Symfony service layer over the French government's Recherche d'entreprises API (a free, keyless, rate-limited public service). The PM value is narrow and concrete: it turns "we need company lookup" from a multi-week build into a configuration task, but only for French legal entities. Use it to scope these roadmap items:
Build vs. buy — reframe it as "adopt vs. wrap." The underlying API is free and public, so there is no vendor contract to negotiate and no license line item. The real decision is whether a third-party wrapper saves more engineering time than it costs in dependency maintenance. At 0 stars, 0 dependents, and a single maintainer, that answer is usually "vendor the five classes you need, or call the API directly from a small internal client." What this package is genuinely useful for is scoping: it demonstrates that the integration is a day of work, not a quarter. Present it to stakeholders as evidence for a roadmap estimate, not as an architecture commitment.
It does not support vendor selection. Nothing here helps you choose a multi-country data provider, and the API it wraps is France-only, read-only, and carries no SLA. If the roadmap includes UK, German, or Dutch company lookup, this package is not a step toward that — a commercial aggregator is.
Adopt (or copy) when all of these hold:
Http::get() in a small service and skip the dependency entirely. Confirm the framework before the conversation goes further.composer.json constraints. Check constraints, not the README — this is the cheapest disqualifier and the last thing a 0.x bundle will tell you about itself.Look elsewhere, or build the small client yourself, when:
To executives: For our French B2B features — company autocomplete at signup, invoice legal-entity details, seller onboarding — this reduces the integration from weeks of plumbing to roughly a day, at zero license cost. The important framing is that we are not buying a vendor: the data comes from a free French government API, and this package is a small community wrapper around it. So the benefit is speed, the cost is near zero, and the risk is a dependency we may end up owning. We mitigate that by keeping it behind our own interface, which means switching to a direct API call or a commercial provider later is a contained change rather than a rewrite. Net: it de-risks the estimate for the French-market roadmap items more than it de-risks the architecture.
To engineering: This is a lightweight, MIT-licensed Symfony bundle that wires up the Recherche d'entreprises API — search by name/SIREN/SIRET, pagination, configurable client settings. My recommendation is not "install and call it from controllers," but "use it as the reference implementation and wrap it." Concretely: define our own CompanyLookup interface and a small adapter, so the bundle is an implementation detail we can replace with an in-house HTTP client or a paid provider without touching call sites. Verify the composer.json constraints against our current and next Symfony major, pin the version, add it to the dependency-review and Renovate/Dependabot watchlist, and write one smoke test that asserts a real lookup returns an expected company — not merely that the container resolves the service. Known failure modes to design around: the upstream API is rate-limited and has no SLA, so cache aggressively and degrade gracefully; and a bundle that silently stops auto-registering after a framework upgrade is a classic 0.x trap. Estimated effort for the adapter plus a real test is a couple of days; that is the number to put against "build our own client," which is not much more.
How can I help you explore Laravel packages today?