
API integration for Annuaire des entreprises
We build your Annuaire des entreprises connector
We wire the public Annuaire des entreprises API into your product: your user types their company name, picks it from a list, and the SIREN feeds the rest of the journey.
- Senior product team
- public data connectors in production
- from scoping to monitoring
What does the Annuaire des entreprises API do and how can it be integrated into an application?
The Annuaire des entreprises API lets you find a French company by name, SIRET or activity, returning its official information: legal name, address, legal form, status and NAF code. Operated by DINUM, it is free and open without registration. You integrate it into an application to automate client record enrichment when a company name is typed, verify the legal existence of a partner, or pre-fill a KYC form without asking users to re-enter data that already exists in the official registry.
What our clients plug into this API
A find your company field
The user does not know their SIREN. They type a name and a town, pick from a list, and the rest of the journey works on an identifier.
A light check before a quote
Company name and head office address verified when a quote or contract is created, with no enrichment budget and no vendor contract.
Local prospecting by radius
Search around a point, filtered by NAF code, builds a field sales round or a list of installers to cover a territory.
Collective agreement prefilled
The applicable IDCC code feeds a payroll tool, a training plan or a social compliance module, with nothing for the user to type.
What it changes in your signup journey
Engineering in service of a measurable outcome: a signup that completes, accurate data, zero licence cost.
A signup that completes
Nobody knows their SIREN by heart. Searching by name removes the obstacle that makes people abandon the form on the second line.
Zero licence cost
The API is open and free. The budget goes into development and scoping, not into a monthly subscription with a data vendor.
A credible free fallback
If your paid provider goes down or the budget runs out, basic identification stays available and the journey does not stall.
Targeting criteria built in
Sector, company category, territory and financial ratios become filters inside your product, with no intermediate export.
How we ship your connector
Scoping
Search by name, by identifier or by radius, which fields you display, what volume you expect. We list the edge cases before coding.
Development
Server-side calls, a User-Agent identifying your application, a cautious limiter well below the ceiling, a light response by default.
Acceptance testing
Testing the silently ignored filters in direct search, the ten thousand result cap, and the case of a company outside the perimeter.
Monitoring
Alerts on 429s and on latency, a documented fallback to a contracted source. The rate is not guaranteed and the product must know it.
What the Recherche d'Entreprises API allows
- Full-text search
- By company name, address, director or elected official, or directly by SIREN and SIRET. The building block of a type your company name field.
- A multi-database summary
- Sirene identity, directors from the national register, the applicable collective agreement, certifications and financial ratios, in one response.
- Geographic search
- Companies around a point, within five kilometres by default and fifty at most, filterable by NAF code for field work.
- Sector and financial filters
- NAF code, activity section, company category, legal nature, territory, revenue and net income, all combinable in one query.
The vocabulary of this API
- near_point
- The geographic endpoint: companies around a set of coordinates, five kilometres by default and fifty at most. Few products offer this feature, and it is free.
- minimal and include
- The light response mode, and the list of blocks to pull back: complements, dirigeants, finances, siege, tva. Note that include only works with minimal set to true. On an API under load, restraint is what keeps you from being throttled.
- activite_principale_naf25
- The future NAF 2025 code, returned alongside the NAF rev. 2 code. It is currently the simplest way to obtain it without a subscription, to prepare for the switch on 1 January 2027.
- statut_diffusion_etablissement
- Set to O for a disclosed establishment and P for partial disclosure after an objection request. It comes from Sirene and has to be read, not ignored because the fields merely look empty.
- liste_idcc
- The collective agreement identifiers attached to the company. This is what lets you prefill a payroll tool, a training plan or a social compliance check without asking the user.
- User-Agent
- The documentation recommends an explicit, descriptive User-Agent on every request. On an open API under load, that is what separates an identifiable integrator from an anonymous scraper when the operator has to make a call.
The real constraints of this API
The published rate is not a guaranteed rate
Seven calls per second per IP, plus a network operator limit you hit quickly on a public cloud. The documentation states that priority goes to internal systems and public services when the service is under load.
Ten thousand results, and not one more
Pagination is locked: twenty-five results per page, and any request whose page goes past ten thousand cumulative results returns a 400 error. This API is for finding a company, not for hoovering up a sector.
Filters are ignored in a direct lookup
If the query is exactly 9 or 14 digits, the API runs a direct lookup and silently ignores the other filters. A check of the form is this SIRET really in this department therefore returns a false answer, with no error.
The perimeter is deliberately incomplete
Neither undisclosed companies nor those refused registration are included. A missing company is not a non-existent company: the user message has to say so, and a manual entry path has to stay open.
Annuaire des entreprises or the Sirene API?
Two public APIs over the same companies, for two different jobs. Most of the time, we wire up both.
| Criterion | Annuaire des entreprisesOpen, no key | INSEE / SireneAccount required |
|---|---|---|
| Access | No account, no key | INSEE account, free key |
| Search by name | Yes, that is the point | No, by identifier |
| Directors | Yes, from the register | Not covered |
| Perimeter | Trimmed, undisclosed excluded | The full registry |
| Rate | 7 per second, not guaranteed | 30 per minute, public plan |
| Service commitment | No enforceable contract | 99.5 % per month |
| The right case | Find the company by its name | Verify and maintain a SIRET |
The usual setup combines both: search by name here, verification and registry refreshing on the Sirene API.
What we measure on this integration
The other company data APIs
If this API does not cover your need, these options are worth discussing during scoping.
Annuaire des entreprisesWe build your Annuaire des entreprises connectorThis page
INSEE / SireneThe official registry, free: verify a SIRET, prefill a company record.
PappersDirectors, beneficial owners, annual accounts and documents, à la carte.
BODACCStatutory announcements: incorporations, sales, insolvency proceedings.We combine Annuaire des entreprises with
The stack that surrounds this API on our projects.
Annuaire des entreprises: your questions
It is the simplest integration in this category, because there is no account and no key. We call the search from your server, never from the browser once there is any volume, since the limit is per IP address and per network operator. We add a User-Agent that identifies your application and a contact, as the documentation recommends, a cautious limiter well below the published ceiling, and a short cache on searches with a long one on records resolved by SIREN. The rest of the work is product work: what to show in the result list, and what to do when the company is not there.
Yes, entirely: no account, no key, no contract, no invoice. What also does not exist is a service commitment. The documentation states that the published rate is a maximum limit and not a guaranteed throughput, and that during busy periods priority goes to internal systems and public services. A commercial product is therefore, by design, a second-priority user. Free does not mean risk-free: it means you need a cache, a cautious rate and a fallback.
They are two different DINUM APIs, and the confusion is expensive in pre-sales. The Recherche d'Entreprises API is open to everyone, with no account: that is the one this page is about. The API Entreprise is reserved for public administrations and requires a high level of formal clearance: it is what powers the civil servant area of the Annuaire. A private software vendor cannot access it, whatever the use case. If someone promised you the API Entreprise for a commercial product, that promise does not hold.
No, and it is locked on purpose. The total result count caps at ten thousand, pagination is limited to twenty-five results per page, and any request going past that total returns an explicit 400 error. The displayed counter is therefore not a real count beyond that threshold. This API is for finding a company, not for rebuilding a database. If you need a sector file, it has to come from downloadable datasets or a commercial provider, and we say so before pricing anything.
For interactive search at low throughput, yes, with a cache, a cautious rate and an identifiable User-Agent. As the sole source of a critical process, no: no contract, no enforceable service commitment, and priority given to public services when the platform is under load. We never put an API without a contract alone on the path of a payment or a decision. The setup we recommend is two-tier, with a contracted source behind it for reliable identification.
An Annuaire integration project?
Let's talk. 30 minutes to scope your need, check what this public API actually allows and tell you honestly what is feasible.
Discuss my Annuaire des entreprises project