
API integration for Pappers
We build your Pappers connector
Your application queries the Pappers API to assemble a company file in a single call: legal identity, directors, beneficial owners, official documents.
- Senior product team
- company data connectors in production
- from scoping to monitoring
What does the Pappers API provide and why use it to enrich company data?
Pappers is a French aggregator of legal and financial data on companies. Its API returns a consolidated record from a SIREN number: identity, executives, beneficial owners, annual accounts, collective proceedings, BODACC publications and official documents. You integrate it to automate client or prospect record enrichment at name entry, perform KYC checks during onboarding, or monitor the legal and financial health of a partner portfolio. Credit-based billing makes it suitable for both occasional use and daily data flows.
What our clients build on the Pappers API
Client onboarding files
Type the SIREN, retrieve the legal identity, the directors, the beneficial owners and the extract, with the file assembled and no document requested.
Risk checks before signature
An automatic block on insolvency proceedings in progress and an alert on strike-off, at the moment you open credit or sign a contract.
Annual accounts without chasing
Filed accounts feed your internal scoring or a financing file, without asking the company for yet another document.
Portfolio watch by alert
A watchlist replaces the manual quarterly review: proceedings opened, a director changed, a strike-off, and you are notified.
What it changes in your files
Engineering in service of a measurable outcome: fewer documents requested, risk seen in time, a cost you control.
One file instead of three circuits
Identity, directors, owners and documents arrive together. You stop stitching together Sirene, the business register, BODACC and the court registry.
Risk seen before the exposure
Insolvency proceedings in progress are no longer discovered after delivery. The check becomes automatic at every sensitive step.
No more documents to chase
Extracts, articles of association and annual accounts come through the API. A credit or vendor onboarding file gets shorter by that much.
A cost you can see coming
Every call is priced in credits and instrumented. You know what a lookup costs before opening it to your whole team.
How we ship your Pappers connector
Scoping
Which fields, what volume, what credit budget. We price the cost per call before writing a line of code, not after the first invoice.
Development
A typed connector that admits nullable fields, a credit counter per call, a cache aligned on real freshness, the key in a managed secret.
Acceptance testing
Replay on your real data, a test on a company under partial disclosure, and a check that the 206 and truncated lists are handled.
Monitoring
A threshold alert on the credit balance, an application circuit breaker, a log of calls and their cost. Budget failure is visible before the stop.
What the Pappers API allows
- A consolidated company record
- Identity, court registry, RCS and RNE status, verifiable intra-community VAT, insolvency proceedings and a consolidated status, in one call.
- Directors and beneficial owners
- Representatives and beneficial owners, plus detection of the same director sitting behind several companies in your portfolio.
- Documents and annual accounts
- Deeds, articles of association, annual accounts, extracts and INSEE situation notices, pulled by API instead of requested from a registry.
- Watchlists and autocomplete
- Watchlists with event-driven alerts, and a suggestions route usable from the browser for your public-facing forms.
The vocabulary of the Pappers API
- Credit
- The billing unit. A company record costs 1 credit, a search result 0.1, a document 3, a scoring report 30. That grid has to be laid out before you code, not after the first invoice.
- champs_supplementaires
- The parameter that adds fields billed individually. The same request goes from 1 to 31 credits if it carries a financial score. Every field requested must be an explicit decision, not a copy and paste.
- statut_consolide
- A summary field valued active, inactive or ceased, aggregating the INSEE, RNE and RCS statuses. This is the one you show a business user, rather than three statuses that can contradict each other.
- HTTP 206
- Partial result: at least one upstream source did not answer in time. Testing status equals 200 treats that as an error, testing status below 300 records an incomplete file as if it were complete. Both are wrong.
- diffusable
- The flag marking a company under partial disclosure. Around fifteen fields then become nullable, including the company name and the address. A TypeScript client that types them as non-null breaks in production.
- opposition_utilisation_commerciale
- The field stating that the company objects to commercial use of its data. Reading it and honouring it is not optional: it is the objection mechanism provided by the commercial code, exposed here as a boolean.
The real constraints of the Pappers API
The bill hides in the extra fields
A company record costs 1 credit, the same request with a financial score costs 31. Without a cost counter instrumented inside the application, the drift only shows up on next month's invoice.
Credits expire, and the API stops
On monthly and annual plans, unused credits are lost at the end of the period, and the API stops answering once the balance is empty. That is a functional outage no standard HTTP monitoring sees coming.
A 206 is neither success nor failure
It signals an incomplete record because an upstream source did not answer. It has to be handled as a third state, the record pushed back into the queue, and a missing field never read as negative information.
One API account per company
Pappers states that it removes multiple accounts that were not cleared in advance. The pattern of one key per environment, or one key per end customer, therefore needs an explicit commercial agreement before the architecture is designed.
Pappers or the Sirene API?
Two ways to get a French company record. The right one depends on what you have to do with it, not on the sticker price.
| Criterion | PappersPaid aggregator | INSEE / SireneOfficial source |
|---|---|---|
| Access | Subscription, cost per credit | INSEE account, free key |
| Perimeter | Identity, directors, deeds | Identification, location |
| Official documents | Articles, accounts, extracts | Not covered |
| Insolvency proceedings | A ready-made flag | Not covered |
| Rate | Depends on your plan | 30 calls per minute |
| Failure mode | Credit balance exhausted | Service unavailability |
| The right case | Build a KYC file | Verify and prefill a SIRET |
We recommend a two-tier architecture: Pappers for the enrichment that carries value, a public source for basic identification and as a fallback.
What we measure on a Pappers integration
The other company data APIs
If Pappers does not cover your need, these options are worth discussing during scoping.
We combine Pappers with
The stack that surrounds Pappers on our projects.
Pappers integration: your questions
Three steps. Create an API account and collect the key, which goes in the api-key header and never in the URL. Then build a server-side connector that calls the company record by SIREN, typing the fields as nullable for companies under partial disclosure and treating the 206 code as a third state, neither success nor failure. Finally, add a cache aligned on the real freshness of the source, which is refreshed once a day, and a credit counter per call. Only the suggestions route can be called from the browser: everything else goes through your server.
Billing is per credit, on a public grid: a company record costs 1 credit, a search result 0.1, a PDF or XLSX document 3, a financial score 30. The entry plan recorded in August 2026 is 500 credits a month for 30 euros, with tiers up to 100,000 credits, a discount on annual commitment and a Pay As You Go option with no expiry. The real cost driver is not the price list, it is the number of calls: a decent cache and extra fields requested deliberately cut the bill in half.
It depends on what you have to do with the data. To verify a SIRET and prefill a form, the INSEE Sirene API is enough and it is free. To build a compliance or onboarding file, Sirene is not enough: it holds no directors, no beneficial owners, no deeds and no accounts. Pappers aggregates those sources and delivers the documents as well. We often recommend a two-tier architecture, with the public source for basic identification and as a fallback, and the aggregator for the enrichment that carries value.
Annual accounts, yes, through the API, as PDF, XLSX, text or JSON, each billed according to the credit grid. Beneficial owners require formal clearance, and their most sensitive named fields, such as full date of birth, nationalities or home address, require an additional clearance and a dedicated parameter. In other words, nobody can promise a complete compliance module without settling that point up front. We check it during scoping, before pricing it.
The API stops answering. It is not a technical outage, so no standard HTTP monitoring anticipates it, and on monthly or annual plans unused credits are lost at the end of the period. We systematically wire up balance supervision with a threshold alert and an application circuit breaker, plus a fallback on a free public source for basic identification: the signup form has to keep working even mid-month with the budget spent.
A Pappers integration project?
Let's talk. 30 minutes to scope your need, project your credit consumption and tell you honestly what is feasible.
Discuss my Pappers project


